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

Dan Crosta dcrosta at sccs.swarthmore.edu
Sat Sep 9 00:30:51 CEST 2006


kirby urner wrote:
> 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).
>
 > [...]
 >
 > 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).
 >

Well in that case I agree with you -- it would be great if my mom knew 
how to program.

But let's be realistic: my mom has only recently learned to understand 
email, she's not about to go out and program her own spam filter. It's 
just not in her skillset, and more importantly, her interest set. I 
think you're projecting a bit onto the entire world to think that people 
are going to program their dimmer switches.

Let me draw a related example: it has recently become more or less 
impossible to own any content sold by the MPAA and television industry, 
and, less so, by the RIAA. HDMI makes it impossible to do anything other 
than watch what your cable box records on an expensive HDTV. If you were 
right, there'd be a million light switch-programming mom march on 
Washington and Hollywood protesting this insult to their rights.

Now wake up: there isn't. People want their technology to do what it 
needs to do at a basic level, but aren't really out there extending it; 
whether we like it or not, we're the exception, not the rule, us people 
more comfortable at a keyboard than a mouse, more comfortable knowing 
how it works than just knowing that it *does* work.

As I said before, I think it's great that you're training the next 
generation to love the interactive interpreter rather than the monkey 
menus, if you will. I think it's great you're training people to be 
self-reliant and program for themselves first, then for others as a job 
but always still for themselves. Very Snow Crash. But not realistic, and 
not now. Maybe in 2036 when my generation (I'm 22) grows up and has kids 
of our own, maybe when I'm Dad, not Dan, people really will be able to 
program their light switch and microwave -- but I'm not sure what 
that'll really have gained us, my light switch and microwave work fine. 
Do yours?


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

It's hard to claim that anything you learn in CS1 (or equivalent) is 
either polished or a skill. Instead, I think the point is to become 
familiar and comfortable with computers as more than a user, and if that 
happens to take the form of baby steps, menu monkies, GUI programming, 
or whatever, as long as it happens it's good. It's evident to all of us 
that menu monkeying works, because that's how we all got trained 
programming and look where we are today. It seems fair to say that 
teaching through the interactive shell using functions and classes will 
accomplish the same goal.


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

Well, first of all, you evidently don't know my mom at all. Actually, 
that's a good thing, I don't think she'd like you.

But more importantly, I don't think moms (at least not moms like mine) 
expect junior to learn anything career-relevant in 9th grade. I think 
the point of primary and secondary education, and to a great extent 
higher education (I went to a small liberal arts college), is to learn 
to think critically and creatively, and to problem solve primarily, and 
secondarily to gain training for a career.


--- break ---

I want to apologize before this goes any further, I realize my tone is a 
aggressive, and I should acknowledge that I really don't have that much 
at stake here in this argument, I'm neither a student learning Python 
nor a teacher (nor likely to become one any time soon). I was merely 
trying to voice another kind of opinion in favor of not making 
impossible a class of programming for the sake of ... well, it really 
sounds like you've got revolution on your mind. And that's fine, it's 
important to have your voice, just try not to drown out the rest of us.

- d


More information about the Edu-sig mailing list