Lispとは
Lisp (リスプ)は、マサチューセッツ工科大学で人工知能の研究をしていたジョン・マッカーシー(John McCarthy)氏によって、1958年に開発されたプログラミング言語です。
Lispは、人工知能の研究から誕生しました。Lispを考案したジョン・マッカーシーは、初期の人工知能研究の第一人者として知られる人物です。人工知能(Artificial Intelligence)という用語自体が、ジョン・マッカーシーによって命名されたものです。
Lispという名称は、「list processor(リスト処理機)」に由来します。ソースコード自体がリストデータになっており、演算子によりそれらのリストデータを処理するプログラム構造になっています。
Lispの開発過程では、メモリ領域を自動解放する「ガベージコレクション」が考案されたり、高水準コードを低水準コードに変換するコンパイラを世界初の「セルフホスティングコンパイラ」にするなど、後の言語にも影響を与える発明が行われています。
Lisp の特徴
Lisp には、以下の特徴があります。
- 関数型プログラミング言語のルーツ
- 演算子のあとに引数がリスト項目のように並ぶ
- 文法構造自体を拡張できる
Lispは、高水準言語としては最古参の部類に入ります。ほぼ同世代のFortranやALGOLが命令型プログラミング言語のルーツとされるのに対して、Lispは関数型プログラミング言語のルーツと言えるでしょう。
Lisp のソースコードでは、まず演算子があって、そのあとに引数がリスト項目のように並べられます。この記法により、ソースコード自体をリスト化されたデータとして操作できるメリットが得られます。
Lisp方言と呼ばれる派生プログラミング言語が数多く誕生
Lispは文法構造自体を拡張でき、目的に応じてカスタマイズできます。そのため、Lisp方言と呼ばれる派生プログラミング言語が数多く誕生しています。Lisp方言のなかで現在も利用されることの多い言語としては、Scheme(スキーム)やCommon Lisp(コモン・リスプ)などが挙げられます。
Scheme(スキーム) は、1975年にLispから派生したプログラミング言語です。派生元のLispに比べると言語仕様が簡潔になっていて、シンプルな構文でコードを書くことが出来ます。
Common Lisp(コモン・リスプ)は、1984年に登場して1994年に標準化されたプログラミング言語です。それまでに存在していた複数の Lisp 方言をひとつに統合したものであり、統合Lispとも言える存在です。
Lispはこんな場面で使われている
Lispは、人工知能を得意とする言語です。長い歴史を持つ言語ですが、人工知能プログラムにおいて現在も使われています。
Lispを学ぶメリット
Lispは人口知能に関心があるなら、学んで損はない言語と言えるでしょう。ただし、Lisp自体は、研究用としての側面が強い言語です。
もし実用性を考慮するなら、Lisp 派生言語であるCommon Lisp、Scheme、 Clojure などの言語を学ぶのが良いかもしれません。