Famous Programers on How Common Lisp Sucks
A collection of negative quotes on Common Lisp. This is originally collected in a post to comp.lang.lisp newsgroup by “WJ” [w_a_x_…@yahoo.com] At http://groups.google.com/group/comp.lang.lisp/msg/339b2b978a4a5a08 .
Guy L Steele
Guy L. Steele, Jr.'s foreword in Scheme and the Art of Programming.
I think we may usefully compare the approximate number of pages in the defining standard or draft standard for several programming languages:
Common Lisp 1000 or more COBOL 810 ATLAS 790 Fortran 77 430 PL/I 420 BASIC 360 ADA 340 Fortran 8x 300 C 220 Pascal 120 DIBOL 90 Scheme 50
[Scheme and the Art of Programming By George Springer, Daniel P Friedman. At Buy at amazon]
See also: Guy Steele Says: Don't Iterate, Recurse, and Get rid of lisp cons! .
Richard Stallman
Discussion of lisp, ~1979. https://ml.cddddr.org/info-lispm/threads.html#00305 we can see many lisp pioneers. Richard M Stallman, David A Moon, Richard Greenblatt, Guy L Steele, Richard Fateman, Dick Gabriel, Daniel L Weinreb, Kent M Pitman, Scott E Fahlman.
Rodney A Brooks, Richard P Gabriel
Every decision of the committee can be locally rationalized as the right thing. We believe that the sum of these decisions, however, has produced something greater than its parts; an unwieldy, overweight beast, with significant costs (especially on other than micro-codable personal Lisp engines) in compiler size and speed, in runtime performance, in programmer overhead needed to produce efficient programs, and in intellectual overload for a programmer wishing to be a proficient COMMON LISP programmer.
source 〔A Critique of Common Lisp By Rodney A Brooks and Richard P Gabriel. At http://www.dreamsongs.com/Files/clcrit.pdf , accessed on 2012-05-12〕
Richard P Gabriel home page: http://www.dreamsongs.com/Essays.html
Richard Gabriel
“Common Lisp is a significantly ugly language. If Guy and I had been locked in a room, you can bet it wouldn't have turned out like that” — WESTEX 86 (or maybe 85).
Newsgroups: comp.lang.lisp From: jjac...@well.UUCP (Jeffrey Jacobs) Date: 15 Dec 87 04:15:24 GMT Subject: Re: FORTRAN,ADA http://groups.google.com/group/comp.lang.lisp/msg/000c29799e6ee0d8
Paul Graham
Paul Graham (computer programmer)
Historically, Lisp has been good at letting hackers have their way. The political correctness of Common Lisp is an aberration. Early Lisps let you get your hands on everything.
A hacker's language needs powerful libraries and something to hack. Common Lisp has neither. A hacker's language is terse and hackable. Common Lisp is not.
The good news is, it's not Lisp that sucks, but Common Lisp.
source 〔Being Popular By Paul Graham. At http://paulgraham.com/popular.html , accessed on 2015-01-16〕
Do you really think people in 1000 years want to be constrained by hacks that got put into the foundations of Common Lisp because a lot of code at Symbolics depended on it in 1988?
source 〔Y Store now C++ By Paul Graham. At http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02367.html , accessed on 2015-01-16〕
Daniel Weinreb
Having separate “value cells” and “function cells” (to use the “street language” way of saying it) was one of the most unfortuanate issues. We did not want to break pre-existing programs that had a global variable named “foo” and a global function named “foo” that were distinct. We at Symbolics were forced to insist on this, in the face of everyone's knowing that it was not what we would have done absent compatibility constraints. It's hard for me to remember all the specific things like this, but if we had had fewer compatibility issues, I think it would have come out looking more like Scheme in general.
source 〔Y Store now C++ By Daniel Weinreb. At http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02374.html , accessed on 2015-01-16〕
Lisp2 means that all kinds of language primitives have to exist in two versions, or be parameterizable as to whether they are talking about the value cell or function cell. It makes the language bigger, and that's bad in and of itself.
source 〔Y Store now C++ By Daniel Weinreb. At http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg02462.html , accessed on 2015-01-16〕
See also: 〔Dan Weinreb: Loop By Dan Weinreb. At http://paulgraham.com/loop.html , accessed on 2015-01-16〕.
See also:
Gilles Kahn
Gilles Kahn (1946 to 2006):
To this day I have not forgotten that Common Lisp killed Lisp, and forced us to abandon a perfectly good system, LeLisp.
Jeffrey M. Jacobs
(I couldn't find info about Jeffrey M Jacobs.)
Common LISP is the PL/I of Lisps. Too big and too incomprehensible, with no examiniation of the real world of software engineering.
CL is a nightmare; it has effectively killed LISP development in this country. It is not commercially viable and has virtually no future outside of the traditional academic/defense/research arena. It should be embarassing to everybody in the field that most shells and tools are no longer written in LISP.
Newsgroups: comp.lang.lisp From: jjac...@well.UUCP (Jeffrey Jacobs) Date: 15 Dec 87 04:15:24 GMT Subject: Re: FORTRAN,ADA http://groups.google.com/group/comp.lang.lisp/msg/000c29799e6ee0d8
One of the key issues that I consider distinguishes “Real LISP” from Common LISP is indeed the strong committment to the equivalence of data (meaning list structures) and code. I consider this idea one of the foundations of “Real LISP”, and Common LISP intent is vague at best. InterLISP, for example, still makes a declaration of this philosophy in the manual, and it is still one of the keystones in the teaching of LISP (although whether it should be when teaching Common LISP is open to question).
Newsgroups: comp.lang.lisp From: jjac...@well.UUCP Date: Sat, 21-Feb-87 22:17:41 EST Local: Sat, Feb 21 1987 8:17 pm Subject: Common LISP Scoping and Variables http://groups.google.com/group/comp.lang.lisp/msg/264e2baeb5df2eb0
I think CL is the WORST thing that could possibly happen to LISP. In fact, I consider it a language different from “true” LISP.
*****
… The CL effort resembles a bunch of spoiled children, each insisting “include my feature or I'll pull out, and then we'll all go down the tubes”. Everybody had vested interests, both financial and emotional.
Chez Bernard Lang
Common Lisp did kill Lisp. Period. (just languages take a long time dying …) It is to Lisp what C++ is to C. A monstrosity that totally ignores the basics of language design, simplicity and orthogonality to begin with.
Reference
The Evolution of Lisp, table of contents
- Introduction
- Implementation Projects Chronology
- From Lisp 1.5 to PDP-6 Lisp: 1960–1965
- MacLisp
- Interlisp
- The Early 1970’s
- The Demise of the PDP-10
- Lisp Machines
- IBM Lisps: Lisp360 and Lisp370
- Scheme: 1975–1980
- Prelude to Common Lisp: 1980–1984
- Early Common Lisp
- Other Stock Hardware Dialects: 1980–1984
- Standards Development: 1984–1990
Evolution of Some Specific Language Features
- The Treatment of NIL (and T)
- Iteration
- Macros
- Numerical Facilities
- Some Notable Failures
- Lisp as a Language Laboratory
- Why Lisp is Diverse
〔The Evolution of Lisp By Guy L Steele Jr., Richard P Gabriel. At http://www.dreamsongs.com/Files/Hopl2.pdf , accessed on 2015-09-22〕
- Lisp Celebrities and Computing History from “Worse Is Better”
- Paul Graham's Infatuation with the Concept of Hacker
- Why Lisp Do Not Have A Generic Copy-List Function
- Programing Language: A Ruby Illustration of Lisp Problems
- What is Your Favorite Lisp
- Why Learn Lisp When There Are Perl and Python
- Language, Purity, Cult, and Deception
- Scheme Lisp and Failure
- What is Lisp-1, What's Lisp-2? Bad Jargon or Good Jargon?