FC2ブログ

アンドロイドを作るためにLispを勉強している(1)

lisp on editor


Lispという言葉をはじめて耳にしたのは、ゲーデルの第二不完全性定理が証明されたという話の中でだった。そのときはさしてLispの方に興味をもたなかったが。

二不完全性定理とは「もし系の中に矛盾がなかったら系の無矛盾性を証明できない」というものだ。ゲーデルは「数論」という我々にはあまり馴染みのないジャンルの学者だったのだが、整数に矛盾がなかったら整数で整数を語ることができないんじゃないか? ということに気づいてしまった。「系」といってもいろいろある。この世界そのものだってそうだ。つまりゲーデルは神に矛盾があること、運命なんて存在しないことに気がついてしまった。

してそれを証明したのがプログラム言語Lispだ。世界で二番目に古いプログラミング言語。美しいと形容され、一時期は人工知能の言語ともてはやされ、あるバンドは「神はLispで世界を作った」と歌った。何が美しいかってその小ささだ。8つの単語を覚えるだけであなたはコンピューターの中に世界を作ることができるだろう。



(car cdr cons quote eq atom cond defun)





て、なぜ神は世界を作るのにLispを選んだかというと、LispはLisp自身にLispを語らせることができるからだ。テクニカルなことを言うと、他のプログラミング言語とちがって関数と変数のデータの形が一緒なので引数に関数を突っ込める。Lisp自身がデータなのだ。変幻自在で自由度が高い。かわりに「こういうときはこうする」というようなわかり易さがない。トイレで8つの単語を覚えてもパソコンの前で途方にくれる。

Lispはとにかく書いていて楽しい。問題は実用的でないことだ。これだけ魅せられる人が居ながら、Lispで書かれたすごいソフトというのがあまりない。あなたが神でもない限り、もっと人間の思考に近い言語で事足りるということなのかもしれない。


アンドロイドを作るためにLispを勉強している(2)→

広告

コメント

非公開コメント

プロフィール

じょなさん

Author:じょなさん
元バックパッカーの引きこもり、世界に飛び出す引きこもり。当初は役立つ情報を、と思っていたんだけど自分の興味しか書けないね。

最新トラックバック

広告

検索フォーム

ブロとも申請フォーム

QRコード

QRコード