基調講演で語るStanford大学のJohn McCarthy氏
基調講演で語るStanford大学のJohn McCarthy氏
[画像のクリックで拡大表示]
Elephantのコードの一部。理論的なものなので,式として表現されている
Elephantのコードの一部。理論的なものなので,式として表現されている
[画像のクリックで拡大表示]

 O'Reilly Emerging Technology Conference(ETech)の3日目の基調講演で,米Stanford大学のJohn McCarthy氏が登場した。同氏は「Lispの父」として,コンピュータ・サイエンスの世界では知らない人はいないという存在だ。Lispは1950年代に登場した最初期のプログラミング言語であり,現在もさまざまなプログラミング言語に影響を与えている。

 McCarthy氏はETechで,「Elephant 2000」というプログラミング言語を紹介した。人間の発話行動をベースにおいたもので,システム間のデータ通信やユーザーとの関わりを記述したり検証したりするのに便利だという。同氏は1992年にElephant 2000の論文の下書きを作成したが,自身のホームページに掲載しているだけで論文として投稿しておらず,現時点でまだ開発途上である。

 基本的なアイデアは,処理の入出力を人間の言葉のような表現で規定するところにある。例えば約束や疑問,提案,了解,許可などである。これにより例えば,航空機の座席を予約する処理を,人間の言葉に近い宣言的な表現で記述できる。これまでプログラマがさまざまなデータ形式や手続きに置き換えなければならなかったことを,「何をしたいのかが明確に表現できる」(McCarthy氏)。

 プログラミング言語の詳細としては時間の都合で紹介されなかったが,これまでのプログラミング言語で一部取り入れられてきた「表明(assertion)」や,「疑問」と「回答」,「リクエスト」「許可」などが取り入れられるという。ただしこの表現からコンピュータが実行可能なコードを生成するには,人工知能的な処理が可能なコンパイラが必要であり,道のりは遠そうだった。