"Lee Hart" <leeahart@earthlink.net> wrote in message
3E4D9187.577B@earthlink.net">news:3E4D9187.577B@earthlink.net...
Marc 'BlackJack' Rintsch wrote:
When you're on the bottom rung of the ladder, you are very
close
to the hardware. It is essential that you understand it.
No it isn't! Programming has to do with describing the way to
solve
a given problem in a formalized, exact way. This has much more
to
do with logical thinking and mathematics. Both is, and was for
many
centuries, not dependend on the hardware.
I went to a programming school in the 60's and the first thing we
learned after some basic theory was assembly language. After that
Cobol. Later RPG, which I never actually used except in school.
Through a 35 year programming career (I'm retired now) there was
never a month where something didn't make me very glad to have that
assembly experience, even though I never actually used assembly
during some years.
Writing in C, knowing how things actually worked in the computer, I
had a better understanding of why things didn't work or how to make
them work faster because I knew what was actually going on.
C was very handy as a problem oriented way to describe the program
but it wasn't what really happened. A computer language is a
facade. A wall we hide the hardware behind so we can think problem
instead of hardware. But there are times when seeing behind the
wall can make a huge difference.
Also, the ability to view the program in a debugger, watching it in
assembly as it goes along, knowing precisely what is going on every
step of the way, gives the programmer a debugging tool that can
only be replaced by guesswork.
Barry