LISPとは
LISPとは、1958年にジョン・マッカーシー(John McCarthy)によって開発されたプログラミング言語で、現在使用されている言語のなかでも古い言語のひとつです。開発者のジョン・マッカシー(John McCarthy)は、「人工知能(Artificial Intelligence)」という言葉の提唱者であるため、LISPは人工知能(AI)は親和性の高い言語であるとも言えます。主に人工知能のプログラムやWebアプリの開発に使用されていることが多いです。この記事では、そんな人工知能(AI)と親和性の高いLISPというプログラミング言語ついて詳しく解説いたします。「もうすぐにでも手を動かしたい!!」という方は、以下の目次リンクより、該当箇所に移動していただければと幸いです。
目次
LISPの特徴
LISPは、初心者には難しい言語です。理由としては、記述がわかりにいことがシンプルに要因だと言われています。初心者にとってはとっつきにくい言語である一方で、古くからマニアックなファン(Lisper:リスパーと言われるそうです…)が一定数いることも事実です。2019年になったいまでも、言語開発者や人工知能エンジニアなどの一部LisperがLISPを愛するのは、「未知への適応性を最重視する」というマインドが軸にあるからだそうです。(いやほかにも理由はあるみたいですが、非エンジニアの私には咀嚼しきれない内容でした。泣)
LISPにおける2つの流れ
LISPには「Coomn LISP」と「Schema」という2つのメインの型(方言?)が存在します。前者の「Coomon LISP」は名の通りLISPの標準となるもので、Pythonでいうライブラリみたいのです。この「Coomnon LISP」は、1984年と1994年に、ANSI(American National Standards Institute:米国国家規格協会)によって制定されております。特徴は、多機能であることで、「提案された機能を原則すべて導入する」というのがCommon LISPの姿勢です。このため、Common LISPの言語仕様はかなり大きなものとなっています。
一方「Schema」は、シンプルさを尊重した現在でも進化しつづけている方言です。「Schema」自体は1975年に開発され、2019年最新版の仕様は2013年7月にIEEE(Institute of Electrical and Electronics Engineers:米国電気電子学会、または米国電気電子技術者協会)によって成立しています。
「Common LISP」と「Scheme」は、LISPの仕様としては主流です。しかしながら実装のやり方は、ほかに多くの種類があります。
簡単に取り書かれるのはSchemeがよいかなといった印象です。
LISPのメリット
・式と文章が区分されないこと-S式とは?
どゆことだ?そう感じた方もいらっしゃるのではないでしょうか?LISPは、その文の通り、式と文章が同じなのです。
・普段の思考法をそのままコードにできる
LISPはS式と呼ばれる 記述方針で成り立つことが多いです。S式(S-expression)とは、主にLISPに使用される2分木またはリスト構造のルールに沿った記述方式です。そのため普段、私達が使用するような場合分けの樹形図をコードに落とし込むだけであるため、その意味では人間が機械に言葉を合わせるのではなく、機械がこちら側に合わせてくれているという面でメリットととも言えます。
LISPのデメリット
LISPのデメリットとしては以下のような要素が挙げれます。
- カッコが多いこと
- 変数に型がないこと
LISPと人工知能(AI)との今後の関係性
今日までにはLISPは人工知能プログラムに多く活用されてきました。直近の流行りの人工知能ブームもあり、今後は急速に普及していくことが予測されます。