[Python-3000] educational aspects of Python 3000

Guido van Rossum guido at python.org
Tue Sep 12 00:18:32 CEST 2006

On 9/11/06, Antoine Pitrou <solipsis at pitrou.net> wrote:
> Le lundi 11 septembre 2006 à 11:22 -0700, Michael Chermside a écrit :
> > The idea of a standard edu library though is a GREAT one. That would
> > provide a standard place for things like raw_input() (with a better
> > name) as well as lots of other "helper functions" useful to beginners
> > and/or students -- and all it would cost is a single line of boilerplate
> > at the top of each program ("from beginnerlib import *" or something
> > like that).
> There is a risk with beginner-specific library: it's the same problem as
> with user interfaces which have  "simple" and "advanced" modes. Often
> the "simple" mode becomes an excuse for lazy developers to turn the
> "advanced" mode into a painful mess (under the flawed pretext that
> advanced users can suffer the pain anyway).

Please give us more credit than that.

> And if the helper functions are genuinely useful, why would they be only
> for beginners and students?

DrScheme has several levels for beginners and experts and in between,
so they think it is really useful to have different levels. I'm torn;
I wish a single level would apply to all but I know that many
educators provide some kind of "training wheels" library for their

> IMHO, it would be better to label the module "scripting" rather than
> "beginnerlib" (and why append "lib" at the end of module names
> anyway? :-)).
> It might even contain stuff such as encoding guessing.
> >>> from scripting import raw_input, autotextfile

I'm not so keen on 'scripting' as the name either, but I'm sure we can
come up with something. Perhaps easyio, simpleio or basicio? (Not to
be confused with vbio. :-)

I'm also not completely against revising the decision on killing
raw_input(). While input() must definitely go, raw_input() might
survive under a new name. Too bad calling it input() would be too
confusing from a Python 2.x POV, and I don't want to call it
readline() because it strips the trailing newline and raises EOF on
error. Unless the educators can line with having to use
readline().strip() instead of raw_input()...?

Perhaps the educators (less Art :-) can get together and write a PEP?

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-3000 mailing list