[Edu-sig] The fate of raw_input() in Python 3000

kirby urner kirby.urner at gmail.com
Sat Sep 9 00:28:00 CEST 2006


On 9/8/06, Toby Donaldson <tjd at sfu.ca> wrote:

> > I think the model today is "a person writing code for him or herself"
> > i.e. "self as client" -- at least in an early context.
> > We're not guiding the unknowing through a menu tree.  We're computer literate,
> > fluent. Why would we ask ourselves for raw_input, when it's much easier to
> > just pass arguments to functions?
>
> I have no idea what you are talking about.

In the old days, the end user was confronted with a list of menu
choices, usually numbered, and then a flashing prompt.  You'd put in a
number, corresponding to your chosen menu selection, and thereupon be
taken to a "submenu" and so on.  Very like these infernal "phone
trees" of today ("please listen carefully, as our menu options have
changed...").

If you don't remember these days, you must be rather new to the end
user experience.

> > If you're *really* coding for a complete newbie, then learn GUI
> > programming, meet them where they want to be met.  Otherwise, just
> > import and use a namespace, like a real grownup.  All this "ask myself
> > for degrees centigrade" stuff is just too 1970s, too BASIC (yech!).
>
> I have a hard time getting through your rhetoric.

I think it's quite expressive.  I'm trying to denegrate a style of
"learning to program" which I think shouldn't count any more, as a
quality intro to the subject.  Much better, go to a shell (Ruby,
Python, J or whatever... Scheme) and start using the tools you're
given.

It's a rather large vocabulary sometimes, but the sense of a
namepaces, perhaps augmentable (definitely augmentable in Python) is
the "first encounter" we want to promote.  That's the environment we
also target when writing our first programs, e.g. code up a bag of
sequence generators for triangular, tetrahedral, fibonacci and so on
(just one example -- the math module is the paradigm, or the string
module, which I'll be sad to see go).

> > Hey, I'd think about putting self-prompting I/O in a more obscure
> > context, like copy (also out of reach as a built-in), maybe making it
> > part of sys or something. :-D
> >
> > Look how C# handles I/O.  That's a good example I think.
>
> Then write a Python library that emulates it and make the world a better place.

That's your advice, on the record.  I have other preferences, also
chronicled here.

> > System.console -- would that have been better?  No one asked me, I
> > offered no opinion.  End of story then.  The work is done.
>
> Yep, all done. No need to keep posting about. :-)

That *is* my attitude about raw_input -- it's going away, the work is
done.  But now I'd like to talk more about why.

Of course Guido might come on the list and say he's persuaded, by all
the high level arguments, to reopen the discussion.  Would that
surprise me.  Yes, it would.  But stranger things have happened.

> > Python3000 shouldn't be derailed by politicians, some of whom would,
> > in their heart of hearts, like Python to fail (just as many USA
> > congressman actually *hate* what the USA is exposing about them).
>
> Good grief. Why do I subscribe to this list?

Maybe for no good reason?  I couldn't tell ya.

If you're objecting to my glancing reference to USA politics, then I
think you're awfully stringent.  We're pretty free ranging around
here, like uncaged egg layers.

Is that bad?

> > As soon as I thought "C#" I felt better.  CPython -> C -> C# ->
> > IronPython looks like a dynamite CS sequence.
> >
> > I'm looking forward to seeing which schools have guts enough to try it.
>
> Good for you. Have fun.
>

I intend to.

Sorry you couldn't understand my verbiage.  There's obviously some
kind of language barrier between us.

> Toby
> --
> Dr. Toby Donaldson
> School of Computing Science
> Simon Fraser University (Surrey)

Kirby
CEO, 4D Studios
Silicon Forest
Portand (Oregon)


More information about the Edu-sig mailing list