About programing, a general question

William Case billlinux at rogers.com
Wed Dec 22 16:56:05 UTC 2010


On Wed, 2010-12-22 at 10:52 -0500, Jerry Feldman wrote:
> On 12/21/2010 03:48 PM, Parshwa Murdia wrote:
> > On Wed, Dec 22, 2010 at 12:24 AM, Jerry Feldman <gaf at blu.org
> > <mailto:gaf at blu.org>> wrote:
> >
> Yes and no. It is related to an understanding of what a computer really
> does. While CPUs today are very complex, such as out-of-order execution,
> the basic underlying premise is the same. If you understand binary
> arithmetic and logical arithmetic, then you have an understanding of
> what a CPU really does. You certainly don't need to understand what an
> or gate or and gate is, but you need to understand what happens when you
> add 2 positive integers and get a negative result, 

Not an argument with what you say.  I think most of it is sound advice,
but I would like to, make one comment.

I found that when teaching myself 'C', 10 or 20 minutes contemplating an
'and' or an 'or' gate gave me enough of an 'aha!' that I could
understand what was going on.  Of course, that was proceeded by another
twenty minutes or so understanding the basic switching capabilities of
transistors. Getting to understand basic computing cycles as governed by
a crystal clock put everything into proportion timewise. The same with a
template of a CPU showing things like the decoder, registers, and the
ALU.  I spent just enough time to get the idea of how data and
instructions flowed.  Knowing why there was a difference between DRAM
(capacitors) memory and SRAM (flip-flops) memory answered a lot of
questions of why things were done one way rather than the other.  

I didn't want to become an engineer, or build a computer from scratch in
my garage, but I did want to get passed the frustrating notion of
programming something the way I was told to just because 'I said so'.
There is always a reason why things are done the way they are.

-- 
Regards Bill
Fedora 14, Gnome 2.32
Evo.2.32, Emacs 23.2.1



More information about the users mailing list