axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Axiom-developer] Re: Doyen


From: Page, Bill
Subject: RE: [Axiom-developer] Re: Doyen
Date: Wed, 16 Nov 2005 17:39:57 -0500

On Wednesday, November 16, 2005 3:56 PM Jens Axel Søgaard asked:
> 
> Page, Bill wrote:
> 
> > I guess that learning how to program well in lisp is quite a
> > different thing than learning code re-use in general. In fact
> > Peter Norvig has argued that Lisp is not particularly well
> > suited to heterogeneous projects that involve several different
> > kinds of tools and programmers with varying levels of experience -
> > in other words most open source projects. Maybe this is changing
> > gradually.
> 
> Can you remember where Norvig argued that?
> 

I will have to accept that perhaps my biases colored somewhat my
memory of what Peter Norvig actually wrote. (Translation: I guess
I sort of put my foot in it again, eh? :) Of course in 1993 there
wasn't such a clear idea of open source as there is now so there
is no direct reference to open source.

Here is my best effort to find the exact quote I had in mind.

See:

Tutorial on Good Lisp Programming Style

Peter Norvig
Sun Microsystems Labs Inc.

Lisp Users and Vendors Conference
August 10, 1993.

http://www.norvig.com/luv-slides.ps
http://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf

pages 20, 21

To wit:

-------

1.2 How do I know if it's good?

Choose the Right Language

Choose the appropriate language, and use appropriate
features in the language you choose. Lisp is not the
right language for every problem.

"You got to dance with the one that brung you."
      - Bear Bryant

Lisp is good for:

- Exploratory programming
- Rapid prototyping
- Minimizing time-to-market
- Single-programmer (or single-digit team) projects
- Source-to-source or data-to-data transformation
  Compilers and other translators
  Problem-specific languages
- Dynamic dispatch and creation
  (compiler available at run-time)
- Tight integration of modules in one image
  (as opposed to Unix's character pipe model)
- High degree of interaction (read-eval-print, CLIM)
- User-extensible applications (gnu emacs)

"I believe good software is written by small teams of
two, three, or four people interacting with each other
at a very high, dense level."  - John Warnock

                                   ------- 20 -------

-------

1.2.  How do I know if it's good?

Choose the Right Language

"Once you are an experienced Lisp programmer, it's
hard to return to any other language." - Robert R. Kessler

Current Lisp implementations are not so good for:

- Persistent storage (data base)
- Maximizing resource use on small machines
- Projects with hundreds of programmers
- Close communication with foreign code
- Delivering small-image applications
- Real-time control (but Gensym did it)
- Projects with inexperienced Lisp programmers
- Some kinds of numerical or character computation
  (Works fine with careful declarations, but the Lisp
  efficiency model is hard to learn.)

                               -------- 21 --------

Besides these statements, this set of slides presents
a lot of other opinions about Lisp and programming in
general with which I agree.

Regards,
Bill Page.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]