Ni som suttit i båda dessa språk, vad ser ni för för- och nackdelar i dessa två ställda gentemot varandra?
Det första jag kommer att tänka på är att jag föredrar exempelvis C# typkastningar:
C#
// alt. 1
Button buttonSubmit = sender as Button;
// alt. 2
Button buttonSubmit = (Button)sender;
VB
Dim buttonSubmit As Button = CType(sender, Button)
Dim control As System.Windows.Forms.Control = DirectCast(sender, System.Windows.Forms.Control)
M.m.
Vad anser ni?
Jag föredrar C# av flera anledningar.
Dels verkar det vara mer utspritt i Sverige, dvs lättare att få hjälp.
Dels blev det för rörigt för mig att gå från VBScript till VB.NET och släppa det "gamla" tänket.
Dessutom påminner syntaxen om javascript, vilket underlättar, så man inte glömmer parenteser i if-satser, dubbla == och semikolon, när man skriver javascript, som man alltid gjorde förr.
Jag ligger mer på det psykologiska planet, jag kan inte hjälpa det med C# känns mer professionellt. Jag brukar säga att jag inte gillar VB-kulturen så där grundar det väl sig. Jag läste en artikel för ett år sedan vet inte hur relevant den är nu.
http://www.codeproject.com/KB/dotnet/CSharpVersusVB.aspx
In concrete terms
What does this mean in concrete terms? What impact does this have on today’s application development? How does the decision to adopt Visual Basic or C# affect programs written today and tomorrow?
1. 80% of C# programmers are good, while 80% of VB programmers are not good. This is not to say that everyone who programs in VB is less skilled than everyone who programs in C#. This is to say that:
1. the VB syntax and semantics is designed to attract less skilled programmers and, in combination with other factors examined above, this has created a culture that is populated with less skilled programmers.
2. and because VB syntax and semantics make it more difficult to avoid common programming errors and hence to program well.
2. Hiring a good C# programmer is easier than hiring a good VB programmer. This is because of (1).
3. Hiring the average C# programmer costs more than hiring the average VB programmer. This is because the average C# programmer is a better programmer than the average VB programmer, and this is because of (1).
4. Hiring a good VB programmer costs the same as hiring a good C# programmer. There are many good VB programmers, and some of them are much better than some C# programmers. However this is the exception, not the rule.
5. A good programmer accomplishes two to ten times what an average programmer accomplishes, and causes 90% less bugs and headaches.
6. At the time of writing there are probably almost as many good VB programmers as there are C# programmers. This is because there are many more VB programmers than C# programmers. The 20% of VB programmers who are good is about same number as the 80% of C# programmers who are good.
7. In the near future, there will be less good VB programmers than C# programmers. This is because many of the good VB programmers are switching to C#. This is partly because they like the language better, but mostly because they like the culture better. As the cultural separation becomes more evident and self-reinforcing, it will accelerate until there are very few good VB programmers left.
8. VB programmers, on the average, know less about good object-oriented, distributed, loosely coupled application design and development than C# programmers, on average. This is because their language has not supported these notions, so their culture has grown without them. Although these notions are supported now in VB, they are more slowly being adopted than in the C# culture because of cultural inertia.
CatZMedlem sedan jan. 20022 440 inlägg Jag föredrar C# därför att det är lättare att skriva bra kod!
CatZ skrev:
Jag föredrar C# därför att det är lättare att skriva bra kod!
Hur förklarar du bra kod i förhållande till programmeringsspråken?
PaceMedlem sedan juni 20019 024 inlägg Man kan ju använda färre tecken med C# och det påminner mer om Java, Javascript, C och så vidare, vilket gör att man kan hoppa runt lättare. Det ser väl jag som mest positivt.
VB fungerar som en egen isolerad ö, som hålls upp av Microsofts respirator.
(Jag använder själv VB för tydlighetens skull.)
LaspMedlem sedan juli 200012 980 inlägg Det är väl alltid en tröskel när man skiftar språk!
Varför inte kolla in något relativt nytt?
http://en.wikipedia.org/wiki/Haskell_programming_language
Annars skulle jag nog inte jämföra VB och C#
Olika tillfällen kanske?
CompusaMedlem sedan jan. 20023 327 inlägg
Lasp skrev:
Varför inte kolla in något relativt nytt?
http://en.wikipedia.org/wiki/Haskell_programming_language
Både C# och VB (VB.NET för tydlighetens skull) är nyare än Haskell. Hur du kom in på Haskell i denna diskussionen förstår jag inte :q
Lasp skrev:
Annars skulle jag nog inte jämföra VB och C#
Varför inte? Båda används i .NET-platformen.
LaspMedlem sedan juli 200012 980 inlägg OK Nu såg jag inte frågan som implicit om dot net
Ber om ursäkt säger Lasp
PaceMedlem sedan juni 20019 024 inlägg Jag väntar bara på att Brainfuck.NET ska bli kompatibelt med Visual Studio. Sedan är det ajöss med praktiska tillämpningar.
Ännu en C# vs VB är att dom språken börjar dela på sig nu när 4.0:an och senare 5.0:an av C# kommer att släppas.
CompusaMedlem sedan jan. 20023 327 inlägg C# har ett snyggare och mer lättläst syntax. :)
spangoMedlem sedan juni 20008 205 inlägg Bortsett från att jag är vanare vid C-liknande språk, gillar jag C# bättre eftersom det har en mer "funktionell" smak, med bl.a. lambdafunktioner. Allt spännande som händer inom programspråksvärlden, händer med funktionella språk. Sen kommer det långsamt, långsamt till "vanliga" språk.
Plus att VB är så jävla avgrundsfult. Jag förstår inte hur folk kan skriva, än mindre läsa, i ett så snacksaligt och inkonsekvent språk.
tydalMedlem sedan juni 20034 013 inlägg "Real Programmers don't write in BASIC. Actually, no programmers write
in BASIC, after the age of 12."
GladhMedlem sedan maj 20012 812 inlägg Eftersom VB.NET och C# utvecklas av olika avdelningar hos Microsoft så kommer språken alltid att skilja lite på sig. Dessutom så har MS pålagt VB.NET teamet att VB.NET skall påmmina om VB och det betyder att VB.NET alltid kommer ha en ryggsäck som de måste släppa runt på.
Jag tror precis som nickemannen säger att skillnaderna mellan spårken kommer att bli större i framtiden där C# kommer implementera flera saker innan VB.NET som kommer hamla på efterkälken tack vare sin ryggsäck mot gammla VB.
Dessutom så finns det "historier" som berättar om ett företag som skulle precis gå över till .NET (när 1.1 lanserades) som valde mellan VB.NET och C#. Och tillsatte 2 olika team som fick lösa en och samma uppgift i respektive språk. VB.NET killarna han klart med sin uppgift tidigt, medans C# killarna inte han klart. Man valde ändå C# som språk att utveckla med eftersom VB.NET killarna hade skrivit sin kod som i gammla VB6 och inte uttnytjat all funktionallitet som finns i .NET medans C# killarna fick lära sig allt från början och där med fick en mer ordentligt och strukturerade kod.
Så har man programmerat mycket VB6 innan så skall man nog välja C# så man "tvingas" att tänka om och tänka rätt...
Själv föredrar jag C# alla dagar i veckan, då det helt enkelt är ett enklare språk att skriva än VB.NET.
- M