Lisp quotes

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Lisp quotes

Post by sje »

From: http://en.wikiquote.org/wiki/Lisp_programming_language

-------- Diverse:

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. — "The Humble Programmer", E. Dijkstra, CACM, vol. 15, n. 10, 1972

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

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

LISP stands for: Lots of Insane Stupid Parentheses. — Anonymous

SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. — Philip Greenspun

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. — Dino Dai Zovi

-------- My favorites:

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

Q: How can you tell when you've reached Lisp Enlightenment?
A: The parentheses disappear. — Anonymous
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Lisp quotes

Post by bob »

sje wrote:From: http://en.wikiquote.org/wiki/Lisp_programming_language

-------- Diverse:

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. — "The Humble Programmer", E. Dijkstra, CACM, vol. 15, n. 10, 1972

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

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

LISP stands for: Lots of Insane Stupid Parentheses. — Anonymous

SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. — Philip Greenspun

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. — Dino Dai Zovi

-------- My favorites:

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

Q: How can you tell when you've reached Lisp Enlightenment?
A: The parentheses disappear. — Anonymous
My favorite: Lisp, the first and last write-only language.
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Lisp quotes

Post by Dirt »

bob wrote:
sje wrote:From: http://en.wikiquote.org/wiki/Lisp_programming_language

-------- Diverse:

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. — "The Humble Programmer", E. Dijkstra, CACM, vol. 15, n. 10, 1972

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

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

LISP stands for: Lots of Insane Stupid Parentheses. — Anonymous

SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. — Philip Greenspun

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. — Dino Dai Zovi

-------- My favorites:

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

Q: How can you tell when you've reached Lisp Enlightenment?
A: The parentheses disappear. — Anonymous
My favorite: Lisp, the first and last write-only language.
I thought that was APL.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Lisp quotes

Post by bob »

Dirt wrote:
bob wrote:
sje wrote:From: http://en.wikiquote.org/wiki/Lisp_programming_language

-------- Diverse:

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. — "The Humble Programmer", E. Dijkstra, CACM, vol. 15, n. 10, 1972

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

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

LISP stands for: Lots of Insane Stupid Parentheses. — Anonymous

SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. — Philip Greenspun

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. — Dino Dai Zovi

-------- My favorites:

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

Q: How can you tell when you've reached Lisp Enlightenment?
A: The parentheses disappear. — Anonymous
My favorite: Lisp, the first and last write-only language.
I thought that was APL.
I actually liked APL. Ton of operators, but at least it was semi-readable without having to physically count parens. :)
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Lisp quotes

Post by Tord Romstad »

bob wrote:My favorite: Lisp, the first and last write-only language.
Perhaps it depends on where you're coming from? I'm a mathematician, not a programmer. What initially attracted me to Lisp was the simplicity, beauty and readability of the syntax compared to the other languages I had seen at that time (Simula, C and Pascal). Now it is only of many reasons I prefer Lisp over other languages, but in the beginning it was the syntax that won me over.

Memorizing operator precedence rules, where to put semicolons, and what sort or braces/brackets/parens you should use for different constructs may be second nature for programmers, but for the rest of us it is painful and frustrating. My experience is that Lisp is a very easy language to teach to non-programmers (or at least to mathematicians, musicians and linguists), and that the same people react with horror and disgust if you show them a piece of Java or C code.

More important than the simplicity and readability of the base syntax, however, is the flexibility: When working on a large-scale real-world program, I want to be able to modify and extend the syntax, and to define new syntactic constructs tailor-made for the problem domain. I want a syntax that is simple, but completely programmable, and where all funny characters don't have a fixed, pre-defined meaning. Lisp is not just a programming language, but also a language building toolkit, which allows me to try to build the ideal language for whatever problem I am working on.

Clearly I am not alone in preferring the simple and fluid syntax: Other Lispers are also frustrated by the awkward and complex syntax of other languages, and Lisp dialects with mainstream syntaxes (like Dylan) have never caught on.
I actually liked APL. Ton of operators, but at least it was semi-readable without having to physically count parens. :)
If you count parens while reading or writing Lisp, there is something fundamentally wrong with your approach. I program in Common Lisp eight hours daily (actually, more like twelve hours daily these days, but I hope it won't stay like that) at my job, and I never count parens, or manually try to match parens with each other. I hardly even look at them: They are there for the computer, not for me.

Tord
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Lisp quotes

Post by sje »

Tord Romstad wrote:I never count parens, or manually try to match parens with each other. I hardly even look at them: They are there for the computer, not for me.
Ah, so you too have reached Lisp Enlightenment.

The truth is that just about any editor more advanced than Unix's ed will handle automated nested indentation and parentheses matching.

Lisp code written by professionals for professionals is marked by a large percentage of relatively short functions, many of them less than ten lines in length. Longer Lisp functions than work are usually made from sequences of smaller function bodies in a cond/case operation, so relative simplicity is retained. It is rare to see a Lisp function using a "go" (= goto) or to see a function that doesn't exit only from the bottom of the definition. The rule is that when the vertical separation of conditional alternatives, or their nesting, becomes too much to easily decipher, then it's time to split that function into several smaller functions. And unlike most languages, the overhead for a Lisp function call is very small.

But there can be some problems. Sometimes a simple cut'n'paste of one or more entire lines of code will have a mismatched parenthesis or two because of nested context differences. Fortunately the editor will catch this. Some editors have a parenthesis matching problem if they see a parenthesis inside a literal and mistakenly believe it must be matched. Another difficulty is that vertical white space that can help legibility in other languages often does the opposite in Lisp.
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Lisp quotes

Post by Tord Romstad »

sje wrote:But there can be some problems. Sometimes a simple cut'n'paste of one or more entire lines of code will have a mismatched parenthesis or two because of nested context differences. Fortunately the editor will catch this.
Actually, for me Lisp is the only programming language where this problem doesn't exist at all. I never cut and paste by lines -- indeed my editor doesn't even allow me to do so. I can only cut and paste entire S-expressions. One of the advantages of the Lisp syntax is that it is so much more comfortable to edit and navigate in the code: Moving, copying, cuting and pasting by S-expressions is so much faster and more convenient than doing it by lines and characters.
Some editors have a parenthesis matching problem if they see a parenthesis inside a literal and mistakenly believe it must be matched.
Possibly, although I haven't seen it myself. I agree that a decent editor is even more important in Lisp than in other programming languages.
Another difficulty is that vertical white space that can help legibility in other languages often does the opposite in Lisp.
A matter of taste, perhaps. I think vertical whitespace usually hurts legibility in other languages as well, and most C/C++ programs contain far too much vertical whitespace for my taste (including my own chess program; the excessive whitespace is there for other readers, not for me). As a general rule, I prefer a single line of whitespace between each function, and sometimes a single line of whitespace between the local variable declarations and statements at the beginning of a block, and no vertical whitespace elsewhere. I also hate lines containing nothing but a closing curly brace, and prefer to put multiple such braces on a single line. Everybody else seems to hate this style, so I don't use it in my chess program.

Tord
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Lisp quotes

Post by sje »

The only real annoyance with the editor I'm using (Apple Xcode) is that the usual double click to select an identifier token doesn't always work because of the differences in token rules between C++ and Lisp. For example, all tokens with hyphens.