It looks as though Visual Basic is in for some interesting times. I am not just talking about the new language features, welcome though they are, but also about the approach that VB has to data typing. If you want, you can bolt your VB app right down when it comes to data types and implement a very strict typing regime. Alternately, you can take advantage of VB’s liberal nature and allow the automated casting of data types and take advantage of “late binding” to simplify your code – at a very moderate performance penalty. The reason I raise this is the fascinating challenge of the Dynamic Language Runtime (DLR) and the choice of VB as one of the prime scripting languages for the Silverlight project.
We have had VBScript around for a long time and VBA is arguable yet another scripted form of VB. VBSCript was the foundation of Classic ASP, popped up as a development tool for those building applications for the Windows CE (now Windows Mobile) platform and (of course) runs as a scripting language on Microsoft Operating systems. Heavens, there was even client browser support in Internet Explorer although here it lost heavily to JScript. But the days of Classic VBScript are probably coming to a close as a new scripting version of Visual Basic running against the .NET Framework comes to the fore. I love the idea of being able to run a loosely typed Visual Basic scripting edition in an environment where it will be able to co-operate with a strictly typed version of itself running against the CLR. However, things are expected to develop from there. The next version of Visual Basic (the one after VB9/Orcas) currently dubbed VBx looks likely to straddle both worlds – a language for all seasons capable of running seamlessly against both the CLR and the DLR.