Lisp programming language

Lisp is a family of computer programming languages based on formal functional calculus. Lisp (for "List Processing Language") stores and manipulates programs in the same manner as any other data, making it well suited for "meta-programming" applications. One of the oldest "high level" programming languages (second only to Fortran), Lisp continues to be popular in the field of artificial intelligence down to the present day.

About Lisp

  • Lisp has jokingly been called "the most intelligent way to misuse a computer". I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.
    • Edsger W. Dijkstra, The Humble Programmer, 1972 Turing Award Lecture, Communications of the ACM 15 (10), (October 1972): pp. 859–866

  • Common Lisp is politics, not art.
    • Scott Fahlman

  • Lisp is a programmable programming language.
    • John Foderaro, CACM, September 1991

  • Lisp is the red pill.
    • John Fraser, comp.lang.lisp

  • SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing.
    • Philip Greenspun, blog, 07-03-2005

  • One of the most important and fascinating of all computer languages is Lisp (standing for "List Processing"), which was invented by John McCarthy around the time Algol was invented.
    • Douglas Hofstadter, Gödel, Escher, Bach: an Eternal Golden Braid


  • The greatest single programming language ever designed.
    • Alan Kay, on Lisp

  • Lisp isn't a language, it's a building material.
    • Alan Kay

  • The conception of list processing as an abstraction created a new world in which designation and dynamic symbolic structure were the defining characteristics. The embedding of the early list processing systems in languages (the IPLs, LISP) is often decried as having been a barrier to the diffusion of list processing techniques throughout programming practice; but it was the vehicle that held the abstraction together.

  • Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
    • Eric S. Raymond, "How to Become a Hacker".

  • Emacs is written in Lisp, which is the only computer language that is beautiful.
    • Neal Stephenson, In the Beginning Was the Command Line

  • By policy, LISP has never really catered to mere mortals. And, of course, mere mortals have never really forgiven LISP for not catering to them.

  • We all know that Lisp is the best language around, but in the hands of most it becomes like that scene in Fantasia when Mickey Mouse gets the wand.

  • Lisp is like a ball of mud - you can throw anything you want into it, and it's still Lisp.
    • Anonymous

Comparing Lisp to other languages

  • Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.
    • Philip Greenspun's Tenth Rule of Programming

  • Pascal is for building pyramids -- imposing, breathtaking, static structures built by armies pushing heavy blocks into place. Lisp is for building organisms -- imposing, breathtaking, dynamic structures built by squads fitting fluctuating myriads of simpler organisms into place.
    • Alan Perlis

  • Java was, as Gosling says in the first Java white paper, designed for average programmers. It's a perfectly legitimate goal to design a language for average programmers. (Or for that matter for small children, like Logo.) But it is also a legitimate, and very different, goal to design a language for good programmers.
    • Paul Graham

  • LISP has survived for 21 years because it is an approximate local optimum in the space of programming languages
    • John McCarthy (1980)

  • And you're right: we were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. Aren't you happy?
    • Guy Steele - Sun Microsystems Labs (about Java)

  • Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs."
    • Nikodemus Siivola

  • No [programming] language feels more natural than Lisp. There's a real sense that while Python was invented by a brilliant programmer, Lisp is built into of the structure of the Universe.
    • Anonymous

  • I can't escape the sensation that I have already been thinking in Lisp all my programming career, but forcing the ideas into the constraints of bad languages, which explode those ideas into a bewildering array of details, most of which are workarounds for the language.
    • Kaz Kylheku

  • Programming in Lisp is like playing with the primordial forces of the universe. It feels like lightning between your fingertips. No other language even feels close.
    • Glenn Ehrlich

  • You can use C++ if you want with GNOME, but we don't assume that you're going to write C++. It's to a large extent based on Scheme, which is a dialect of LISP. LISP being the most powerful and cleanest of languages, that's the language that's the GNU project always prefers.
    • Richard Stallman

  • In an attempt on making a program language where you shorten everything and make it as small as possible, I suddenly found out that I'm only recreating Lisp without the parentheses.
    • Anonymous

