Why is Python popular, while Lisp and Scheme aren't?
Alex Martelli
aleax at aleax.it
Sun Nov 10 10:27:05 EST 2002
More information about the Python-list mailing list
Sun Nov 10 10:27:05 EST 2002
- Previous message (by thread): Why is Python popular, while Lisp and Scheme aren't?
- Next message (by thread): Why is Python popular, while Lisp and Scheme aren't?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Jens Axel Søgaard wrote: ... > A frequently asked question for new comers to Python is "Why did > you leave out my favorite loop construction?". I mean, there are always > someone that likes do-while better than repeat-until and vice versa. > > In a language with macros such as CommonLisp or Scheme one can use > macros to make new control structures. One example is the "missing" > loop. The point is that the programmer can add to the power of the > language without asking Guido first. I think these two paragraphs come closest than any other attempt so far to answer the question that is this thread's subject. CL and Scheme have powerful macros, which you can basically use to change the language in any odd way, WITHOUT the supervision of a superb language architect like Guido. Python does not: you cannot inflict such deep changes in the language -- it's always the language Guido designed. Surprise, surprise: the language that's always itself, always well designed, is popular; the languages that anybody can change arbitrarily aren't. Doesn't surprise ME one bit. It's not the prefix form and the parentheses. Dylan uses infix form, AND some of its semantics are superb. BUT it has powerful macros... kiss of death: and, surprise surprise, Dylan isn't popular either. It's exactly BECAUSE every newcomer longs for some weird set of feechurs that are better done without, that a language that lets such newcomers add all the weird things, changing the language itself and turning it from a (hopefully) well-designed whole to a hodge-podge, is not going to be popular with the masses. Some brilliant individuals -- a tiny minority -- are no doubt going to use such power wonderfully well, building several different complex, specialized languages. The rest of us, the vast majority of the human race, is BY FAR best served by having to use one well-designed language rather than by letting each make up their own. *Simplicity* is an often-forgotten but nevertheless crucial criterion of good design. A slightly harder-to-express but also important criterion is *unity of vision* -- a system should feel like an integrated whole, not as a disparate jumble of parts. Python meets both criteria. I believe that introducing powerful-enough macros to Python would make it more likely than not for most programmers to break both criteria, and thereby probably doom Python, too, to eventual obscurity. Alex
- Previous message (by thread): Why is Python popular, while Lisp and Scheme aren't?
- Next message (by thread): Why is Python popular, while Lisp and Scheme aren't?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list