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.
2 comments:
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?
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.
Post a Comment