I’ve been interested in implementations of dynamic languages in mainstream languages for a while. IronPython and Jruby have been showing great progress, and especially jruby has achieved a status where it can run rails apps in a java app server.
Dynamic languages has their own set of advantages, and sometimes I really miss their features. However, there is a problem, there is almost always a catch with re-implementations, and they are not always minor differences. There is a nice library that you might consider implementing one day, and you can not be sure that IronPython or Jruby will allow you to do so.
The other nice thing about dynamic languages is that they tend to have very fast growing libraries and frameworks, due to their efficiency in development. As years go by in development, you realize that the frameworks and ecosystem around a language matter “a lot”. For re-implementations, you almost always have a subset of these frameworks, and this sucks. Also, these efforts are usually provided by a small number of developers paid by a vendor, or no one, and one day you realize that the re-implementation is either dead, or seriously lagging behind the original implementation. JRuby may be hot now, but what happened to Jython?
Now that Java is making plugging dynamic languages easier, this approach may yield better results in the future, but for the moment, I still feel a little bit insecure about these re-implementations. I have to confess though, there is something really attractive in the idea of writing eclipse plugins in python or ruby. I’ll be following the trends, hoping I’ll see some good developments.
Dynamic languages are important for me, since they make building domain specific languages much easier, and domain specific languages are quite important in future healthcare systems, at least that’s my opinion.