Wednesday, November 17, 2004


What at first seemed like a simple trend is being confirmed as a naked fact: VB .NET programmers are paid a 26% less than C# programmers, on average, on the United States. On the link I've referred you'll see a graphic calledC# gets the bick bucks, where you can see it clearer than crystal water.

The usual focus over these two languages makes me quite mad. For example: you still see VB and C# as separate course on tech seminars, courses, bookstores and so on. There are books published over a general .NET framework topic, but they publish it focused on C#, and then they transform it to VB .NET, or the other way around.

And beware, I don't believe this to be the publisher's nefarious plan for making more money: I believe they just do what they think the market is asking. Or, to say it clearly, this separating of contents is a clear indicator that bookstores, publishers and seminar-makers believe their customers are too stupid to realize a simple and fundamental truth: the only thing that matters is the framework. Which language you use to handle that framework is less important.

If you carefully compare any book about .NET application development either on VB or C#, you'll realize that at least 95% of the given information is identical between both languages. This is a radical change from Visual Studio 6, with that C++ programmers had MFC and ATL: two huge frameworks we VB6 programmers didn't need to know. Here, the framework is one and the same: the differences are mainly syntactical.

I started on this field as a VB6 programmer, and I've had to endure a lot of shit along the years: it's a kiddie's language, all VB programmers are bad programmers, coding VB6 you'll never be l33/, yadah yadah yadah puke!

I've had this kind of stupid discrimination for years (as if using a simpler tool made you automatically more stupid), and now it seems it's not over. Even though VB .NET is not Visual Basic 7, even though VB .NET is completely and totally object oriented, even though VB .NET is every bit as good, fast and stable as C#,... even though all that, if you prefer VB .NET before C# you're stupid. Or incompetent. Or, simply, you just make less money.

I learnt the little C# I know the same way I learnt the little VB .NET I know: on my own using books, playing with it at home and working with it at the office. Taking into account my VB6 programming origins, with more than 6 years of VB6 working expertise, which language do you I think I found harder to learn?

Visual Basic .NET. Hands down.

It's syntax is dangerously similar to VB6, so in the beginning you think it's all the same but with more features. And no, it's not the same: you have to learn the framework and change your programming mind set to OOP. Just when you begin understanding this paradigm change, then it's when you start liking the language and the environment. Changing to C# after that is a simple question of syntax, no more no less.

For example, as I was learning VB .NET, I had a book with me at all times: Programming Microsoft Visual Basic .NET, by Francesco Balena.
It is, hands down, the best and more exhaustive book I've read about .NET. And now, even though the vast majority of the code I write is in C#, it's still my preferred tech book, and the one I use the most. Even though it's published for a language apparently different.


Post a Comment

<< Home