Letting go of Visual Basic
(my former life as a programmer)

GOODBYE VISUAL BASIC, GOODBYE
msdn-CDsToday I finally said goodbye to Visual Basic. I made a decision to throw out hundreds of DVDs containing software worth thousands of dollars. For about six years, I was awarded Most Valuable Professional by Microsoft and because of that I annually received two complete Microsoft Developer Network subscriptions, one from Microsoft Japan and one from Microsoft U.S.A. I have finally decided that I will never need to install or use this again, even though it was a big part of my life for so long. The software, programming books, computer hardware and other perks, came to me because of my work with the Visual Basic programming language. VB allowed me to create some pretty good software and I really loved it. I used VB from version 3 through version 6 and I would probably still be using it today if I had the choice. Unfortunately, Microsoft made a very misguided attempt to re-invent the language starting in about 2001 and decided to change it into something totally different.

MY LIFE IN A JAPANESE COMPANY
In 1994 I joined a high-tech Japanese company in Yokohama, Japan and so I moved from a hobbyist in the BBS world, using command line FTP clients and dial-up modems, to a professional developer with access to multiple T1 connections, cutting edge hardware and a whole new internet protocol called http using “browsers” like Cello and then Mosaic. The world was getting smaller and that was fine with me. Being an American living in Japan, I really loved the fact that I could communicate with anyone, anywhere for free over the internet. It was sort of like short-wave radio, only so much better, and there was a whole world of servers and new technology to explore.

In the early 90s the smartphone had not been invented yet. Internet giants like Yahoo, Google and Facebook had not yet appeared. Killer applications like Wikipedia and GMail were yet to be invented. Videochat was a new and exciting emerging technology. In 1995 I was assigned to the Multimedia Product Development Division in my company and became part of the team that ported Cornell University’s iconic CUSeeMe software to Windows and to Japanese.  We ran the official “reflector” servers for CUSeeMe in Japan and we hoped to sell lots of hardware webcams to the growing market of computer users in Japan. Eventually, it was decided that my company would try writing original software that made use of video so we could bundle that with our hardware inexpensively.

I had been trained on programming languages such as ASM, C, and then C++. There were new languages popping up like Java that held great promise. But when I was assigned to write new software for Windows 3.1, I decided to try Visual Basic 3.0. I wrote a screensaver to learn the basics. Then I wrote an app to control playback of Video CD discs on Windows. Because there was a great community of developers on BBSs (especially CompuServe) who then migrating to the nntp (especially the Usenet) and eventually on to http websites, it was a great time to be learning about computers, programming and the internet. I learned from the VB masters like Dan Appleman, Matthew Curland, Karl Peterson, and the whole CCRP gang.

BECOMING A MICROSOFT MAN
Eventually, I was put in charge of a team that was developing an original videochat application software for Japan. By this time I was using VB4 and the big change from 16-bit Windows 3.1 to 32-bit Windows NT was happening. I spent about 12 hours a day working in Visual Basic and understanding the internals of 32-bit Windows and the way video-capture and video playback happens. By the time we finished the video software I was somewhat of an expert on using the the Win32 API and the Visual Basic programming language. The internet community had trained me and I felt it was only right to give back so I spent a lot of time helping to teach other aspiring VB programmers on the Usenet. I was awarded Most Valuable Professional status by Microsoft the first time in 1999, and being a VB programmer felt good. It seemed like computers and the internet were still young, the possibilities were endless, and I had a great tool to explore everything the Windows OS was capable of.mvp-2003

By now, I was a loyal VB programmer and I was loyal to Microsoft and MS Windows. In my spare time I released some free software tools written in VB. I even made some money on the side by taking contract programming jobs for custom sports and medical applications that used video capture. I continued to be awarded Most Valuable Professional status by Microsoft for five years.

VB4 was better than VB3. VB5 was a LOT better still. VB6 was another improvement. I was making good money with my knowledge of Visual Basic programming. I assumed that things would just keep rolling and getting better. Microsoft was sending me goodies every month, software and hardware – even perks like buying items in the Microsoft employee store.

When MS released a “Multimedia Jumpstart CD” for their new Windows NT Operating System, they included my software on it as an example to multimedia programmers. They even invited me to Redmond to talk about how I had done the video capture and compression and video overlay all in Visual Basic using functions already built-in to Windows NT. And then came the big surprise.

mvp-goodie
THE BEGINNING OF THE END
I think it was in 2001 that Microsoft invited me and all the Visual Basic MVPs to Redmond and had a big event to announce VB.NET. The project manager for the new version of Visual Basic, tried to sell us on the new features of VB.NET but we soon realized that it had already been decided that VB as we knew it was going to die. I had the sinking realization that all of my old code and all of my expertise as a VB programmer was going to be thrown out by Microsoft just because they were afraid of the growing popularity Java (and indirectly Linux and also Google). Instead of letting VB be what had made it so popular they tried to leverage the popularity of the name and developer-base to sell their gamble on a totally new concept. The .NET team seemed driven by a vision of .NET becoming some kind of meta-OS that could take over and be ported to run on any Operating System. I got the feeling that they truly felt that all VB programmers would see how wonderful it was that they were going to change the language and even the purpose of the language. They simply felt that classic VB was holding back progress. I’m sure they sincerely believed that Java would take over if they didn’t sacrifice the Windows-centric API and COM based VB Classic and move as quickly as possible to some amazing miracle product. Now, over a decade later, it is pretty obvious that this was a mistake.

Visual Basic was one of the top 3 most popular programming languages in the world in the 90s and that is pretty astonishing given that it was a Windows-only language. Each version of VB increased in popularity until the age of VB.NET. Google Trends doesn’t go back to the 90s but look what happened in the 00s…

EULOGY
Even this year, articles are being published and petitions are being submitted for Microsoft to bring back “Classic Visual Basic”, or at least to open source the code so that the developer community can own it and bring it into the 21st century. But I have resigned myself to the fact that VB is dead. Microsoft will not bring back their best Windows programming language and I will not try to learn their new ones. I already hear rumors that VB.NET will be discontinued because it is similar to (and not as popular as) C#…