Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News VB Breaks Its Runtime Chains

VB Breaks Its Runtime Chains

One of the most common complaints about Visual Basic is its dependence on a runtime library. This library, which contains helper functions called by VB language constructs, is shipped with the baseline .NET platform. This makes it transparent to most users, but becomes a big problem on non-standard platforms.

The first platform this caused problems on was Mono. Because of this dependency, the VB compiler was not available for years after the Mono C# compiler was working.

The next platform hurt by the need for this runtime is the .NET Compact Framework and the XBox 360. Essentially the problem boils down to the VB Runtime using IL instructions that simply don't exist on that platform.

In order to make it easier to support these and other platforms, Visual Basic 9 has added significant flexibility to how the runtime is supported. One option developers will have is to not reference the VB Runtime at all. Obviously this means the associated language features will not be available at compile time. Another option is what Paul Vick calls "runtime agility". Essentially this means platform developers can implement their own version of the VB Runtime.

These new options include full compiler support, so if you do replace the runtime and decide not to support a specific VB language feature, you will get a clean error message instead of a hard compiler crash.

This functionality will be available starting in Orcas beta 2.

Rate this Article