Lispとは?プログラミング言語を初心者にもわかりやすく解説

Lispとは

Lisp (リスプ)は、マサチューセッツ工科大学で人工知能の研究をしていたジョン・マッカーシー(John McCarthy)氏によって、1958年に開発されたプログラミング言語です。

Lispは、人工知能の研究から誕生しました。Lispを考案したジョン・マッカーシーは、初期の人工知能研究の第一人者として知られる人物です。人工知能(Artificial Intelligence)という用語自体が、ジョン・マッカーシーによって命名されたものです。

Lispという名称は、「list processor(リスト処理機)」に由来します。ソースコード自体がリストデータになっており、演算子によりそれらのリストデータを処理するプログラム構造になっています。

Lispの開発過程では、メモリ領域を自動解放する「ガベージコレクション」が考案されたり、高水準コードを低水準コードに変換するコンパイラを世界初の「セルフホスティングコンパイラ」にするなど、後の言語にも影響を与える発明が行われています。

Lisp の特徴

Lisp には、以下の特徴があります。

  • 関数型プログラミング言語のルーツ
  • 演算子のあとに引数がリスト項目のように並ぶ
  • 文法構造自体を拡張できる

Lispは、高水準言語としては最古参の部類に入ります。ほぼ同世代のFortranALGOLが命令型プログラミング言語のルーツとされるのに対して、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 LispSchemeClojure などの言語を学ぶのが良いかもしれません。