So despite the relative parity that VB.NET has achieved within the .NET language family, it's still seen, internally, as the "entry-level" language, which is rather surprising, because the entire rationale for the radical alterations to classic VB were to make it a "first-class" .NET language. Sridharan did hasten to add that any additional features would not detract from VB.NET's current capabilities.
I generally find the articles at DevX a bit light on content, but this interview with Anders Hejlsberg, Distinguished Engineer on the VS .NET Frameworks Team, David Treadwell, the General Manager of the VS .NET Developer Platform, and Prashant Sridharan, the Visual C# Product Manager, raised some interesting issues.
Until the release of .NET, VB has been positioned as the programming tool for "the rest of us". Its RAD environment enabled easier and faster development, the price to pay being some loss of functionality. Over the years, lots of hacks have been published on methods to circumvent or overcome VB's limitations, the most direct course being the development of add-on components in C++.
Microsoft has always been derided for VB's limitations and in .NET it has finally bitten the bullet and has brought VB.NET up to par with the other .NET languages (specifically C#). In my opinion this move, while supposedly benefiting VB, actually removed the rational for its existence. As far as I can tell, VB.NET is semantically equivalent to C#, moreover the development environment and toolkits are the same. Thus there is absolutely no advantage in using VB.NET over C# (maybe a slightly easier transition for those familiar with the VB syntax, though the changes might actually confuse them instead.)
It now appears that the .NET team is looking for ways to differentiate VB.NET as the entry level language, though with no specific details as to how this might be accomplished (or why any improvements that ease development should not be applied to other .NET languages as well). Maybe they should point beginners at Mondrian.
The article includes other interesting points:
- A rule-of-thumb as to how to distinguish between a VB programmer and a real programmer (according to Microsoft).
- The future of C# (generics).
- Finally "Both Bill Gates and Anders made a point of saying that future API's released by Microsoft would target the .NET framework rather than the C-style API releases we've seen from Microsoft in the past."
Posted to cross-language-runtimes by Dan Shappir on 2/18/02; 8:48:45 AM