stackexchange.comで、面白い話題が議論されていた。LispやMLというのは、いわば、Lisp風言語、ML風言語の総称である。実際には、Common LispやらSchemeやらArcやらと、多数の互換性のない言語が存在している。一方、RubyやPythonには、特に大きな分裂は起きていない。CPythonに対してPyPyのような、異なる実装は出ているが、言語は分裂していない。なぜなのか。一体、RubyやPythonは、分裂を防ぐために何をしているのか。
色々と議論されているが、まず一番わかり易い説は、高徳な独裁者(Benevolent Dictator)の存在である。Rubyにはまつもとゆきひろが、PythonにはGuido van Rossumが、高徳な独裁者として存在する。
また、規格の存在をあげる者もいる。CやFortranだって、規格ができるまでは、互換性のない実装が氾濫していた。
また、単純に古い言語だからという理由を挙げるものもいた。
また、分裂していないという見方は間違っているという意見もある。実際、Python 2とPython 3は分裂している。これは、Python 3が互換性を壊す変更を導入したためである。
Lispは素晴らしく強力なので分裂するのは必然だ、そもそも、今の言語はすべてLispのパクリだ、などというLisp信者らしき書き込みもある。
No comments:
Post a Comment