Why is Python popular, while Lisp and Scheme aren't?

Paul Foley see at below.invalid
Wed Nov 13 06:35:03 EST 2002


On Tue, 12 Nov 2002 21:08:58 -0800, Erik Max Francis wrote:

> Paul Foley wrote:
>> On Tue, 12 Nov 2002 13:03:43 -0800, Erik Max Francis wrote:
>> 
>> > Note that for "first tastes," Scheme is probably a better
>> > introduction [clipped]
>> 
>> "Introduction" to what?  Scheme and Lisp are very different languages.

> To Lisp-like languages, which was clearly stated in the line you trimmed
> which immediately followed the one you quoted here.  My point is that if

I know.  But, as I said, Scheme and Lisp are very different languages.
I.e., Scheme is /not/ a good introduction to Lisp (and vice versa),
any more than, say, INTERCAL is a good introduction to Java :-)

Worse, most people who learn Scheme first don't seem to be capable of
learning Lisp later.

[What do you mean by "Lisp-like language" anyway?  Python seems pretty
Lisp-like to me...]

>> > Scheme doesn't have this distinction between a symbol and the
>> > function
>> > associated with it, so there's no distinction between ' and #'.
>> 
>> It most certainly does, and there is.

> To explicitly apply a function to a list of arguments in Common Lisp you
> would write:

> 	(apply #'+ '(1 2 3))

Yes.

> In Scheme this is an error, since #'... has no meaning in Scheme. 

Right.

> Instead, you would write:

> 	(apply + '(1 2 3))

Yes.  Not (apply '+ '(1 2 3)), replacing #' with ' as you imply; that
would be an error in Scheme.  (It's legal Lisp)

There is a distinction between "a symbol and the function associated
with it" -- there is no function associated with a symbol, in Scheme,
and symbols and functions are different things.

There is a distinction between ' and #' -- one is invalid syntax and
the other returns a symbol (or something else), not the function that
#' returns in CL.

-- 
Whenever you find that you are on the side of the majority, it is time
to reform.                                                  -- Mark Twain

(setq reply-to
  (concatenate 'string "Paul Foley " "<mycroft" '(#\@) "actrix.gen.nz>"))



More information about the Python-list mailing list