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

kirby urner kirby.urner at gmail.com
Fri Sep 8 23:15:14 CEST 2006

On 9/8/06, Dan Crosta <dcrosta at sccs.swarthmore.edu> wrote:

> 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.

This is a good example, of showing off new skills to one's mother.
But maybe CP4E is about having one's mother learn to program, in which
case maybe the first thing you say is "mom, when you import, you bring
in a namespace, which is like stuff you might interact with, like go

from zoo import Monkey

and then go

mymonkey = Monkey("Curious George")

To me, this sounds like you're really educating your mother, not
making it be about you and your new skills, but about cluing her in,
letting her be a part of your world of Python namespaces, where
knowing about import is absolutely key.

You're not making a monkey out of your mom, by making her loop through
some little menu, oblivious of the language underneath, its logic and
design.  You're "protecting you mother" (aka paradigm end user) from
knowing *anything* about Python.  That's your goal, that's the whole
point (i.e. end user = not a programmer).

I'm saying CP4E is here to change all that.  Your mom knows how to
program, learned how to when she was your age.  She's been writing
little programs for her kids for decades, plus others for the
microwave, light dimmers, heater, plant waterer, and car.  Not because
she's friggin genius or anything, but because this is 2006, and moms
have skills, aren't like in the 1950s (nothing wrong with the 1950s,
but nothing improving in 56 years would be laughably stupid).

> > 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

You should just write for yourself at first, and find that satisfying.
 You shouldn't need this hypothetical guinea pig other.  OK, maybe a
few times (and mom is proud).

Start thinking like a professional really early.  Code for the back
office if it's back office (don't need no bells and whistles).

Don't waste your life polishing API skills no job market will ever
need (i.e. some raw_input based dialog, menu tree, looks like a 1960s
mainframe).  Or rather, don't *start* with that.

Even most moms these days know that unless junior learns GUI
programming, there's nothing much here, as far as "code for end user"
skills.  She's secretly unimpressed, but doesn't show it.


More information about the Edu-sig mailing list