What is different with Python ?

D H d at e.f
Mon Jun 13 23:02:39 EDT 2005


Andrea Griffini wrote:
> On Sat, 11 Jun 2005 21:52:57 -0400, Peter Hansen <peter at engcorp.com>
> wrote:
> 
> 
>>I think new CS students have more than enough to learn with their 
>>*first* language without having to discover the trials and tribulations 
>>of memory management (or those other things that Python hides so well).
> 
> 
> I'm not sure that postponing learning what memory
> is, what a pointer is and others "bare metal"
> problems is a good idea. Those concept are not
> "more complex" at all, they're just more *concrete*
> than the abstract concept of "variable".
> Human mind work best moving from the concrete to
> the abstract, 

You're exactly right that people learn better going from concrete to 
abstract, but you're examples (pointers and memory management) are not 
what is typically meant by concrete in learning contexts.

Starting concretely would mean using programming to solve real problems 
and develop useful tools.  In programming it is often good to start with 
examples - some common ones I've seen in informal learning of 
programming include a calculator, an RSS viewer or aggregator, a video 
game, etc.

But what you are getting at is more akin to our mental model of what the 
computer is doing when we write and run a program.  Without a 
fundamental understanding of memory and addresses, a programmer can make 
certain mistakes that reveal this lack of understanding.  But that 
doesn't mean they have to learn about memory management at the very 
beginning of their instruction.



More information about the Python-list mailing list