Geeks With Blogs
CodeSeeker Just another developer trying to do the right thing

The age-old question. And the first answer should always be: "Yes." Because they both use the same .NET Framework classes, they both compile to the same intermediate language, and there is functionally no difference between the two. Syntactically, they are different, but they can both do the same things.

That being said, I will admit that I have a bias towards C#. I am currently working in VB, but that's not completely by choice, that's just what my current group uses. I like that because I'm learning something new and VB does have a significant user base. But most of my programming experience is in C#, Java, and C/C++, all of which have similar control structures.

But the other thing that recently convinced me that C# is better than VB doesn't have anything to do with the language itself, but with the community around the language. I went to a talk at the local .NET User Group on a new technology called LINQ. LINQ is not quite ready for prime time, but has already gone through a significant evolution. From what I gathered at the meeting, LINQ support for C# evolved prior to its support for VB. Examples were in C# before VB, etc.

This is a common theme that I encounter as I Google answers to my technical problems: I find advanced programming examples in C# many times more frequently and much easier than I find them in VB. It seems as though there are more sophisticated C# developers than there are sophisticated VB developers.

This makes sense from a historical perspective (however recent). C# grew out of C++, hence C. The C/C++ developers historically have been scientists working on very sophisticated problems. VB grew out of BASIC and its subsequent versions (of which I have worked in a couple). This was not a language that was historically used to solve very complex problems. When I first learned it in 8th grade and at the Community College level, it was convenient as a language that was easy to learn and good for teaching basic programming concepts in (hence the name, BASIC).

So, although the religious arguments will rage on about which is better, I will throw this additional opinion and viewpoint into the fray. Do with it what you will. Posted on Monday, July 23, 2007 11:26 AM | Back to top

Copyright © Mike Ellis | Powered by: GeeksWithBlogs.net