Live data from Hacker News

Doug McIlroy: McCarthy Presents Lisp

paulgraham.com

11–20 of 64 posts

Re: Doug McIlroy: McCarthy Presents Lisp

#11
post #4
post #2

I always wondered why Lisp is dead in the water. I got replies from people that never professorially coded anything in Lisp or Scheme (yeah..) - argument was along the lines that in the past hardware was always dictating lower level languages and leagues of people were taught the ways of the everyday code that was only a few (if any) levels above the hardware. Thus, all of the primitives of the age (ASM, C, Pascal, w…

My opinion - a lot of it comes down to implementation. There are a couple of really good open source implementations, but for the most part a lot of Lisp folks prefer the commercial ones. Anecdotally, Lisp came along so long ago that it has survived several different phases of computer software sales evolution. The phase that saw dynamic programming development tools be sold for significant sums of money altered the…

> commercial implementations like Lispworks and Allegro

I understand that Clozure CL and SBCL are also good. Maybe not THAT good, but good. Thing that bothers me with that argument is if CL or Lisp in general had the appeal to the critical mass of programmers, it would be built - no matter if standards were the obstacle or commercial implementations. They would come and build a new one, no?

As for the libraries - there surely is a way to make bindings to other libraries. For example, we have that kind of problem in D, but we can easily bind to C libraries, so that is not that much of a hassle.

My deep thought on all of that is what bothers me the most. Here is my theory. Is it possible that the real reason is that there are basically two types of programmers:

1. Recipe / Cargo Cult programmers that are programmers by career inertia

2. Programmers that think more about the nature of the problem and hack their mindset to the code. You know, the type that thinks more than they code - code is just a splurt at the end of the process.

If that is true, and if Lisp appeals only to the second bunch (not all of them, of course). It might be a hypothetical disastrous indicator of the ratio in programmer population.

Or maybe I'm just thinking too much about it all.

Re: Doug McIlroy: McCarthy Presents Lisp

#12
An excerpt from The Dream Machine:

"As a Lisp programmer continued to link simpler functions into more complex ones, he or she would eventually reach a point where the whole program was a function-which, of course, would also be just another list.. So to execute that program, the programmer would simply give a command for the list to evaluate itself in the context of all the definitions that had gone before, And in a truly spectacular exercise in self-reference, it would do precisely that. In effect, such a list provided the purest possible embodiment of John von Neumann's original conception of a stored program: it was both data and executable code, at one and the same time

In Mathematics, the technical name for this sort of thing is recursive function theory, which was why McCarthy called his first public description of Lisp 'Recursive Functions of Symbolic Expressions and Their Computation By Machine' Today ranked as one of the most influential documents in the history of computer languages, that paper established that a language could have a rigorous mathematical foundation. And it signified that John McCarthy had finally come up with a framework that was precise enough, rigorous enough, and compelling enough to satisfy even him"

His paper can be found here: http://www-formal.stanford.edu/jmc/recursive.pdf

I am just amazed how often his name appears on this book (the first time he is mentioned, Waldrop talks about how strange people said he is). But in my book he will always be a legend and a visionary.

Re: Doug McIlroy: McCarthy Presents Lisp

#13
post #4

Earlier quoted context omitted.

My opinion - a lot of it comes down to implementation. There are a couple of really good open source implementations, but for the most part a lot of Lisp folks prefer the commercial ones. Anecdotally, Lisp came along so long ago that it has survived several different phases of computer software sales evolution. The phase that saw dynamic programming development tools be sold for significant sums of money altered the…

> commercial implementations like Lispworks and Allegro I understand that Clozure CL and SBCL are also good. Maybe not THAT good, but good. Thing that bothers me with that argument is if CL or Lisp in general had the appeal to the critical mass of programmers, it would be built - no matter if standards were the obstacle or commercial implementations. They would come and build a new one, no? As for the libraries - the…

Hmmm... well, there are probably more than two types, but I think there are at least the two types you mentioned. The only person I really feel comfortable speaking for is myself. I choose Lisp (Common Lisp in particular, and SBCL at that) for a number of reasons, but mostly:

1. because I seem avoid so much code that I could see myself having to write in other languages, and

2. because it gives me all this great dynamic functionality while still being extremely fast, especially compared to other languages.

Once I realized all the crazy things you can do with it and still run fast its been difficult to imagine using anything else where I have a choice.

Re: Doug McIlroy: McCarthy Presents Lisp

#14

An excerpt from The Dream Machine: "As a Lisp programmer continued to link simpler functions into more complex ones, he or she would eventually reach a point where the whole program was a function-which, of course, would also be just another list.. So to execute that program, the programmer would simply give a command for the list to evaluate itself in the context of all the definitions that had gone before, And in a…

I read that paper around six months ago. I found it a little dry at first, and then absolutely enlightening. It's amazing what beautiful and complex things can be built with such a small handful of functions.

Re: Doug McIlroy: McCarthy Presents Lisp

#15
post #9
post #5

Earlier quoted context omitted.

It's not that dead. You used it to make this comment.

Touche and haw haw, but you very well know what I've meant.

No, actually, I'm not sure which of two usual misconceptions you have: (a) that Lisp = Common Lisp, or (b) that Lisp is rarely used.

Usually when people think Lisp is dead, they mean (b), but you've been here long enough to have noticed the volume of stories about Clojure on HN, so the probability of (a) and (b) seem about equal.

Re: Doug McIlroy: McCarthy Presents Lisp

#16
post #9
post #5

Earlier quoted context omitted.

It's not that dead. You used it to make this comment.

Touche and haw haw, but you very well know what I've meant.

What you mean is that "dead" is a perception that exists only in your mind.

If you look at concerns other than langauge, you could easily say that "writing quality software is dead", since most programmers write low-quality programs that barely work at all. That doesn't mean that you shouldn't try to do a good job, even though quality in the industry is "dead".

Don't base what you do on the actions of an ignorant majority. If you like Lisp, use Lisp. You won't be the only one.

Re: Doug McIlroy: McCarthy Presents Lisp

#17
post #2

I always wondered why Lisp is dead in the water. I got replies from people that never professorially coded anything in Lisp or Scheme (yeah..) - argument was along the lines that in the past hardware was always dictating lower level languages and leagues of people were taught the ways of the everyday code that was only a few (if any) levels above the hardware. Thus, all of the primitives of the age (ASM, C, Pascal, w…

Can anyone, preferably a pro Lisp or Scheme developer give a rationale why it isn't used more often?

You will need to bite bullets, take responsibilities and own projects and budgets if you want to use lisp at "work". I am doing my current project in Common Lisp, all the way down. It wasn't always like that; I started as project manager for a tiny but growing PHP codebase. The application domain is both too broad, and also error prone; a large web application platform. There are both budget and time constraints and corporate buyers are on our ass daily.

Between conference calls and discussions with the outsourcing company that was doing our project, I decided to prototype it on the side in CL and see how far I can go. Honestly, I prototyped it just to see if I understood the application domain. The programmers where coming to me on an hourly basis asking questions and it came down to the level where I had to spoon-feed them fully specified PHP classes, well documented API designs and database models. These guys were just typing out my sweat and getting paid for it.

I bit the bullet, took full responsibility, looked my boss in the eye and and said it was now MY project.

Re: Doug McIlroy: McCarthy Presents Lisp

#19
post #3

* It turned out you could do it: I programmed it for the IBM 704.* Anyone else find this comment motivating? It kind of sums up a moment of reflection I guess I somehow aspire to. Find an insanely difficult challenge, that you deem important enough to devote a significant amount of time and energy to, and then one day: "It turns out you could do it: I programmed it for the ${preferred architecture} ." Thanks Doug^H^H…

I took him to mean that he had programmed a subroutine that could call itself, but only as a curiosity, and that it was McCarthy's talk that made it clear for the first time what was important about recursion.

Speaking of Steve Russell, does anybody know what became of him? It's extraordinary that he wrote both the first Lisp interpreter and the first computer game.

Re: Doug McIlroy: McCarthy Presents Lisp

#20
post #19
post #3

* It turned out you could do it: I programmed it for the IBM 704.* Anyone else find this comment motivating? It kind of sums up a moment of reflection I guess I somehow aspire to. Find an insanely difficult challenge, that you deem important enough to devote a significant amount of time and energy to, and then one day: "It turns out you could do it: I programmed it for the ${preferred architecture} ." Thanks Doug^H^H…

I took him to mean that he had programmed a subroutine that could call itself, but only as a curiosity, and that it was McCarthy's talk that made it clear for the first time what was important about recursion. Speaking of Steve Russell, does anybody know what became of him? It's extraordinary that he wrote both the first Lisp interpreter and the first computer game.

Ok, I see that now. Thanks.

Not sure about Steve Russell, but I agree that is rather extraordinary.

Post reply on HN