I’ve taken some time out today to go over some of VB.NET’s language features and general "dialect".  It’s a very odd language and seems as if it has been patched together from remnants of a shabby past.  There are language features that still exist in it which are both nonsensical and medieval, for example "Sub" which doesn’t seem to relate to anything.  Modules are a way to call statically from a console application, instead of starting the application through a form, yet are more of a deprecated VB6 feature.

Everything I’ve worked with feels to me as if the VB6 developers just really didn’t want to let go of the language after it became a language of the past with competing languages steadily overtaking.  The grammar behind it has been changed into less understandable things based on everything that is taught in the computer science field such as static memory, public, private, and protected access modifiers which are a common grammar amongst many-a-language.  Don’t get me wrong, I don’t have a problem with coding in it, and I’m already getting the hang of it, but it just feels as if pushing .NET on VB was a "last hope" of making the language last another 5-10 years.

Sure, it’s all a part of the .NET framework, so the language doesn’t particularly matter all too much, but I honestly don’t see the big hype around it.  For a start, it’s nothing new, runtime environments were around for years before .NET came on the scene.  The library features just feel like a direct copy of the JDK (another reason why I shouldn’t have much of a problem with getting on with it), and the language itself has just been made to be more understandable, although I believe that’s far from the truth.

Understandability, of course, doesn’t just come from a natural use of language when it comes to software development.  As developers, we’re taught to use a standard set of language features, and these are typically copied over into other languages.  Compare, for example, C, C++, PHP, Java and more.  If you can get on with one of these, then there’s a good chance you’ll feel comfortable with the rest.  Some other languages overstep the bounds however, although it does confuse me greatly, because C# fits into a category snugly with Java.

So finally I have to sum it up as follows:

  • It’s nothing new
  • In effect, it could reduce productivity due to its highly different nature
  • It’s all a part of .NET, therefore language doesn’t have much of an impact, this is down to familiarity more than anything
  • It’s an old language that has been revived

Again, this doesn’t mean I have a problem with it, and I’m more than happy to work with it, and what I have learnt so far is great as I’m feel more comfortable with it.  Perhaps I’ll learn to love it even more so in the future, but I’m honestly shocked at how vastly it is used in the industry today.  In fact, a good four or five colleagues of mine are using it in full-time jobs.  I guess of course, it’s entirely dependant on the application being developed.


Rss Commenti

4 Comments

  1. It seems to me that VB.Net came about because Microsoft realised that so many business used VB6 as their main development language. If .Net was released without a VB6 like language then all those business that used VB6 would be unlikely to want to re-train their staff in a completely new language. VB.Net was a way for VB6 developers to learn the newfangled, fancy-pants, cutting-edge (I’m quote someone here) object-oriented development without having to learn a new syntax.

    The difficultly with having two very similar but inherently different languages (VB6/VB.Net, Java/C#) is that some developers will think that the optimal way to do something in one language will be the same in the other. This can lead to some really nasty, slow running, buggy software.

    On a side note - modules aren’t just for bootstrapping. They’re buckets for static methods that developers can’t be arsed to put into classes. IMHO if you’re using modules you haven’t understood what OO programming is about.

    #1 Adrian Ritchie
  2. VB6 and previous was *massively* popular among self-taught business coders because it was so easy to learn in comparison to ‘proper’ coding environments - and I use that in a toungue-in-cheek way; VB6 was technically pretty nasty but it did pave the way for a lot of less hardcore techs, which is what the industry needed at the time. As such MS had to provide for these people rather than push them in the direction of the kinds of languages more traditionally trained coders might have chosen. As it was, many VB6 coders protested loudly at the amount they had to change their VB code to work with .Net, so they couldn’t have really changed it any more. I wrote a bunch of VB 10 years back simply because in Guernsey it was the most likely skill to be able to pick up from the local talent pool, sadly. The same goes for .Net now - I personally wouldn’t choose to use it because I like being cross-platform, and I feel it’s constantly playing catch-up with other environments in terms of good libraries, but the fact is that locally there’s a massive bias towards MS tech, much greater than you generally find elsewhere, and so most coders are .Net trained. It may not be best of breed, but it’s the easiest to use and a relatively ’safe’ bet. If you’re stuck with something sub-optimal, then so are millions of others and I guess there’s comfort in that ;)

    Weird comment: your blog seems to be set to Spanish! All the standard fields say things like ‘Nessun Commento’ :/

    #2 Steve
  3. It’s a shame it’s becoming such a standard in the industry though. Of course I’m always going to stick next to tech which doesn’t inherit the “vendor lock-in” idealism (except from in my job). I will be using languages such as Java in my work though, I believe.

    Yeah, it was a Spanish WP theme, I still need to translate those little bits ;)

    #3 Kieran
  4. @Adrian: Yeah, I heard some of the VB developers saying not to use modules. So is it me, or are old, and unused features of the language still incorporated? Shouldn’t they just be deprecated or do they really have a use?

    #4 Kieran

Post a comment

You must be logged in to post a comment.