Andrea Griffini wrote: > On Sat, 11 Jun 2005 21:52:57 -0400, Peter Hansen <[EMAIL PROTECTED]> > 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. -- http://mail.python.org/mailman/listinfo/python-list