Lispの起源
この記事は、マッカーシーが発見したLispの本質を理解するために書かれた。Lispの起源と意味論的核心を理解するのに役立つ内容である。
キーポイント
ジョン・マッカーシーが1960年に発表したLispは、少数の基本演算子と関数表記からプログラミング言語全体を構築する理論的基盤を確立した
Lispの本質的特徴はコードとデータの両方にリスト構造を使用し、言語自身で記述可能な自己完結性にある
プログラミング言語の歴史的発展において、CモデルとLispモデルは二大潮流であり、現代言語はLispモデルの要素(動的型付け、ガベージコレクション等)を取り入れ続けている
Lispの設計思想は、プログラミング言語の進化方向を示す理論的モデルとして現在も影響力を持ち続けている
影響分析・編集コメントを表示
影響分析
この記事はLispの理論的起源と設計哲学を解説することで、現代プログラミング言語の発展トレンドを理解する枠組みを提供する。特に、言語設計における抽象化と自己完結性の重要性を再認識させ、AI開発を含む現代ソフトウェア工学の基盤思想への洞察を与える。
編集コメント
歴史的論文の現代的解釈として、プログラミング言語進化のメタ視点を提供する良質な解説記事。AIシステム開発の基盤技術理解に寄与する。
2001年5月(この記事は、マッカーシーが具体的に何を発見したのかを自分自身が理解するために書いたものです。Lispでプログラミングするためにこの知識は必要ありませんが、Lispの本質――その起源と意味論的な中核の両方の意味で――を理解したい人には役立つはずです。このような中核が存在するという事実は、Lispの特徴の一つであり、他の言語とは異なり、Lispには方言が存在する理由でもあります。)
1960年、ジョン・マッカーシーは、プログラミングに対してユークリッドが幾何学に対して行ったことに類する、驚くべき論文を発表しました。彼は、少数の単純な演算子と関数の表記法があれば、どのようにしてプログラミング言語全体を構築できるかを示したのです。彼はこの言語を「リスト処理」を意味するLispと名付けました。なぜなら、彼の重要なアイデアの一つは、コードとデータの両方に「リスト」と呼ばれる単純なデータ構造を用いることだったからです。
マッカーシーが発見したことを理解する価値は、単にコンピュータ史上の画期的な出来事としてだけでなく、現代におけるプログラミングの進むべき方向性のモデルとしても存在します。これまでに、本当に明確で一貫したプログラミングのモデルは二つあったように思います:Cのモデルと、Lispのモデルです。この二つは高台の地点のように見え、その間には沼地のような低地が広がっています。コンピュータの性能が向上するにつれて、新しく開発される言語は着実にLispモデルへと向かってきました。
過去20年間における新しいプログラミング言語の人気レシピは、Cの計算モデルを取り、そこにLispモデルから取ってきた部分(ランタイム型付けやガベージコレクションなど)を断片的に追加するというものでした。
この記事では、私はマッカーシーが発見したことを可能な限り単純な言葉で説明しようと思います。目的は、単に40年前に誰かが考え出した興味深い理論的成果について学ぶことではなく、言語がどこに向かっているのかを示すことです。
Lispの特異な点――実際、Lispを定義づける性質――は、それがLisp自身で書けるということです。マッカーシーがこの言葉で何を意味したのかを理解するために、私たちは彼の歩みをたどり直し、彼の数学的表記法を動作するCommon Lispコードに翻訳しながら進めます。
完全な記事 (Postscript)
What Made Lisp Different
中国語訳
日本語訳
ポルトガル語訳
韓国語訳
原文を表示
May 2001 (I wrote this article to help myself understand exactly what McCarthy discovered. You don't need to know this stuff to program in Lisp, but it should be helpful to anyone who wants to understand the essence of Lisp � both in the sense of its origins and its semantic core. The fact that it has such a core is one of Lisp's distinguishing features, and the reason why, unlike other languages, Lisp has dialects.) In 1960, John McCarthy published a remarkable paper in which he did for programming something like what Euclid did for geometry. He showed how, given a handful of simple operators and a notation for functions, you can build a whole programming language. He called this language Lisp, for "List Processing," because one of his key ideas was to use a simple data structure called a list for both code and data. It's worth understanding what McCarthy discovered, not just as a landmark in the history of computers, but as a model for what programming is tending to become in our own time. It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them. As computers have grown more powerful, the new languages being developed have been moving steadily toward the Lisp model. A popular recipe for new programming languages in the past 20 years has been to take the C model of computing and add to it, piecemeal, parts taken from the Lisp model, like runtime typing and garbage collection. In this article I'm going to try to explain in the simplest possible terms what McCarthy discovered. The point is not just to learn about an interesting theoretical result someone figured out forty years ago, but to show where languages are heading. The unusual thing about Lisp � in fact, the defining quality of Lisp � is that it can be written in itself. To understand what McCarthy meant by this, we're going to retrace his steps, with his mathematical notation translated into running Common Lisp code.
Complete Article (Postscript)
What Made Lisp Different
Chinese Translation
Japanese Translation
Portuguese Translation
Korean Translation
関連記事
今年、カリフォルニア州で死刑制度を廃止できる
カリフォルニア州の有権者は、死刑制度を廃止する提案62に投票する。筆者は、死刑制度の議論は単に殺人者を殺すことの是非ではなく、より深い問題だと述べている。
反撃するフィルター
Richard Jowsey氏が、スパムフィルターの精度向上のために、疑わしいメールのリンク先を確認する手法を開発した。この方法は、スパム送信者のサーバーに負荷をかける副作用を持つ。
ハッカーと画家
著者はコンピュータサイエンスの大学院卒業後に絵画を学び、ハッキングと絵画が異なる仕事と見なされることに疑問を呈している。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み