Tag: visual basic
VB.Net just doesn’t cut the mustard for me
by Mez on Jun.13, 2009, under Geeky, Personal, Rants, Rants
So, this morning (or yesterday morning, as it is now!), my attention got drawn to Wolfgang’s post regarding VB.Net. While I understand his point, I’m not too sure whether I agree with it in it’s entirity.
When I first started programming, I learnt how to write Basic. I don’t mean Basic as it stands nowadays, but Basic as it was back then (or should that be BASIC?). I learnt to code while I was wheelchair bound, as my father thought it’d be something interesting for me to do. It taught me the basics of programming, and I stemmed from there, moving on to learn Perl, then PHP, then C, etc etc etc.
The first time I ever wrote an application for a Modern computer, I wrote it in Visual Basic. I loved it. It was so simple to use, and I could use everything I’d learnt (apart from stuff like Music Envelopes etc etc) with ease in it.
Since then however, the world of programming has moved on. People have discovered Object Oriented programming, and found new and better ways of describing the data structures and logic behind an application. I have also moved on, I no longer write my own code in Visual Basic. I’ll generally use a tool more suited to the task.
I do, however, have to maintain some VB.Net code. In fact, it’s the code that Wolfgang mentions in his article. I can fully understand why the original subject’s response was “Urgh!” – the code is horrid.
I don’t neccesarily, however, think that this is because of the coders themselves. While this may have contributed (I’ve had many a “WTF” moment) – I think that the main problem behind it is the fact that it’s an Object Oriented design written in a language that’s tried to shoehorn Object Orientation into it’s core functionality, where the core functionality should probably never have had something like that done to it. It sits in my mind like some bad genetic experience resulting in some sort of mutated behemoth.
VB.Net, to me, just seems like a poorly made implementation of something it was never originally designed for. Wolfgang mentions that the ease of use of the Basic Language allows a user to start working without having to dive straight into OO programming, as would be forced onto you using something like C#, and in a way, I agree. The thing is, that Basic, as Wolfgang rightly said, is meant for beginners, after all, it was originally an acronym. “Beginners All Purpose Symbolic Instruction Code”. This, in my opinion, is where it should stay. Basic is great for beginners, and VB6 was amazing. But, the advent of VB.Net means that programmers are going to start writing OO code in Basic, something it was never designed for, and to that end, fall into pitfalls and misconceptions where they have been led to believe that the VB.Net way of doing something is the de-facto standard. When they come to start working in another language, they have to re-learn things from scratch. If their experience is in a corporate environment, then their skills are only transferrable to something also written in VB.Net, and rarely anything else.
Basic is for beginners, it was never designed for the more complex stuff, which should probably be left to languages that were designed to handle it.
