2011年10月25日火曜日

関数型プログラミング言語Lispの親の死

このエントリーをはてなブックマークに追加
Clip to Evernote
Pocket

関数型プログラミング言語Lispの生みの親John McCarthyが84歳でなくなった(TechCrunch)。米国とソ連間のチェスの通信対戦を実現し、人工知能研究での業績があるが、その名はLispとともに知られているのは間違いない。

C言語に比較するとLispは人気言語とは言えないが、1958年に誕生した最も古い世代の、二番目に古いプログラミング言語の一つであり、動的な型付け、eval式、ラムダ式、遅延評価、レキシカル・スコーピング(クロージャ)などの概念の母体になった。これらの関数型プログラミング由来の機能はC言語には搭載されていないが、最近は再び注目されており、最新バージョンのC++にも搭載されるようになってきている。

一番身近なLispの実行環境はEmacsだ。"(* 7 (+ 2 3 5))" とS式を入力して、CTRL+x、CTRL+eとコマンドを打つと、evalされてプログラミングを実行し、結果70を得ることができる(Lisp Emacsで検索すれば、もっと詳細なマニュアルが見つかる)。最近流行りのHaskellなどに比べると、グローバル変数や定義関数があるなど完全な関数型言語とは言えないが、50年代でも実装可能なシンプルな文法であるのは間違いない。このシンプルな体系から産まれて来た概念が、多くのプログラミング言語を豊かに、時としては初心者泣かせの複雑なものにしているのが興味深い。

Lispプログラマはそうは多く無いし、McCarthyの作成したバージョンのLispを使っている人はいないと思う。しかし、直接・間接を問わず、その後のプログラミング言語に多くの影響を与えたのは間違いない。McCarthyがソフトウェア技術に残した足跡は確固としたものだ。

0 コメント:

コメントを投稿