It's almost 2006. Do you know where your Visual Basic is?
If you're still using Visual Basic 6.0, that question is more critical than ever. Thanks to Microsoft's legal settlement with Sun over Java virtual machines a while back, it will soon be completely impossible to obtain a fresh copy of the VB 6.0 installation media from MSDN (or any other source). So if your business still depends on this version, I'd suggest you make a backup (or several) right now. Despite the pleas of some in the development community, I personally think there is absolutely no chance that Microsoft will release a new version of VB 6.0, or a new VB 6.0 compatible version of Visual Basic. So what you've got now is it, and it's time to either move along or protect your investment as best you can.
For the rest of us, of course, 2005 was a year of VB .NET. Although Visual Studio 2005 and .NET 2.0 spent most of the year in beta and were finally released in November, all of my own paying work stayed in VS .NET 2003 and .NET 1.1 (in fact, it wasn't until the first few months of 2005 that I got the last of my customers moved off of .NET 1.0). Certainly VS2005 is going to be incredibly important in 2006, but its role in my universe in 2005 was just to suck down spare hours rather than to play a key role in my business.
So what were the key changes in VB development in 2005? Overall, I think I've seen a continued trend toward more professional development practices in the VB community. VB is still an ideal beginner's language, easy to get started with. Even though VB .NET is more complex than classic character-mode BASIC, you can still pick up the Express Edition and be writing code that does stuff on the screen within a few hours. But that doesn't mean that all VB developers need to stay beginners forever. More and more, you can find professional-level tools that support VB development as well as C# and other languages.
For instance, unit testing and test-driven development are now accepted parts of the VB landscape. Every major .NET unit testing tool support VB out of the box, and plenty of developers know how to write test-first code using VB. When you're ready to take the next step to continuous integration, you'll find that build tools and continuous integration tools (like NAnt and CruiseControl .NET) have no trouble working with VB projects. Sure, there's still a certain amount of C# bigotry to be found on the Web, particularly in areas where old C++ developers have moved to .NET, and are still trying to keep the riff-raff out. But it's rare to find any major tool where VB and C# support isn't equivalent.
Refactoring, too, started to make inroads in VB development in 2005. True, there are a lot of developers who still don't keep a refactoring tool handy, and several of the most popular .NET refactoring tools are focused exclusively on C#. But thanks to Developer Express and their release of Refactor! through Microsoft to owners of VS2005, many more members of the VB community now know about this technique for keeping code under control. Other techniques like object-relational mapping and code generation, while not quite as pervasive in the VB world as they are in C# or Java applications, are also more in evidence than they were just a few years ago. Overall, my impression is that there is a solid professional VB community to complement the well-known hobbyist community now.
Also significant for VB developers in 2006 was the increased openness displayed by Microsoft's Developer Division in discussing their current and future work. Certainly information about VS2005 was easy to come by while it was in beta, but even before .NET 2.0 was out the door we were treated to previews of .NET 3.0 features (and indeed, the first beta bits of the next version of Visual Studio have already started appearing, barely a month after VS2005 shipped). This is very good news for those of us using VB in business settings: it's easy to demonstrate that Microsoft intends to continue innovating in the VB space, and that they have no intention of dropping support for the language as they move forward with .NET.
BASIC wasn't the first computer language I ever used, and it's not the only one that I code in now. But thanks to Microsoft's continued strong support, and the vibrant ISV community, VB remains a major tool in my business, suitable for both quick one-day projects and extended client assignments. Looking forward into 2006, I'm anxiously awaiting the chance to roll out some of the .NET 2.0 changes, and intend to continue having fun doing solidly professional work with a language that I've always enjoyed writing. Here's hoping the same is true for you!
Mike Gunderloy is the Senior Technology Partner for Adaptive Strategy, a Washington State consulting firm. You can read more of Mike's work at his Larkware Web site, or contact him at MikeG1@larkfarm.com.