Steven D'Aprano writes:

 > He describes his design of the language here:

We're talking about different things.  Specifically:

 > > "Design with learning in mind" literally means "don't forget
 > > about beginners in Python and in programming", not "sacrifice
 > > everything else on the altar of education".
 > 
 > That's not what it *literally* means.

You're confusing "literally" with "idiomatically".  "Design with
learning in mind" doesn't say *anything* about what else is in mind,
or relative priority.  *Idiomatically*, yes, it's used as you and
Abdur-Rahmaan have.  But *literally* it means that when you're
thinking about design, "learning" is in there with all that other
stuff.

Guido literally quotes the Zen of Python as his design principles.  Of
the 19 verses, only the two concerned with timing ("now" vs. "right
now") are not clearly related to the language being learnable.

The fact that Tim didn't explicitly use words like "learning" or
"education" in the Zen doesn't mean that Guido hasn't had "learning in
mind" when he actually conducted design.  The only way we can be sure
is to ask him, but I'm willing to stand on the inference from the
language we actually have.

 > In any case, it is a matter of historical fact (to the degree that we 
 > believe Guido's account, and we have no reason to think that he is 
 > lying) that he didn't design Python with beginners in mind.

Specious.  Beginners are not the only people who have need to learn.

 > One of those concepts he intentionally rejected was that the user
 > had no prior experience and was learning how to program.

You have a *very* restrictive idea of what "learning" means in the
context of programming.  Not everything that makes a concept learnable
is useful or necessary for beginners, not everything that is useful or
necessary for beginners is useless for experts.

It is of course true that teaching beginning concepts to beginners and
advanced concepts to experts are very different activities and benefit
from different approaches.  That doesn't at all mean that the same set
of principles aren't conducive to learning at all levels.  It doesn't
necessarily mean that they are.  But I believe that such a set can be,
and that Python's set of design principles as embodied in the Zen as
well as some other folk sayings is an example of a set of principles
that leads to a language that is conducive to learning.  In several
domains: about the language itself, about the generic activity of
programming, and about the real systems that our programs simulate or
implement.

Steve
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/MOSYQLSHQR5LLCARS6J4GYFPINU2OFQG/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to