Benefits of moving from Python to Common Lisp?

Tim Bradshaw tfb+google at tfeb.org
Thu Nov 15 06:24:18 EST 2001


> 
> Tim's point was that standardizing a library is a complicated and
> expensive process.  My point is that the Python library
> (standardized or not) works with quite different runtimes.  Why
> aren't there similarly widely used though non-standard libraries
> for CL for "doing stuff like internet programming"?  [Paul Rubin]
> 

I think the answer has to do with how the compatibility is ensured. 
My guess is that for Python it works something like this: there is a
canonical implementation.  Libraries work in that implementation. 
Other implementators work to make sure that the libraries work in
their implementations too.  Maybe there is some common documentation,
but it probably ultimately comes down to what the canonical
implementation does.  This is just like Unix in the early days or C,
or pretty much anything really.  It works pretty well as far as it
goes.  It means that it's really easy to do stuff like sockets or
something, because you just do what the canonical implementation does.

Now imagine the canonical implementation is owned by Microsoft. 
Suddenly it has been changed so it's really hard to make it work on
any platform other than Windows.  Oh, and they've hired 58 people,
doubled the size of the language and specified a couple of APIs as
part of it with 4000 ill-defined entrypoints each.
There is now only one realistic implementation, because no-one else
can keep up.  2 years later they quietly drop the language in favour
of visual basic.

Perhaps what you want at this point is a really carefully defined,
implementor-neutral standard.

> For example, back in the Perl4 days when CGI programming first
> became hot, just about everyone used cgi-lib.pl even though it
> wasn't part of the standard Perl library, and this was pre-CPAN.

This is a completely different thing.  Perl is single-implementation,
standards are not relevent.

--tim



More information about the Python-list mailing list