Wednesday, October 20, 2004

VB.Net vs. C#

I started out programming by teaching myself Visual Basic 6.0. After programming for a bit, I decided that I should get some formal education, so I earned my Master of Science degree is Software Engineering.

I worked for 5 years programming in VB. I struggled with ASP for awhile, too. So when the alpha release of Visual Studio .Net came out, I couldn't wait to get my hands on it. VB.Net was a change from VB 6.0, but I didn't find the move to be too painful. ASP.Net was like heaven compared to the previous version of ASP. I was excited to leave VB Script in the dust and have a full version of VB at my fingertips when building web apps. And the automated state handling in ASP.Net was another leap ahead for me. I have been working with Visual Studio.Net ever since, and I have never missed the days of Visual InterDev or Visual Studio 6.0.

When VS.Net was released, so was this new language written by Microsoft called C#. Within my VB community, C# was dismissed as a Java-wannabe. Since Microsoft has pledged to back VB.Net, we saw no reason to change. All the curly brackets and semi-colons gave me the shivers, anyways.

So last February when I decided to move to a new company, and my new company is a C# firm, I swallowed hard and cringed as I embarked on my adoption of the curly brackets, case sensitivity, and semi-colons. Thus was born Val the C# Gal. Although there are some syntax differences that take time to become accustomed, it has not been a big deal at all. I have not seen anything huge in C# that was missing in VB.Net and vice versa. What I have noticed, however, is that the mentality of the C# group is quite elitist. So why is that? Why do C# programmers so vehemently disregard VB.Net as a viable language? Why do C# programmers so quickly dismiss VB programmers as somehow inferior in intelligence?

I have worked with amazingly brilliant engineers on both sides, and I don't understand why the C# community feels that if someone chooses to continue crafting code in VB rather than porting over to the C# side of the tracks that the VB engineer is lesser for the decision. How do you feel about this?

4 comments:

RG said...

Hmmmmm. I have a couple of conflicting theories:

1) VB is historically an easier language to learn for newbies, meaning that there is a lot of code out there written in VB that sucks. Hence, the snobby response by *real* programmers to VB.

2) Non-VB programmers feel intimidated by the sheer number of developers who prefer VB, and are quickly creating software that is actually being used by real people. Hence, these non-VB programmers feel threatened and the need to lash out emotionally. Think "bullys with undersized genitalia". (Just trying to create a little controversy with your new blog to help you get noticed!)

Personally, I don't think the language wars matter that much, but then I don't have to listen to snotty comments by other developers. Why some people feel the need to denigrate the language choice of others is beyond me. Personally, I don't care for Java, but I don't run around telling everyone that it is crappy, etc. But then, in my case I have better things to do with my time.

Phil Weber said...

Val: Please turn on your Atom feed! I'd like to subscribe. Thanks!

Valerie Vogt said...

I have added a link to the ATOM feed.

I always wanted to respond to John Howes by saying not all C# programmers are elitist :)

Anonymous said...

One thing I've certainly noticed is that most non-RAD tool programmers think RAD tools are for sissies. Basically, because you are more productive and can lay things out visually, you must not be as low-level and 1337 as non-RAD people. What's funny is, a lot of RAD tools let you dig into the low level quite nicely while still making your life very easy as a programmer.

The other major issue is that people see so many horrible-looking VB and RB programs out there so they must think that the tool itself is bad. What they don't realize is that those languages are so easily attainable for people new to programming that it's just plain easy for people to make poor UI decisions. It's not the language's fault that the users make poor decisions. But with languages like C#, C, etc, the bar is set so much higher that by the time you get around to messing with UI, you've already figured out how to make your application look reasonable since that's comparitively easy.

~Aaron [http://ramblings.aaronballman.com]