When I first tried to learn Lisp in 1973, there really were no useful
textbooks. But for a long time now, there have been textbooks more
practical than SIPC. David Touretzky's "Common Lisp: A Gentle
Introduction to Symbolic Computing" was published 18 years ago. And
now we have Peter Seibel's "Practical Common Lisp".
I've heard before that it's hard to get good help, or even friendly
help, from the Lisp community. I've never been in the position that
you were in; I learned Lisp at the feet of the masters at MIT when I
was a freshman. For people to treat you that way is inexcusable. I
don't know what to do about this.
You mention Viaweb. There are really two questions here. First, why
do some Lisp applications get rewritten (usually into Java, these
days) after (or sometimes even before) the original authors leave?
Second, why do some people answer "because they are idiots"?
The answer to the second question is just frustration. When Lisp
people are talking to each other, they already know the real answer to
the first question, and all they're doing is expressing a shared sense
of disappointment between each other.
The real answer to the first question is usually that the managers
were never truly comfortable with Lisp. They know it's unusual.
There used to be an old saying in the computer industry: "Nobody gets
fired for buying IBM." It means that if you make the conventional
decision, and something goes wrong, you can always say "well, it can't
be the fault of my decision, since everybody else does that."
We've all seen cases where the decision to use Lisp was blamed for the
failure of a project, when the real blame lay elsewhere. My favorite
story of this sort was a major electric CAD (computer aided design)
research project at the MCC consortium. They said that they were
going to switch away from Lisp because Lisp is "too slow". Analysis
of theis architecture showed that for every single transistor and
every single wire, they were using remote objects, on different
computers, that had to be located using a network resource-finding
protocol. In short, their fundamental architecture was inherently
slow, and would have been just as slot in any other language. But
Lisp was a convenient scapegoat.
After a lot of this, Lisp people tend to get defensive, and develop
something of a "circle the wagons" mentality. This is self-defeating
and must end.
There are also some less-specious concerns with using an unusual
language, such as whether you can find people who are already
experienced programmers, whether there is a large enough community
developing libraries, and so on.
Your main point, about how it's the community, the libraries, the
literature, etc. is fundamentally true, and that is indeed what we
need to focus on.
As for "isn't that rather sad", to me it's quite the opposite. Peter
Seibel's book is great news. The use of the phrase "not been clever
enough", however, is unfair. Writing a great textbook is very hard.
If you're a great textbook writer, making your living by selling
books, you have a lot of incentive to focus your energies on a
language with lots of users, so that you have a larger target market.
There's a lot of work to be done to deal with the valid issues that
you have raised. There's a new generation of Common Lisp enthusiasts
now, and new energy to deal with these issues. I hope to see a lot
of progress in the next couple of years.
Lisp textbooks, why Lisp people get defensive, and the future
When I first tried to learn Lisp in 1973, there really were no useful
textbooks. But for a long time now, there have been textbooks more
practical than SIPC. David Touretzky's "Common Lisp: A Gentle
Introduction to Symbolic Computing" was published 18 years ago. And
now we have Peter Seibel's "Practical Common Lisp".
I've heard before that it's hard to get good help, or even friendly
help, from the Lisp community. I've never been in the position that
you were in; I learned Lisp at the feet of the masters at MIT when I
was a freshman. For people to treat you that way is inexcusable. I
don't know what to do about this.
You mention Viaweb. There are really two questions here. First, why
do some Lisp applications get rewritten (usually into Java, these
days) after (or sometimes even before) the original authors leave?
Second, why do some people answer "because they are idiots"?
The answer to the second question is just frustration. When Lisp
people are talking to each other, they already know the real answer to
the first question, and all they're doing is expressing a shared sense
of disappointment between each other.
The real answer to the first question is usually that the managers
were never truly comfortable with Lisp. They know it's unusual.
There used to be an old saying in the computer industry: "Nobody gets
fired for buying IBM." It means that if you make the conventional
decision, and something goes wrong, you can always say "well, it can't
be the fault of my decision, since everybody else does that."
We've all seen cases where the decision to use Lisp was blamed for the
failure of a project, when the real blame lay elsewhere. My favorite
story of this sort was a major electric CAD (computer aided design)
research project at the MCC consortium. They said that they were
going to switch away from Lisp because Lisp is "too slow". Analysis
of theis architecture showed that for every single transistor and
every single wire, they were using remote objects, on different
computers, that had to be located using a network resource-finding
protocol. In short, their fundamental architecture was inherently
slow, and would have been just as slot in any other language. But
Lisp was a convenient scapegoat.
After a lot of this, Lisp people tend to get defensive, and develop
something of a "circle the wagons" mentality. This is self-defeating
and must end.
There are also some less-specious concerns with using an unusual
language, such as whether you can find people who are already
experienced programmers, whether there is a large enough community
developing libraries, and so on.
Your main point, about how it's the community, the libraries, the
literature, etc. is fundamentally true, and that is indeed what we
need to focus on.
As for "isn't that rather sad", to me it's quite the opposite. Peter
Seibel's book is great news. The use of the phrase "not been clever
enough", however, is unfair. Writing a great textbook is very hard.
If you're a great textbook writer, making your living by selling
books, you have a lot of incentive to focus your energies on a
language with lots of users, so that you have a larger target market.
There's a lot of work to be done to deal with the valid issues that
you have raised. There's a new generation of Common Lisp enthusiasts
now, and new energy to deal with these issues. I hope to see a lot
of progress in the next couple of years.