[Edu-sig] pedagogy, programming environments, and readings

Tim Peters tim_one@email.msn.com
Sun, 6 Feb 2000 15:45:40 -0500


I think David Scherer's reply to this was excellent; just adding some
glosses:

[Matthias Felleisen]
> ...
>  2. You're not the first to discuss the merits of tail-call
>	optimizations in a pedagogic context. Study some of the recent
>	pattern literature on OO design and then consider why tail-call
>	optimizations are essential. Don't shoot from the hip with lots
>	of <winks> and <grins> and <G:->. Unless, of course, you have
>	too much time at your hands.

If I didn't know better, I'd say I was the target of light sarcasm here.  No
sarcasm in return:  An atomsphere of <wink>s is simply more inviting than
one permeated with implied <frown>s and <scowl>s.  One plain fact is that a
technical debate (yes, it is debatable) about the merits of tail
optimizations would be of no interest whatsoever to the majority of people
on this SIG -- and another plain fact is that the vast majority of
programming languages do fine without it (you may wish to insist that
they're not really "doing fine", but don't expect to get very far with that
among native speakers <0.5 wink>).

> ...
>  5. Nobody (as far as I can tell) has raised the question how you
>	want to differ from the rest of the world. What value do you add?
>	Playing with worlds? Yes, Pappert has suggested it. Has anyone
>	checked whether he and his team have done anything about it?
>	(They did.) What is new about Pythin's pedagogy vs the prevailing,
>	argh, C++ pedagogy? Etcetc.

(At least some of) your views are available in the essays linked to from the
bottom of:

    http://www.cs.rice.edu/CS/PLT/Teaching/material.shtml

If I had to pick one sentence from Guido's

    http://www.python.org/doc/essays/cp4e.html

to illustrative the difference, I'd choose this:

    We're looking forward to a future where every computer user
    will be able to "open the hood" of their computer and make
    improvements to the applications inside.

That is, enabling "just folks" to "get real stuff done".  That's an
extremely ambitious vision, and CP4E is indeed (as you rightly point out)
far from articulating a concrete plan for making it a reality.  It appears
to be a key difference in philosophy, though (I see no echo of it in your
writings), and one with some predictable consequences for the directions
CP4E will take.

> My goal is not to be negative. I am only suggesting that you study
> what exists, clarify where you want to go, and advertise why your
> ideas and (future) curriculum is better than what's out there.

No argument there, although not everyone on this SIG is (or even "should
be") interested in extended literature searches.

> While we, the outsiders, discuss, the rest of the world gets
> entrenched into the next fashion wave and we will have to battle it.

Python has always been more about cooperating with the prevailing paradigms
than with overthrowing them.  If your goal is to enable everyone to get
under their vehicles' hoods, and "almost everyone" drives a mid-70's car,
then ...

Python is subversive in that sense -- not unlike the British comedy troupe
in whose honor it's named <wink>.

it's-more-important-to-just-start-a-thing-than-to-be-sure-
    every-detail-is-optimal-ly y'rs  - tim