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

Dan Crosta dcrosta at sccs.swarthmore.edu
Fri Sep 8 22:30:41 CEST 2006


kirby urner wrote:
> I would like a deeper discussion of why we still need to prompt
> ourselves for input.
> 
> 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?

When I think back to when I was learning to program in 9th grade (I'm 
not a professional software devel) I know that it was really exciting to 
be able to twiddle with the computer for a bit, then call my mom over 
and have her work with my program -- simple guessing games, then 
eventually moving on to more sophisitcated things like memory, card 
games, etc. At the time I was learning QBasic, so console-oriented input 
was what you had.

Granted QBasic had no notion of an interactive console -- or rather it 
did, but that was not a predominant way of interacting with it. But even 
though it did, it would not have been as exciting to sit my mom down 
with it and let her play around, and I wouldn't want to have to explain 
to her (even now with a nearly infinitely more sophisticated 
understanding of computers and programming than I did in my first 
months) what a function is, how to interact with it, what arguments are, 
etc.

It may not be how you like to teach computer programming or interacting 
with computers, but I think there's a very important case to be made for 
"other as client" at the very beginning, as a way of keeping it 
interesting, when someone else is going to see it.


> 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 don't think programming with, eg, raw_input() is programming for a 
newbie, but it is programming *at the level of a newbie* for someone 
else who may or may not be -- in my mom's case, sure, if I had made a 
GUI that might have been easier for her. but the goal was not to make a 
program for her, the goal was to make a program, and having someone else 
who could use it was a really powerful motivator that got me to explore 
ways to extend it beyond the beginning code that was assigned by my teacher.

- d


More information about the Edu-sig mailing list