Jim Rogers

Lives in Baton Rouge, LA, with two dogs, one cat, and one lovely wife. I'm a lead developer for GCR Incorporated.

Katrin and Jim

Month List

C# vs. VB.NET

by Jim Feb 25, 2010 5:00 PM

While reading the comments on the post Constraints are not part of the signature (which is interesting in itself,) I found this little gem in the comment section. It’s from the post author, who is a language designer at Microsoft (emphasis mine.)

Reasoning about C# design choices by pointing out that VB does it differently is not compelling. The VB language designers are building a different language and are making different design choices, in accordance with the design principles for their language. C# has always been a "complain loudly if something looks potentially incorrect" language, and VB has always been a "do your best to figure out what the user meant even if it means sometimes guessing wrong" language. Both philosophies are sensible and useful, and we offer you the choice.

That is a fundamental philosophical difference between the two languages.

This reinforces my impression that VB is designed for beginners. If you don’t know enough to tell the compiler exactly what you want, then VB will try hold your hand for you. The tradeoff is that you might not get the executable you were hoping for.