Named code blockes

Alex Martelli aleaxit at yahoo.com
Thu May 3 05:24:13 EDT 2001


"Douglas Alan" <nessus at mit.edu> wrote in message
news:lck83z55x6.fsf at gaffa.mit.edu...
> "Alex Martelli" <aleaxit at yahoo.com> writes:
>
> > > By doing so, you lower the barier to allowing people to accomplish
> > > what they want to accomplish.  Isn't that what a high-level language
> > > is all about?
    [snip]
> Language extensions should be reserved only for those things that
> cannot be elegantly or efficiently done in a library.  I don't think
> that anyone is saying differently.  Why do you imply that I have said
> otherwise?

Because of that little word "all" in the above-quoted snippet.


> Having one language that can do *everything* well is just one of those
> unreachable ideals -- i.e., the type of ideal that you say you are
> fond of.  Unattainable yes, but it should act as a guiding principle.

Some unattainable-goals work well as guiding-principles, other don't.

I opine that "one language able to do everything well", which has been
used VERY often in the past as "guiding principle" for language design,
tends to NOT work well, because it tends to breed languages that are
too big and complicated.

> > This in no way impacts my assertion, of course.  Python IS as great
> > as it is in part *because* it never strove to be "the best language
> > for EVERY purpose".  "General-purpose" does not imply "best for
> > every goal"...
>
> The holy grail should not be "best for every purpose" because that is
> clearly a logical impossibility.  "Well-suited for most purposes"
> should be the unattainable goal.

I disagree that it's unattainable, because I consider Python, as it
stands today, to BE well-suited for most (programming) purposes.

> If you aim low, you are almost sure to hit low.

And if you aim for something requiring great complexity, you are
almost sure to reach great complexity.  "Perfection is reached,
not when there is no longer anything to add, but when there is
no longer anything to take away" (Antoine de Saint-Exupery)...

If you want an unreachable-ideal worth aiming for, this particular
mix of poetry and engineering (few in the 20th century have worked
in both fields as much as Saint-Exupery -- he's mostly remembered
as a poet and a novelist, but, as a pilot and manager/organizer of
early airplanes, his daily life was more enmeshed with machines)
might prove quite suitable -- conjoined, of course, with the little
issue that a language (or machine) meant for human use must find
ways and means to coexist with human complexity.  ("Euclid alone
has looked on Beauty bare", after all, and we can hardly rely on
"O blinding hour, O holy, terrible day" effects in a language
meant for frequent use by lots of people...:-).


> In any case, nothing you can say will stop me from musing, both
> publically and privately on how Python might be a better language.
> I'm in the process of designing a variant of Python, so it is my duty
> to do so.

Best of luck in this endeavour!  Python _variants_, such as Vyper
(http://vyper.sourceforge.net/), may at worst leave Python "none
the better, none the worse", even in the pessimistic hypothesis
that nothing can be learned by studying the variant -- surely it
is more realistic to hope that there WILL be interesting lessons
to glean from the study of any variant of Python, be they from
its successes, or from its failures.


Alex






More information about the Python-list mailing list