TheChaseMan's Frenetic SoapBox

Always looking for better ways to do things...

Review: Richard Grimes on .NET

I took this Dr. Dobbs article as a rant for the most part, and ended up rolling on the floor laughing about some of the VB.NET-specific content. I have to take the opportunity to quote part of the article...First, he has a few choice words for VB6:

VB (VB6) is single threaded, does not have exceptions, and was typically used to write non-OOP code. But with COM, and COM security, it (VB6) had gone as far as it could and could not provide what C++ could do in a few lines of code.

Then...the priceless rant about VB.NET:

Some people regard VB.NET as wonderful. I really don't see the reason for the language. There are a few features that other languages do not have (exception filters and renaming interface methods are two), but these are not good enough reasons for a new language. There is the argument that VB developers would be more comfortable with VB.NET, but as I've said, VB.NET is not VB, and since a developer would have to learn principles of OOP and .NET principles like threading, exceptions, and delegates, the developer may as well learn a new language. C# is the natural language to use for .NET and there was no need for VB.NET. Semicolons and braces are not so difficult to get used to! Instead, we have a language that's .NET, but not quite all there. In my opinion, the Common Language Specification (CLS) was created simply to make sure that other languages could create code that would work specifically with VB.NET code, rather than making all languages work with each other. I understand that signed integers are useful, but so are unsigned integers! I do not understand why VB.NET cannot have unsigned integers as part of the language. I think that case insensitivity is juvenile, there is no excuse for using Option Strict Off (“late binding” is a synonym for “hard to find run time bugs”), and it’s easy to lose track of your variables if you don't explicitly declare them. VB.NET has serious flaws that are not counteracted by the few benefits it gives.

So why did Microsoft create VB.NET? The answer is that in 2000, the number of VB developers exceeded the number of users of Microsoft's other principle language, C++, by at least a factor of 10 (these were figures I saw at an internal Microsoft meeting). Microsoft made a big point in announcing that C# was another language "from the C++ family" and the marketers judged that they could not get all of those VB programmers to use a C++-like language. Instead, they judged that they would be more likely to get a fair proportion of those VB programmers to move over to .NET if Microsoft generated a VB-like language. In other words, the reason for VB.NET was marketing and not technological.

Be sure to read the entire Dr. Dobbs article. It is definitely worth the 10 minutes.  :-) 


Digg!

posted on Monday, February 21, 2005 11:03 AM

Feedback

No comments posted yet.