

스폰서 후원
When? This feed was archived on May 03, 2025 18:07 (
Why? 피드 비활성화 status. 잠시 서버에 문제가 발생해 팟캐스트를 불러오지 못합니다.
What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.
"This article written by Paul Graham in 2001 helps to understand the roots and essence of the Lisp programming language. It talks about how the Lisp language, created by John McCarthy in 1960, is based on the idea of a 'list', a simple data structure for code and data. Graham points out that this unique feature of Lisp has led to the language having various dialects. He also states that new programming languages are moving towards the Lisp model and that this trend will shape the future of programming.
---
# The Roots of Lisp (The Origins and Significance of the Lisp Programming Language)
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](http://www-formal.stanford.edu/jmc/index.html) 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](diff.html) 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.
---
Relevant Keywords: roots of Lisp, John McCarthy and Lisp, understanding Lisp, Lisp programming language, Lisp model of programming, C model vs Lisp model, Lisp and list processing, Lisp's influence on modern programming languages, Lisp's self-writing feature, Common Lisp code."
215 에피소드
When?
This feed was archived on May 03, 2025 18:07 (
Why? 피드 비활성화 status. 잠시 서버에 문제가 발생해 팟캐스트를 불러오지 못합니다.
What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.
"This article written by Paul Graham in 2001 helps to understand the roots and essence of the Lisp programming language. It talks about how the Lisp language, created by John McCarthy in 1960, is based on the idea of a 'list', a simple data structure for code and data. Graham points out that this unique feature of Lisp has led to the language having various dialects. He also states that new programming languages are moving towards the Lisp model and that this trend will shape the future of programming.
---
# The Roots of Lisp (The Origins and Significance of the Lisp Programming Language)
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](http://www-formal.stanford.edu/jmc/index.html) 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](diff.html) 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.
---
Relevant Keywords: roots of Lisp, John McCarthy and Lisp, understanding Lisp, Lisp programming language, Lisp model of programming, C model vs Lisp model, Lisp and list processing, Lisp's influence on modern programming languages, Lisp's self-writing feature, Common Lisp code."
215 에피소드
플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.