How long can a coder hold a grudge? Sherman, set the Wayback Machine to, oh, about twenty years ago.
The year was 2001, and Microsoft was cooking up something called the .NET Framework. I was in college, but had been developing personal projects for myself and others for years, mostly using Visual Basic. So naturally I followed any news on the future of Visual Basic with great interest.
Rumors abounded on the fora and newsgroups of those olden days.
(“What’s a newsgroup?” I hear some younger coders asking. But that is another story for another day.)
Some rumors were exciting.
VB.NET would support inheritance, the long missing piece of the Object-Oriented PIE pie. Without this, VB was often described as “object based, not object oriented”.
The VB compiler would also be released as a freely downloadable command-line tool. No need to overcome the then-significant cost barrier of purchasing Visual Studio!
Other rumors were disappointing.
VB.NET would not get its long-sought standalone EXE compilation. On the contrary, it would be dependent on a 19-megabyte .NET runtime download, just to run “Hello, world!” (Cue 56.6k modem noise.)
And the Visual Basic language was changing dramatically. In fact, VB.NET broke backward-compatibility with VB6. The changes were so significant that many complained the new language wasn’t even Basic anymore.
One critic coined the pejorative name Visual Fred to emphasize how different the language had become — a name that can still be found today in both the Jargon File and the Urban Dictionary.
But this is a story of a single change to the language. A change that is — in my opinion — the most useless change.
Continue reading →