Lispの起源
本文の状態
日本語全文を表示中
詳細モードで約2分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Paul Graham
この記事は、マッカーシーが発見したLispの本質を理解するために書かれた。Lispの起源と意味論的核心を理解するのに役立つ内容である。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るSource Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
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
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み