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