March 11, 2005

My response to "VB Classic"

Right now, there is a huge uproar about Microsoft ending support for Visual Basic 6, which was released back in 1998. There's even a petition out for Microsoft to update VB6. has a very insightful response regarding this whole debate, and I felt compelled to reply to his post.

Here is my reply in full.

I've been a VB dude since VB 2.0. While I loved the language, I occasionally felt limited by what it could not do without major "tweakage." My copies of "Pure Visual Basic" and "Hardcore Visual Basic" are dogeared beyond recognition.

I was working at Microsoft when Beta 1 of Visual Studio .NET was first released. I installed it, and I ported over a source-code analysis tool that I had written in VB6. My first thoughts were that VB.NET was never going to replace my beloved VB6. The performance wasn't there, and some of the language constructs just seemed odd.

However, I kept working with VB.NET. I filed bugs against the Framework as I found them, but I kept hitting my head against the wall as my old VB6 coding habits were in direct opposition to how VB.NET wanted me to code.

Then, one day, I had an epiphany. The transition from VB6 to VB.NET requires a mental shift, the same mental shift that moving from DOS coding to Windows coding required.

I decided to try to learn VB.NET as its own language; not as a syntax-changed VB6, but as a revolution in how Windows programs were to be developed.

I used by old source code analysis program as my test bed. I learned how to properly handle Strings in a quick, efficient manner. I relished in how easy it was make custom controls. Calling into DLL's was significantly easier because I didn't have to make the mental shift from int to Long, short to Integer, etc. By the time VB.NET was released, my VB.NET version of the analysis program was running at triple the speed of the old version.

Now with Visual Basic 2005 getting unsigned types and operator overloading, I have all that I could possible want out of Visual Basic. I've got a first-class language on a first-class platform.

Paradigm shifts are difficult to handle. Not everyone was able to handle the shift from DOS to Win16. Not everyone was able to handle the shift from Win16 to Win32. You're hearing the dying wheezes of those who can't (or won't) handle the shift from Win32 to WinFX.

Evolution is difficult to watch, but those who cannot adapt to change become extinct. It is the way of the world.

No comments: