On Sun, 12 Jun 2005, Roy Smith wrote: > Andrea Griffini <[EMAIL PROTECTED]> wrote: > >> I think that for a programmer skipping the understanding of the >> implementation is just impossible: if you don't understand how a >> computer works you're going to write pretty silly programs. Note that >> I'm not saying that one should understand every possible implementation >> down to the bit (that's of course nonsense), but there should be no >> room for "magic" in a computer for a professional programmer. > > How far down do you have to go? What makes bytes of memory, data busses, > and CPUs the right level of abstraction? > > Why shouldn't first-year CS students study "how a computer works" at the > level of individual logic gates? After all, if you don't know how gates > work, things like address bus decoders, ALUs, register files, and the like > are all just magic (which you claim there is no room for). > > Digging down a little deeper, a NAND gate is magic if you don't know how a > transistor works or can't do basic circuit analysis. And transistors are > magic until you dig down to the truly magical stuff that's going on with > charge carriers and electric fields inside a semiconductor junction. > That's about where my brain starts to hurt, but it's also where the quantum > mechanics are just getting warmed up.
It's all true - i wouldn't be the shit-hot programmer i am today if i hadn't done that A-level physics project on semiconductors. tom -- Think logical, act incremental -- http://mail.python.org/mailman/listinfo/python-list