On Mon, 13 Jun 2005 13:35:00 +0200, Peter Maas <[EMAIL PROTECTED]> wrote:
>I think Peter is right. Proceeding top-down is the natural way of >learning. Depends if you wanna build or investigate. To build top down is the wrong approach (basically because there's no top). Top down is however great for *explaining* what you already built or know. >(first learn about plants, then proceed to cells, molecules, >atoms and elementary particles). This is investigating. Programming is more similar to building instead (with a very few exceptions). CS is not like physics or chemistry or biology where you're given a result (the world) and you're looking for the unknown laws. In programming *we* are building the world. This is a huge fundamental difference! >If you learn a computer language you have to know about variables, >of course. There are no user defined variables in assembler. Registers of a CPU or of a programmable calculator are easier to understand because they're objectively simpler concepts. Even things like locality of scope will be appreciated and understood better once you try to live with just a global scope for a while. >The concepts of memory, data and addresses can easily be demonstrated >in high level languages including python e.g. by using a large string >as a memory model. Proceeding to bare metal will follow driven by >curiosity. Hehehe... a large python string is a nice idea for modelling memory. This shows clearly what I mean with that without firm understanding of the basis you can do pretty huge and stupid mistakes (hint: strings are immutable in python... ever wondered what does that fancy word mean ?) Andrea -- http://mail.python.org/mailman/listinfo/python-list