Hello:

Another recent option for running multiple dynamic languages under one VM is the Microsoft Dynamic Language Runtime (DLR), which runs on top of the CLR. The DLR aims to solve the current problems with running multiple dynamic languages on the CLR; for example, it provides a common dynamic type system. It has been most publicized as part of Silverlight 1.1, but it's also available separately.

Of course, the DLR's biggest current advantage is the number of popular languages already targeting it. Microsoft has already written DLR-based implementations of JavaScript and VB; the next version of IronPython is going to be based on the DLR; and IronRuby is in development.

If I understand correctly, one of the DLR's strengths is that all DLR-based languages share a common namespace tree, the one provided by the DLR. So code written in any DLR-based language can use classes implemented in any other DLR-based or CLR-based language. If I understand correctly, this makes code sharing across languages more seamless than it would be with Neko, but it probably imposes restrictions that Neko does not; there's always a trade-off.

Given the number of languages already targeting the DLR, and the apparent ease of sharing code between these languages and other CLR-based languages, I'd think the DLR would be quite appealing to a developer wanting to add a scripting interface or a plugin system to a desktop app on Windows, even if said app isn't currently using the CLR.

Microsoft has made the DLR, IronPython, and IronRuby (still in development) open source, under a permissive license. So I don't think licensing is an issue, and the DLR could also potentially run on Mono, if that's not being done already.

So I suppose that the DLR's chief drawback is the size of the CLR or Mono; even the CoreCLR included with Silverlight 1.1 Alpha is about 5 MB (including the standard library). Of course, if a time comes when the vast majority of desktop computers have a reasonably recent CLR installed, as Microsoft surely hopes will happen, then footprint will be much less of a consideration. But that's a big "if", probably contingent on mass adoption of Windows Vista.

So what advantages does Neko have over the DLR that I've overlooked? This might be good material for the FAQ.

Thanks,
Matt

--
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to