[Edu-sig] re: Types and true division (was Re: strange output)

Michael Williams michael.williams@st-annes.oxford.ac.uk
Thu, 10 Oct 2002 13:13:51 +0100 (BST)


In message <200210101159.g9ABxV006652@pcp02138704pcs.reston01.va.comcast.net> Guido van Rossum <guido@python.org> writes:
> > Certainly I had nor have no reason to believe that Guido, in the
> > weighing of pros and cons, took at all seriously the possiblity that
> > the div operator change might be *harmful* to folks looking to
> > Python as an introduction to programming.
> 
> If we take this argument seriously, perhaps Python would become a
> better language if we crippled it some more.  Let's limit the maximum
> size of lists to 32767, and the maximum size of dicts to 32768.  Let's
> make multiplication undefined when the result is larger than 2**33.
> Let's truncate all identifiers to 6 characters.  Let's make keywords
> (but not identifiers) case-insensitive.  Let the program die with a
> core dump upon division by zero.
> 
> Seriously, Art, it sounds like you struggled with a problem and are
> proud that you overcame it, and now you want others to have the same
> experience.
> 
> I'll tell you what.  The school of hard knocks sucks.  There are
> plenty of *interesting* problems in programming to break your head on,
> there's no need to surrect artificial barriers.  Save some brain cells
> to think about an efficient sorting algorithm or a generational
> garbage collector (never mind that Python comes with these built-in as
> well).

I couldn't agree more. The removal of barriers that are nothing more than
arbitrary in the modern era of programming languages is a key reason for what
is looking like its successful adoption at one of the most prestigious
educational institutions in the UK. And crucially, in preference to C.

We don't have to waste time teaching specific language/arcitechture features
and can concentrate on the algorithms, which is what people who use programming
as a means rather than an end are interested in.
-- 
Michael