From: Simon on
I'm deeply interested in Lisp. I'm learning it through Peter Seibel's
PCL.

One comment I find a lot when people talk about Lisp is that Lisp is
wonderful, but CL has a lot of problems (problems I cannot understand
due to my newbieness). Now, I don't want to learn the wrong Lisp.

What do people mean by Lisp in this context? Is it Lisp 1, Lisp 1.5,
the particular dialect they used and fall in love with?

If this unidentified Lisp is so great, why don't they use it and avoid
all the pitfalls of CL?
From: Tamas K Papp on
On Sat, 12 Jun 2010 09:36:50 -0700, Simon wrote:

> I'm deeply interested in Lisp. I'm learning it through Peter Seibel's
> PCL.
>
> One comment I find a lot when people talk about Lisp is that Lisp is
> wonderful, but CL has a lot of problems (problems I cannot understand

Could you perhaps give references?

> due to my newbieness). Now, I don't want to learn the wrong Lisp.

You will lose nothing by learning CL. If you don't end up liking it,
it will be easy to switch. Even if you get settled in one Lisp dialect,
it makes sense to explore others from time to time.

> What do people mean by Lisp in this context? Is it Lisp 1, Lisp 1.5, the
> particular dialect they used and fall in love with?

I guess it depends on the person making these claims. Why don't you
ask them instead? Or at least tell us who is making these statements.

BTW, nowadays Lisp1 is used for Lisps with a single namespace (eg
Scheme), not for the first Lisp implementation. So don't interpret it as
a version number, early Lisp versions are not in practical use nowadays.

> If this unidentified Lisp is so great, why don't they use it and avoid
> all the pitfalls of CL?

Again, why don't you ask them? Why should people on c.l.l speculate
about vague statements like this? People like to bash other people's
choices for no good reasons - don't be mislead by this.

People have their own preferences about Lisp dialects. I started with
Scheme, and quickly switched to CL. I can imagine people going the
other way, but since I don't share their preferences, I am not the
best person to speculate about their reasons.

Basically, you have three options:

1. Google for CL/Scheme/... comparisons. There are plenty.

2. Loop up the zillion X vs Y threads in the archives. Be warned that
some of these quickly degenerate to flamewars.

3. Pick the dialect you like best, and start coding. Once you
understand the basic concepts, experiment with another one.

Personally, I would just go for the last option, and start learning CL
from Peter Seibel's Practical Common Lisp, available online. But if you
want to go for other dialects, you can ask on their forums about good
books/intros/tutorials.

Cheers,

Tamas
From: Giovanni Gigante on
Simon wrote:
> I'm deeply interested in Lisp. I'm learning it through Peter Seibel's
> PCL.
>
> One comment I find a lot when people talk about Lisp is that Lisp is
> wonderful, but CL has a lot of problems (problems I cannot understand
> due to my newbieness). Now, I don't want to learn the wrong Lisp.
>
> What do people mean by Lisp in this context? Is it Lisp 1, Lisp 1.5,
> the particular dialect they used and fall in love with?
>
> If this unidentified Lisp is so great, why don't they use it and avoid
> all the pitfalls of CL?


From a still-partly-newbie:

There is no Lisp per se, nor "unidentified lisp". Lisp is a family of
languages.

The most evident feature of CL is that it's a very big language. This
means that it's either "bloated"/"unelegant" or
"feature-rich"/"industrial strength", depending on the point of view.

Another thing: CL is a "lisp-2", meaning that there are separate
namespaces for functions and values. Instead, Scheme is a "lisp-1".
There are advantages and disadvantages, none of which should you care at
the moment.

"Lisp 1" (without the hyphen) and "lisp 1.5", instead, refer to very
early designs, of antiquarian interest only.

There is no wrong lisp to learn. All lisps are right. Stay with CL, it's
fine.

gg
From: Tim Bradshaw on
On 2010-06-12 17:36:50 +0100, Simon said:
>
> One comment I find a lot when people talk about Lisp is that Lisp is
> wonderful, but CL has a lot of problems (problems I cannot understand
> due to my newbieness). Now, I don't want to learn the wrong Lisp.

I think what you are obsreving is that Lisp people like to moan, and
complaining about the indequacies of various dialects & implementations
is a very common way they do this. The reasons for this are lost in
time - however you'll fairly quickly realise that people are often
complaining vigorously to avoid actually getting stuff done, often
because they don't really have much idea what to do: obviously if you
can persuade yourself that it's *Lisp* preventing you from writing the
Great American Compiler, then you don't have to face the fact that, in
fact, it's you.

> If this unidentified Lisp is so great, why don't they use it and avoid
> all the pitfalls of CL?

There are two very common patterns you'll see. Firstly is the CL/other
lisp-related-language thing, where adherents of the other sect spend a
huge amount of time being rude about CL. The other is "once upon a
time, we had <implementation> which was perfect, but now it is gone,
nothing will ever be that good again, the heroes have ridden into the
west it is the end of an age mutter". What they never say was that
<implementation> was used by 6 people ever, was written in assembler on
a machine which could address some tens of k and executed a few hundred
thousand instructions a second, didn't have a working garbage
collector, had only upper-case characters, used octal, had no string
data type, no numbers greater than 48.6, and in fact on closeer
investigation turns out never to have existed at all.

CL is just fine.

From: Simon on
On Jun 13, 2:29 am, Tim Bradshaw <t...(a)tfeb.org> wrote:
> On 2010-06-12 17:36:50 +0100, Simon said:
>
>
>
> > One comment I find a lot when people talk about Lisp is that Lisp is
> > wonderful, but CL has a lot of problems (problems I cannot understand
> > due to my newbieness). Now, I don't want to learn the wrong Lisp.
>
> I think what you are obsreving is that Lisp people like to moan, and
> complaining about the indequacies of various dialects & implementations
> is a very common way they do this.  The reasons for this are lost in
> time - however you'll fairly quickly realise that people are often
> complaining vigorously to avoid actually getting stuff done, often
> because they don't really have much idea what to do: obviously if you
> can persuade yourself that it's *Lisp* preventing you from writing the
> Great American Compiler, then you don't have to face the fact that, in
> fact, it's you.
>
> > If this unidentified Lisp is so great, why don't they use it and avoid
> > all the pitfalls of CL?
>
> There are two very common patterns you'll see.  Firstly is the CL/other
> lisp-related-language thing, where adherents of the other sect spend a
> huge amount of time being rude about CL.  The other is "once upon a
> time, we had <implementation> which was perfect, but now it is gone,
> nothing will ever be that good again, the heroes have ridden into the
> west it is the end of an age mutter".  What they never say was that
> <implementation> was used by 6 people ever, was written in assembler on
> a machine which could address some tens of k and executed a few hundred
> thousand instructions a second, didn't have a working garbage
> collector, had only upper-case characters, used octal, had no string
> data type, no numbers greater than 48.6, and in fact on closeer
> investigation turns out never to have existed at all.
>
> CL is just fine.

Thank you all for your answers. I'll continue learning CL and then see
from there where to go next.

I don't remember all the comments I read about some-great-Lisp vs. CL,
but one easy to locate is Paul Graham's http://www.paulgraham.com/popular.html
.. I quote from section 4 Hackability:

« 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 really good language should be both clean and dirty: cleanly
designed, with a small core of well understood and highly orthogonal
operators, but dirty in the sense that it lets hackers have their way
with it. C is like this. So were the early Lisps. »