BT

VB Breaks Its Runtime Chains

| by Jonathan Allen Follow 638 Followers on Jun 01, 2007. Estimated reading time: 1 minute |

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

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss
BT