Peter Coffee at eWeek writes an apology for Visual Basic that is strangely out of tune. Peter acknowledges what is generally conceded to VB – following the template of Guptas SQLBase, Visual Basic brought the important idea of 3rd party components for both visual GUI development and added backend (think database connections and report output) functionality to a Windows programming language. SQLBase with its much higher price, proprietary components, and shorter list of database connections lost out to VB by as early as versions 3 and 4.
So grant VB with the vision and in version 5 the performance to make development with a “Visual Design” language very fruitful for a wide spectrum of developers. VB bady bea the leading DOS application deveopment tools, dBase and Paradox, to the Windows market and VB really helped to sell Windows over OS/2 for a lot of IT shops. But there were underlying problems in VB 1-6. The exception handling and security models were weak. Threading needed tuning. The object orientation was neither fish nor fowl. And the proliferation of data access methods were upto 10-18 depending on who did the counting. But all of these problems were manageable while maintaining the essential syntax and ease of use and development within VB.
But for some reason, the .NET version yanked VB into a new direction. As Peter notes “it left behnd more than 100 previous VB features or behaviors, some of them listed at vb.mvps.org/vfred/breaks.asp – a site whose URL reflects the name Visual Fred that some programmers coined to show their opinion that Visual Basic.NET might be many things but it was not really Visual Basic“.
The Problems with VB.NET
The change was so abrupt and the conversion facilities provided by Microsoft were so poor that developers found that they were spending 50-60 % of their time on the last 20% of transforms not covered by the Microsoft conversion utilities. Worse, in the process VB.NET became a mere syntax clone to the new C#, Microsofts Java. Gone were ease of use features such as Variants and function parameter arrays. The remaking of VB took away many of VBs ease of development identity in the name of “cleaning up a baffling and ambiguous syntax” – hence the epithet Visual Fred.
As noted there is no doubt VB needed change. But so drastic and with so little consulting of the user base and such shoddy support for the transition imposed, this is at the least questionable. We prefer RealSoftwares REALbasic change model which has taken a Basic and given it much improved exception handling, threading and UI component model. In addition REALbasic has gained a behind the scenes VM engine that allows its programs to be run in Windows, Mac and Linux with no change. In addition the performance of those programs is pretty impressive to say the least – and all staying within the the VB ease of development mandate better than VB itself.
Whither VB 2005 ?
Visual Basic 2005 is just about to hit the streets with “enormous improvements in abstraction … automatic error recognition… Substantial changes are already being telegraphed for for VB9.0 that will make it much more powerful .. in rich access to data[think the new LINQ technology]. And many people will complain about the resulting need to keep learning…. VB will keep doing a lot of the work in the cyber-world as long as Microsoft keeps re-inventing it to meet changing needs.” This reviewer is not so sanguine about the how as well as the what of “re-inventing VB”.
The yank chain transition that was VB6 to VB.NET, simply has not been acknowledged as an overstep. And so the new transitions in VB2005 and VB2006 – will be in question. How much and how complete will any conversion support be provided ? But even more important – what is the identity of the new VB – is it to be a tracking clone of C#; the new anywhere any device language of Windows-of-so-many-forms -> Windows Vista, Windows Compact Framework, Windows Mobile ? Will it maintain a direct superset relationship with VBA ? So many questions – and so few answers as VB is symptomatic of what ails Microsoft development. Yes derived, but essentially scatter shot in directions as if new factions gained persuasion within 1 Microsoft Way. More and more there is in key arenas a mere semblance of a unifying Redmond development strategy and framework.
In that regard RealSoftwares REALBasic, Suns Java, Adobes Flash, the Ajax solutions are each breaths of fresh air in direction and each with a distinctive vision of what will make it easier for IT shops to take on the formidable problems of 6As development in a`SOA/Web Services World. Finally, VB6 to VB.NETs ill planned transition was testament to what a company – dedicated to Developers, Developers, Developers – should not do. Peter was remiss by failing to say so.
(c) JBSurveyer 2005