Lisp とは
Lispは、高度に抽象化された構文と、プログラマーが自由に拡張できる設計思想を特徴とするプログラミング言語です。Lispは1958年に John McCarthy によって考案されました。Lispは、人工知能やコンピューターサイエンスの研究において重要な役割を果たしており、当初は数式を扱うために作られました。しかし、その後も、Lispは現在も幅広い用途に使用されています。特に、新しいプログラミング言語や、高度なシステムのプロトタイピングにおいて広く採用されています。Lispの構文は、ほとんどの場合、リストを用いて表現されます。また、Lispは、プログラマーが自由に拡張できる「再帰的構造」を特徴としており、プログラマーが自由に拡張できる設計思想を持っています。これらの特徴から、Lispは、他のプログラミング言語と比較して、複雑なプログラムをより簡潔に記述することができるとされています。
Scheme とは
SchemeはLispの一種です。Lispはプログラミング言語のファミリーの一つであり、1958年にMITのプログラマであるJohn McCarthyによって考案されました。Lispは非常に柔軟で、括弧を使った構文が特徴的です。
SchemeはLispの一種であり、「汎用プログラミング言語」として位置づけられています。これは、ほとんどのプログラミングタスクに対して適しており、高度な抽象化の概念を扱えることができるためです。また、Schemeは関数型プログラミング言語でもあります。これは、プログラムを関数や式で表現することができるためです。
Schemeでは、構 文が非常にシンプルであることが特徴です。ほとんどのプログラムは、括弧を使った構文で表現されます。例えば、次のような式があります。
(+ (* 3 4) (/ 9 2))
この式は、3から4を掛けた値と、9から2を割った値を足すという意味です。また、Schemeでは、多くの関数が標準で用意されており、プログラマがこれらの関数を組み合わせてプログラムを構築することができます。
S式
S式は、ざっくりいうとカッコでくくる構文とそれで書かれた表現のことです。 S式とは、人工知能や言語処理でよく使われる抽象構文木(Abstract Syntax Tree)を表現するための構文のことです。S式を使うことで、言語やプログラムの文法を表現しやすくなり、言語処理や構文解析などのタスクを実行することができます。
ASTに変換しやすい(というよりS式そのものがASTと同じ形をしている)ため、好まれています。
たとえば、スクリプト言語で言語の文法自体を変えるようなメタプログラミングをする場合に、高度なカスタマイズを施したい場合はどうしますか? ASTを扱うAPIを利用するのではないでしょうか。一方でS式で構成されるLispは、ASTそのものが第一級市民なので、魔術的なカスタマイズがしやすいといえます。 プラクティカルユースはさておき、この無骨さが好まれているのです。
プラクティカルユース
Lispはビジネスにおいてあまり利用されていません。そのため、具体的な割合を答えることは難しいです。しかし、Lispは高度なプログラミング技術を要求するため、一部の専門家や研究者によっては使われている可能性があります。また、特定の分野では、例えば人工知能や自然言語処理などでは、より多く利用されるかもしれません。