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

Search This Blog

Thursday, August 10, 2006

Implementing Dynamic Languages

Steve Dekorte questions some of the conventional wisdom of implementing dynamic languages on Java/C# platforms. Ironically the implementations of Java and C# are essentially based on approaches from the dynamic language community. They have static-ness added on top (e.g. statically-oriented object models and class loaders) and/or into the mix (e.g. statically-oriented instructions).

Maybe a more interesting question is why aren't Java and C# implementations more thoughtfully layered on top of especially efficient implementations of dynamic languages? This has been done before, e.g. implementations of C, Fortran, Ada, et al. on Symbolics and other Lisp Machines. That ordering makes more sense in terms of complexxity.

Current implementations could provide a foundation for such a thing, e.g. the implementation Gambit Scheme would be a particularly good candidate. One problem: the implementation, like most long-lived, highly-tuned software designs, is fairly obscure and familiar to few people.

Depending on Gambit Scheme is riskier than depending on GCC, the JVM, or dotnet. On the other hand the benefits of putting multiple languages on the implementation would likely lead to a larger community of knowledgable systems developers.

No comments:

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.