Thanks Dave --

A wonderful question that points to the great cultural divide
between compile-time versus runtime error trappers.

The compile timers flirt with the notion that somehow the
compiling step might actually constitute a *mathematical proof*
that the program is correct (if only the language were tightly
specified enough, Haskell maybe?).

The run-timers think that by unit testing at the atomic level,
never letting errors pass silently etc.,, they can patch any
few remaining bugs, plus the code itself is just eminently
more readable...

Bruce Eckel is one of your best and most eloquent writers on
this topic, pointing out the superstitions around compiling,
as if all kinds of subtle errors couldn't sneak through, including
at the level of algorithm.

But he's refreshingly non-dogmatic, because after all,
our VHLLs (very high level languages) are implemented in
these faster lower level ones.  It's not either/or but different
tools for different jobs.  Sometimes the difference between
100x slower than C, and not getting it done at all (or in
time) is worth the sacrifice.

Speed is the real payoff for type declarations, not immunity
from error, as it's really *a lot* easier to write buggy yet
executable C than Python, given your average newbie.

Anyway, I'd make the argument on economic grounds:
Python has a good track record, bright future, and lots of
would-be students are eager to learn it, and look to
community colleges as logical doors upon which to knock.

Taking a side in the compile-time versus run-time debate
needn't be a a high priority on anyone's list as we already
know:  it takes both approaches.

But then a lot of faculty are just threatened by another
language they don't know, so turning this into some
philosophical fist fight works as a delaying maneuver.

You may just have to live with the fact that your particular
school feels no real competition, whereas in other towns,
it's easier to jump on the bandwagon and give students
the option.  Ruby too while we're at it?

Kirby


On Mon, May 5, 2008 at 5:24 PM, David MacQuigg <[EMAIL PROTECTED]> wrote:

<< SNIP >>

>  Still, I wonder if there isn't a better way to handle this objection to 
> Python.  I'm thinking of a configuration option in IDLE, something that will 
> either:
>
>  1) Run a subset of pychecker tests every time you hit the Run button, or
>  2) Insist on declarations in a comment at the start of every function (just 
> the names, not data types).  Any name that isn't already declared gets 
> immediately painted red.
>
>  I would use #1 if it was no time penalty.  #2 seems like "training wheels" 
> to me, but I would expect some folks who are religious about declarations 
> might at least find it re-assuring.
>
>  -- Dave
>
>
>  _______________________________________________
>  Edu-sig mailing list
>  Edu-sig@python.org
>  http://mail.python.org/mailman/listinfo/edu-sig
>
_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to