[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