InfoQ

News

Two New Microsoft Compilers Written in VB

Posted by Jonathan Allen on May 31, 2007 12:30 AM

Community
.NET
Topics
Silverlight
Tags
DLR

In the past there have been many complaints about Visual Basic being a second-class citizen to C# and that Microsoft never uses it internally. Those complaints are being addressed by SilverLight in numerous ways.

First of all, C# won't be fully supported in Silverlight. Unlike VB, Python, Ruby, and JavaScript, C# does not support the Dynamic Language Runtime and cannot be hosted for runtime compilation in Silverlight.

In more recent news, it was revealed that Visual Basic 10 would have a compiler written in Visual Basic. While Mono has a self-hosting compiler for VB, this is the first time in the history of Visual Basic that Microsoft released a VB compiler written in VB.

Even more interesting, the next version of Microsoft's JavaScript compiler, known by the brand name JScript, was also written in Visual Basic.

3 comments

Reply

No C# on Silverlight? by Werner Schuster Posted May 31, 2007 10:29 AM
Re: No C# on Silverlight? by Jonathan Allen Posted May 31, 2007 11:49 AM
Re: No C# on Silverlight? by Werner Schuster Posted May 31, 2007 1:54 PM
  1. Back to top

    No C# on Silverlight?

    May 31, 2007 10:29 AM by Werner Schuster

    I'm not sure I understand this part about C# not being available on Silverlight... does that mean the C# compiler doesn't run on Silverlight? LINQ and other libs are available for Silverlight, so I'm a bit confused;

  2. Back to top

    Re: No C# on Silverlight?

    May 31, 2007 11:49 AM by Jonathan Allen

    Silverlight can certainly use libraries compiled with C#.

    What Silverlight cannot do is grab a block of C# source code and compile it in the browser at runtime using the DLR. How important this is remains to be seen, but if you are a fan of code that writes itself (e.g. LISP, JavaScript) it is a consideration.

  3. Back to top

    Re: No C# on Silverlight?

    May 31, 2007 1:54 PM by Werner Schuster

    OK, that clears that up. Thanks.
    Of course, as long as it ships with the CodeDOM (I think that's their name) libraries, then generating code is still possible (see vistasmalltalk.wordpress.com/ for an impressive example of that).

Exclusive Content

Book Except and Interview : Aptana RadRails, An IDE for Rails Development

Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.

Fast Bytecodes for Funny Languages

Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.

Scott Ambler On Agile’s Present and Future

Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.

Manager's Introduction to Test-Driven Development

Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).

Structured Event Streaming with Smooks

Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.

How to Work With Business Leaders to Manage Architectural Change

Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.

Colors and the UI

In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.

Building your next service with the Atom Publishing Protocol

In his presentation, recorded at QCon San Francisco, MuleSource architect Dan Diephouse explores ways to use the Atom Publishing Protocol (AtomPub) when building services in a RESTful way.