Why is Visual Basic bad?

Posted in Programming, Uncategorized at 5:52 am by Toby

In a series of posts starting with Stiff asking a few programmers a series of open-ended questions about programming and being commented on by a few people including Jeff Atwood on Coding Horror. One of the comments was on how Linus Torvalds had made a small comment about how Visual Basic was quite instrumental in moving forward the cause of programming (moreso than more object-oriented languages).

For example, I personally believe that Visual Basic did more for programming than Object-Oriented Languages did. Yet people laugh at VB and say it’s a bad language, and they’ve been talking about OO languages for decades.

And no, Visual Basic wasn’t a great language, but I think the easy database interfaces in VB were fundamentally more important than object orientation is, for example.

I am opening myself up to be flamed badly here, but I think most of us would give a grudging respect to visual basic – even while burning Visual Basic books and chanting incantations of exercism on those still aflicted with the ill. Visual Basic was easy to pick up, it really put the rapid into rapid application design (though I think the phrase was introduced by Borland). It allowed very fast proto-typing, it allowed the creation of COM objects and ActiveX controls faster than anyone had previously though possible and it is was so much faster to generate code in than C++ that any company that wasnt writing device drivers in the mid 90’s to late 90’s would have been very foolish not to at least investigate its use in their development departments. It was also from Microsoft so “had to be good!”.

So what went wrong?

I can’t abide Visual Basic. I started learning a newly released product that I had saved up my pocked money to buy back when I was in university in 1995. It was called Delphi (I was one of the few people who didnt learn Pascal in university – instead I did POP11 – I studied Artificial Intelligence). Delphi had it all it. It had everything Visual Basic had, it made making Windows applications a breeze, it came out of the box with about 120 different components (Visual Basic at the time came with about 30), it was easy to create and on top of all this it gave you the control that Visual Basic did not when you wanted to dig a little bit deeper. I thought myself Delphi, as many people did and have remained a huge fan of this great system from then till now (although one must wonder how much longer it will last), I believe it was superior to Visual Basic from the day it was released to the day Visual Basic was axed (I dont count VB.NET), but history has shown that these emotional responses have little to do with the reality of the sucess of a product. As the 90s passed Delphi held it own while Visual Basic exploded out of all control possibly becoming the most utilised business software language in the entire world*1.

I inserted the previous paragraph by way of saying I am not a Visual Basic fan, but yet I am going to defend it after a fashion. The problem with Visual Basic is again as with so much that touches our lives – Microsoft.

Microsoft are responsible for the dirth of rubbish, unmaintainable, badly written, memory leaking utilities, business applications, enterprise applications and help us Lord mission critical applications running on almost every machine in the world that runs windows. They know this and that is the reason they created VB.NET and ensured it was not backward compatible and would require often an entire rewrite to get a VB6 application working on VB.NET. You see Visual Basic was victim of its own sucess.

I may be naive but I don’t think Microsoft actually ever expected Visual Basic to become quite the monster it did. I think they had a nifty idea to release a RAD application development environment for people to play around with. Maybe it would help some students to learn programming, write that little app for their parents business and then they’d move on to a ‘proper’ programming language like C++, but it didnt work like that. Sure the students learnt it, they wrote that application for their parents business, maybe they even sold a few copies of it to their parents friends who ran businesses, but then they went out and tendered for work against software houses writing in C and C++. The VB guys could do it in a third the time and at a third the cost. The people buying the time didnt know or care whether the language it was going to be written in was up to the job.

Further details to follow.

*1 – I made this statistic up, I dont know if it was but it certainly seemed like it.