generated at
Lisp

“Lots of Irritating Superfluous Parentheses”

Glisp で採用している基盤言語。とにかく括弧が多い。
ハッカーのPaul Grahamや、科学エッセイストのDouglas Hofstadterも、Lispについてのエッセイを数多く残している。

以下、『メタマジック・ゲーム』p.443 より「Lispはどうして人口知能の分野で主流なのだろうか」。

Lispは単純で、エレガントである。
Lispの中心概念はリストとその処理。リストはごく柔軟なデータ構造である。
Lispのプログラムは、データと同じ構造。Lisp自身でプログラムを生成し、走らせることができる。
Lispの上で新しい言語のインタープリタを書くのが非常に容易。
Lispのような環境の中で泳ぐことが、多くの人々にとってきわめて自然。
Lispには「再帰の心」が染みわたっている。

Revenge of the Nerds - Paul Graham
なぜ1950年代の言語が時代遅れにならないかという簡単な説明は、 それが技術じゃなくて数学だったということだ。数学は色あせない。 Lispを比較する対象は1950年代のハードウェアでなく、 例えばクイックソートのアルゴリズムだ。それは1960年に発見され、 いまだに汎用ソートアルゴリズムとして最速だ。
Lispのユニークさ
式でプログラムが構成されること。Lispプログラムは式の木であり、 それぞれの式が値を返す。これはFortranとそれを引き継ぐ多くの言語とは 対照的だ。それらの言語は式と文を区別している。
言語の全てが常に在ること。読み込み時、コンパイル時、実行時が 明確に分離したステップになっていない。読み込み時にコンパイルして コードを走らせることもできるし、コンパイル時にコードを読んだり 走らせたりすることもできるし、実行時にコードを読んだりコンパイルしたり することができる。
Lispが奇妙に見えるのは、奇妙な構文を持っているからというより、 構文を持っていないからと言ったほうが良いだろう。 普通の言語なら舞台裏で構文解析して作られるような構文木を、 Lispプログラマは直接書いてプログラムを表現する。 その構文木はリストで表現され、それはLispのデータ構造だ。
言語を自分自身のデータ構造で表現するということは、非常に強力な機能となった。 アイディア8と9を合わせると、プログラムを書くプログラムを書けるということになる。 これは突飛なアイディアに聞こえるかもしれないが、 Lispプログラマが日常的に行っていることだ。 このアイディアは通常、マクロと呼ばれる方法で実現される。