Frank La Vigne, Tablet PC MVP has something to say in an interesting post about Microsoft's decision to provide support for VB6 runtime through 2017. In my attempts to verify the new date, I found extended support for VBA 6.0 runs until 14 Jan 2014. Perhaps the site is out of date.
I have mixed emotions about Microsoft's decision to support any form of VB6 into the mid-2010's. Perhaps the best of all scenarios is this: a company depends on an application written in VB6 to continue operations. If support for VB6 dies, the company dies along with it. If this is the case, I have some phrases I urge you consider: "single point of failure" and "fault tolerance".
Software development is, at its heart, an engineering discipline - despite the fact that it's sometimes (most times, probably) not treated as such. I can accept there are businesses cases for keeping an application coded in VB 6.0 in 2007, but my acceptance dwindles with each passing day.
Software maintenance is like every other kind of maintenance - it costs money, time, and effort. The money part is pretty obvious - someone has to be paid to maintain the code, make changes, patches, and add the occasional feature. It takes time and effort to maintain an application - time for iterations to develop and test, pilot time, deployment time, and sometimes downtime. But this is a necessary part of the Software Development Life Cycle. Stuff gets old - beyond the patch and add phase - and needs to be replaced.
If you disagree, hop into your Model T, drive on over to Farmville, and we can discuss the matter face-to-face. ;)
Frank makes the point that this extension will give the development platform a 20-year life cycle: "which in the technology world equates to several eons." I've often said software compares to cars, except that 1 software year is roughly equivalent to 10 car years. If that analogy holds, this is like stretching support of a car model to 200 years.
This is nothing against Visual Basic. I happen to love the language - even today. But it's changed from when I started keying hexadecimal from the pages of Byte magazine one summer almost 32 years ago - it's changed a lot. I rode the changes through GWBasic and started using VB 1 right before VB 2.0 was released. I made the switch when VB 4.0 introduced classes and 32-bit support. The jump to .Net was simply the latest change.
I understand folks not enjoying the process of learning a new platform. I think there's a place for maintenance coders in our industry, but it's not the same place as cutting-edge developers. I don't think many people will have a problem with that last statement, so here's one sure to stir the pot: I don't think the pay should be near the same for maintenance coding compared to cutting edge developers.
I think maintenance coding is a great place to vet recent graduates or people otherwise new to the software development industry. It could also be a place for those who choose to not upgrade their skills for whatever reason.
I've said it before and I will say it again: There are careers out there that you can just learn once and do forever, but those jobs do not exist in the software development arena. If you're not willing to dedicate 25% of the time you spend coding improving your skillset, you are in the wrong business.
Technorati Tags: VB6 support developer community