Steve Yegge is badly mis-informed. Large real programs have
been written entirely in lisp.

I am the lead developer on Axiom which is a very large lisp
project (about 1 million things of code) to do computer algebra.
The help system and graphics were implemented in C but browsers
did not exist at the time (1970s). These are being reimplemented
in lisp using Firefox and the canvas facility.

In the past I helped develop a product for building rule-based
programs which was sold by IBM. It was entirely in lisp.

I helped develop an expert system (FAME, a Finance and Marketing
Expert) to price and sell IBM mainframe hardware. It was written
entirely in lisp.

I developed a language (KROPS) which was a symmetric representation
of a knowledge language (KREP, Knowledge Representation) and a
rule-based language (OPS5 A rule-based language). It was entirely
in lisp.

I developed a robot planning program to build and assemble objects
from their computer-aided design descriptions (BOXER - A Design-
to-Build system). It was entirely in lisp.

Those are the systems I personally helped develop in lisp.
I know of many more large lisp programs. Google just bought a
company that developed in lisp.

I have worked commercially in over 60 languages.
Lisp is, by far, the fastest, easiest, and most flexible language.

I am currently working in Java to re-implement an algorithm I
prototyped in lisp. If I replace all of the required curly-braces
and semicolons in Java with parens it turns out that the Java
program has more parens than the lisp program. The lisp program
is 20 lines, the Java program has crossed 100 lines and is still
growing.

Non-lispers often complain that there are a lack of lisp libraries.
But if I contrast the lisp code I wrote with the Java code I find
that I need things in Java that I don't need in lisp. For instance:

In Java I need a graph library (JGraphT, about 10,000 lines of code
if I remove comments). But in lisp I just embed the graph as part of
the code making circular structures.

In Java I need "factory objects", "visitors", and other such pieces
of "design patterns". In lisp, I have never needed to write a "factory".
The whole "visitor" pattern becomes a 1-line (map...) call. To a lisper
"design patterns" are like dress patterns in sewing. If you can't sew
(program) you can still make something to use by copying a pattern.
But you can hardly consider yourself a Taylor (programmer).

So, yes, lisp does not HAVE a lot of libraries. But what people miss
is that lisp doesn't NEED libraries. Why have a graph library when you
can just embed the graph naturally in the data? When I wear my Java
hat I search for libraries to do what I want. When I wear my lisp hat
I simply do what I need. I can't remember when I needed a "library".
So, to a lisper, libraries have the flavor of crutches. Having a large
set of libraries (crutches) is not a feature.

I won't go on about macros (where Steve has no idea what he is talking
about) or CLOS (where Steve has no idea what he is talking about) or
any of the other points he tries to make.

Steve Yegge is clearly not a lisper. On the subject of lisp, I would
not consider him an authority worth quoting.

Instead I recommend watching the youtube MIT course on the Structure
and Interpretation of Computer Programs:
http://www.youtube.com/watch?v=2Op3QLzMgSY


Tim Daly



faenvie wrote:
http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html

a prophetic writing ... great !

thank you mike.


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to