Lisp macros

  • In Lisp, if you want to do aspect-oriented programming, you just do a bunch of macros and you're there. In Java, you have to get Gregor Kiczales to go out and start a new company, taking months and years and try to get that to work. Lisp still has the advantage there, it's just a question of people wanting that.
    • Peter Norvig

  • DOLIST is similar to Perl's foreach or Python's for. Java added a similar kind of loop construct with the "enhanced" for loop in Java 1.5, as part of JSR-201. Notice what a difference macros make. A Lisp programmer who notices a common pattern in their code can write a macro to give themselves a source-level abstraction of that pattern. A Java programmer who notices the same pattern has to convince Sun that this particular abstraction is worth adding to the language. Then Sun has to publish a JSR and convene an industry-wide "expert group" to hash everything out. That process--according to Sun--takes an average of 18 months. After that, the compiler writers all have to go upgrade their compilers to support the new feature. And even once the Java programmer's favorite compiler supports the new version of Java, they probably still can't use the new feature until they're allowed to break source compatibility with older versions of Java. So an annoyance that Common Lisp programmers can resolve for themselves within five minutes plagues Java programmers for years.
    • Peter Seibel, Practical Common Lisp.

Attitude of Lisp programmers

  • I have heard more than one LISP advocate state such subjective comments as, "LISP is the most powerful and elegant programming language in the world" and expect such comments to be taken as objective truth. I have never heard a Java, C++, C, Perl, or Python advocate make the same claim about their own language of choice.
    • A guy on Slashdot.

  • What theory fits this data?
    • Paul Graham, in response to the above

  • Just because we Lisp programmers are better than everyone else is no excuse for us to be arrogant.
    • Erann Gat

  • Only Lisp gods are omnipotent.
    • Anonymous

  • There are no average Lisp programmers. We are the Priesthood. Offerings of incense or cash will do.
    • Kenny Tilton at comp.lang.lisp

  • Common Lisp people seem to behave in a way that is akin to the Borg: they study the various new things that people do with interest and then find that it was eminently doable in Common Lisp all along and that they can use these new techniques if they think they need them.
    • Erik Naggum

  • If you want to know why Lisp doesn't win around you, find a mirror.
    • Erik Naggum

  • You seem (in my (humble) opinion (which doesn't mean much)) to be (or possibly could be) more of a Lisp programmer (but I could be (and probably am) wrong).

  • "In 30 years Lisp will likely be ahead of C++/Java (but behind something else)"
    • http://www.norvig.com/lisp_talk_final.htm, slide 9

Parentheses

  • Although my own previous enthusiasm has been for syntactically rich languages like the Algol family, I now see clearly and concretely the force of Minsky's 1970 Turing lecture, in which he argued that Lisp's uniformity of structure and power of self reference gave the programmer capabilities whose content was well worth the sacrifice of visual form.

  • Q: How can you tell when you've reached Lisp Enlightenment?
    A: The parentheses disappear.
    • Anonymous

  • More than anything else, I think it is the ability of Lisp programs to manipulate Lisp expressions that sets Lisp apart. And so no one who has not written a lot of macros is really in a position to compare Lisp to other languages. When I hear people complain about Lisp's parentheses, it sounds to my ears like someone saying: "I tried one of those bananas, which you say are so delicious. The white part was ok, but the yellow part was very tough and tasted awful."
    • Paul Graham

  • You are in a maze of twisty little parentheses, all alike.
    • Anonymous on comp.lang.python in reference to Colossal Cave

  • Lisp has all the visual appeal of oatmeal with fingernail clippings mixed in.
    • Larry Wall

  • LISP stands for: Lots of Irrelevant Sets of Parentheses.
    • Anonymous

  • These are your father's parentheses. Elegant weapons, for a more... civilized age.

  • Some said the world should be in Perl,
    Some said in Lisp.
    Now, having given both a whirl,
    I held with those who favored Perl.
    But I fear we passed to men
    A disappointing founding myth.
    And should we write it all again,
    I'd end it with
    A close-paren.
    • XKCD in a parody of Robert Frost.
 
Quoternity
SilverdaleInteractive.com © 2024. All rights reserved.