Lisp/始めの一歩/Common Lisp の特徴

  • Common Lisp は自動ストレージ管理をそなえた高級言語です。(「自動ストレージ管理」はむしろガベージコレクションという方が有名かもしれません。)
  • Common Lisp はマルチパラダイムプログラミング言語です。 これはあなたが手続き型/命令型、関数型/アプリカティブ、そしてオブジェクト指向でプログラムを書くことを可能にします。Common Lisp ではこれらのスタイルを自由に組み合わせて使用することもできます。あなたの開発するアプリケーションの分野に沿ったアプローチとパラダイムの選択を可能にします。
  • Common Lisp では完全括弧閉じ - 前置記法でプログラムが書かれます。 これは関数 func に引数 x と "hello" をわたすには (func x "hello") と書くということを意味します。これでプログラムそのものをリストで表現できます。そしてLispのプログラムは、単なるリスト処理で処理できます。おそらくあなたがより慣れ親しんだ func(x, "hello") という書き方ではなしに。 あなたが他の言語になれている場合はこの文法を学ぶのに苦労するかもしれません。しかし何度か練習をこなせばこれもごく自然な書き方に思えるでしょう。マクロを書くことさえ可能となるのです。
  • マクロ は Lisp 文法の拡張を可能にします。 マクロは新しいキーワードを定義するのに使用できます。 Common Lisp のマクロは(例えばですが)C言語のマクロに比べて より パワフルです。LispのマクロはLisp本来特有のコード生成プログラムなのです。
  • Common Lisp には トップレベル 対話環境 があります。Common Lisp のほとんどの実装ではファイルからプログラムをロードするのと同じように、プロンプトに直接プログラムを打ち込むことが出来ます。つまりは探求的プログラミングが可能なのです。プロンプトでは対話的デバッグも利用できます。
  • Common Lisp では インクリメンタル コンパイル が可能です。ほとんどの Common Lisp の実装では、トップレベルの対話環境もコンパイラ(ネイティブコードかバイトコードの)も含んでいます。コンパイルされたコードであろうが、インタープリターでの実行であろうが自由に組み合わせることが出来るのです。
  • Common Lisp は高い性能を備えています。(ただしこれは実装に大きく依存します。) いくつかの実装は C/C++ コンパイラと匹敵します。