実用と哲学のあいだ

最近はいくつかの比較的マイナーなコンピュータ言語を見てきています。PythonObjective-COCamlLISPと見てきました。結局のところ、僕はLISPが好きなようです。文法の単純さによって、最低限覚えなければならないことがとても少なくてすみます。括弧、命令、引数、閉じ括弧だけ。それさえ覚えれば、あとは命令をリファレンス・マニュアルで探すだけ。なんという単純な言語でしょう。

ただ、LISPを使ってMac OS XWindows用のアプリケーションが書けるかというと、なかなか難しいものがあります。不可能ではないのですが、難しいんです。その点、Objective-CC++であれば、OSのAPIとの親和性も高く、動作も高速になりやすいです。ただ、GCがなかったり、変数型の指定が面倒だったりします。

僕が欲しい言語のキーワードは、末尾再起最適化(これはコンパイラによるのかな)、言語仕様がコンパクト、遅延評価、変数型をあまり気にしなくて良い、GC有り、動的、動作環境は気にしない(ネイティブでもインタープリタでも仮想マシンでもいい)、ソースコードが自由に整形可能、ネイティブ・アプリに見えるものが作れる、ライブラリが豊富・・・とこんなかんじ。

どの言語も一長一短でなかなかこれと言うものがありません。潔くて哲学的なLISPと、実用重視のC++(あるいはD言語?)。用途に合わせて言語を選択すれば良いだけのハナシなんですが、たった一つだけ覚えるとしたら、落としどころはJavaPythonか?