Oz

制約プログラミングをあれこれ眺めていたら、プログラミング言語Ozとその実装Mozartにたどり着きました。「論理型、関数型(遅延評価も、先行評価も)、命令型、オブジェクト指向、制約、分散、並行」(ウィキペディアより)なんだかぼんやり思い描いていたような夢の言語です。早速インストールして触っては見たものの、当たり前ですがやっぱり言語は言語で、頭良さそうだからと英語にあこがれてABCを覚えても、流暢に話せるようになるには言語の熟練と語るべき中身が必要です・・・
そうか、私はプログラミング言語に、頭がよくなる特効薬を求めていたのか。
それにしてもプログラミング言語設計者って不思議です。文章としても読めないし、式として見てもなんとなくおかしい仕様を作り続けている感じがする(失礼)。Alan Kayさんが大昔どこかで「プログラミング言語はいつまでもビジンではいけない」と書かれていた気がしますが、確かになんとか型とかなんとか指向とかよりもっとメタな設計(言語的に名詞と動詞とか活用とか、数学的に一般的な表記とか)を考えてもいいような気がしました。習得は大変でしょうね。普通の言語を習得することに近くなるから。
サイトを見ると、Mozartは2006年で開発が一段落しているようでしたが、ライトウェイトプログラミング言語は今後、Ozみたいに、制約と並行の言語サポートを取り込んでいくのでしょうね。