メジャーな動的型付け言語の仮想マシンが共通化されると?
Audrey Tangさんのblogを見ていると、"Papers I'm reading"の所で興味深い論文を見つけました。
Parrotとは次世代のPerl、すなわちPerl6の仮想マシンです。ただし、Perl6だけでなく、その他の動的型付け言語でもPrrotの上で(実装すれば)動作可能です。
この論文で特に興味を持った所を引用します。
Parrot is a very interesting project, and may well bring its own revolution. Perl has been a very popular language since its introduction, almost 20 years ago, although Perl has its trouble - Parrot, after all, is not written just for fun. Up till now, there have been many other dynamically typed languages, many of which are very popular. Think of Python, Ruby and Tcl. All those languages have many users, and there are many modules and libraries written, open to the public. Things get really interesting, when all this code can be used together, i.e. use one module written in Python, another one written in Perl, yet another library written in Tcl.
Parrot will make this possible. Not only will it boost the popularity of Perl, but it can be used by many more people, that used to develop only in Python, for instance. In this way, Parrot will be for dynamically typed languages what the .NET CLR is for statically typed languages - and even better, as Parrot is very portable.
13 The Future of Parrotより
PythonやRubyのような動的型付け言語の仮想マシンとしてParrotが使われるようになれば、本当に面白いことになりそうですね。仮想マシンを共通化することで、プログラミング言語の壁を乗り越えられる。そこで待っているのは、今まで難しかった「他の言語のライブラリを自由に利用できる世界」。例えば、PerlのCPANモジュールをRubyから利用できてしまう。そんな世界です。
また、単にライブラリを相互利用できるようになるだけでなく、言語の壁を越えてオブジェクト指向で言う「継承」も可能になるようです。例えば「あるPerl6のクラスが、あるPythonのクラスを継承する」なんてことができてしまいます。想像を遥かに超えています。
The object system is implemented in such a way, that it is possible to have a Perl 6 class inherit from a Python class. So, language interoperability also works with respect to the different object systems.
7.3 Object Systemより
こんな世界が本当に訪れるのか、今後のParrotの動向に注目です。