"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Monday, March 21, 2005


James Robertson writes about problems with the "common" language runtime. Some of the comments are suggesting you gotta take the good with the bad. I don't buy it and don't believe the commentators know about which they speak. Read on...

If you want the best of Smalltalk (or Python or Lisp) and access to dotnet as well then use a bridge between runtimes. (Smalltalk bridge, Python bridge, Lisp bridge)

I see no reason that all languages have to run in a crippled VM like the CLR or the JVM when you can get to these via bridges that keep them at arms length. The alternative is you cripple the language and lose most of the tools that make you productive in the first place.

I think any "common language runtime" has to be built at the foundation on good technology. Crippled languages can then be built on top rather than vice-versa. This was demonstrated on Lisp machines where Fortran, C, Pascal, Ada, etc. compilers were ported.

Funny that when good languages are ported to crippled runtimes, the good languages suffer. But when these languages were ported to the Lisp machine, the crippled languages became *more* capable than their original designs.

I've used C on the Lisp Machine. I can say, and everyone I know with the same experience agrees, this is the *best* environment for developing C programs. The same is never true for good languages ported to the CLR or JVM.

Maybe they'll get there some day. Maybe.


Anonymous said...

Crippled? Care to comment on why you find the virtual machines referenced inadequate? There are quite a few individuals who think otherwise... But, of course, that's probably just due to some funny tasting kool-aid, no?

Patrick Logan said...

Crippled... overly complicated and language specific.

"You can have any language you like as long as you like Java and C#."

Best not to build so much into the VM layer. Basic good design as Dijkstra, et al. pointed out decades ago. The longest lived VMs demonstrate this approach to be successful.

The C# and Java VM's are taking a chance by almost certainly overburdening their VM definitions.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.