VB.NET vs. C#, round 3?

VB.NET gets a hard time from C# developers. For a variety of reasons, the leading .NET programmers seem to be working in C#, and VB.NET developers get really tired of saying, "Hey, VB.NET can do that, too!"

The VB crowd's got something new to talk about, though. One of the big announcements at MIX07 was the Dynamic Language Runtime, which will support Python, JavaScript (EcmaScript 3.0), Visual Basic and Ruby. No C#. Has VB.NET picked up a cool trick that C# can't do?

Is this VB.NET vs. C#, round three?

Now, to be clear, this is VBx, as in VB 10 - the version that will ship after Visual Studio 2008 (nee. Orcas). Still, dynamic languages are so hot right now, and this is a much cooler differentiating feature than being the language of VBA and Reporting Services Expressions...


  • I think you may have misunderstood what DLR is, and its relation to VB.NET.

    From the article, DLR will be able to run legacy Visual Basic (i.e. what came before VB.NET), this isn't VB.NET getting a new feature AFAICS.

    So this doesn't appear to be VB.NET vs C#.

    I don't think there should be this great big "language divide" though. It all works and gets the job done. If a company has a long-lived investment in VB it make sense to stick to that rather than retrain everyone in C#, losing productivity.

    For me, I just find C# more readable (but that's because I'm used to c-like syntax).

  • C# wasn't made to be a dynamic language, kinda like how vb.net wasn't made to be compiled, it was just kinda hacked together to compile :p.

    ok it was made to be compiled then hacked away to be interpreted, but i hope people don't try to hack away c# to be interpreted.

  • If you work in VB.NET you will always and forever be protesting, "hey, VB can do that too!". It's not fair, and it's not right, but for better or worse, with VB you will always be working against negative perceptions ("toy language"), and with C# you will always be working with positive ones ("serious language").

    IMO, Python, Ruby and JavaScript (and perhaps one day Smalltalk) fit the DLR like a glove. VB.next probably doesn't fit quite as well, but can get along quite well. C#, I don't think is a great fit, nor would I see much demand for it. That's not the market MSFT would be going after. They are after the dynamic language enthusiasts.

    The C# people will likely gravitate towards JavaScript, Ruby or Python when they want to work on the DLR. JavaScript because they already know it, and it's becoming a "cool" skill; Ruby for the really trendy younger devs; Python for those who like to be a little bit more exclusive. I don't see your average C# developer doing VB on the DLR in droves when the other choices are available.

  • I actually agree with you that VB.net developers are always working against the negative perceptions. But something I found that can smack those people, if you have the time, is to write the same thing from scratch in C#, then ask them if they can do it. :-).

  • I am a vb.net guru and I am currently working with the almighty C# and I have to tell you it is not any diffrent then VB.net. I actually think diffrent then many of you. To me all languages are just tools. It is the logic that is powerfull. Its true what I can do in VB.NET I can do in C# some things are easier in VB.net some things are easier in C# or look harder in C# becuase it is more OO creating classes and not methods. Just think about it this way most people are right handed and to get them to be left handed is impossible but if you can simulate the way you use your right hand using your left you will learn how to use your left hand just like your right hand. I think that the divide is in the programmer not in the language.

  • from my experiance things are a little bit harder in C# than VB.NET. This is mostly because I come from VB background and a not a windows C background. I notice it being different when it come to data manipulation and setting up events.

    If I had a project that time and cost did not matter I would complete it with C# to learn it more, but for now my quick and 'dirty' work will be done with VB.NET because I can create things rapidly with it.

  • Quick and dirty!

Comments have been disabled for this content.