You are entirely correct that very little code is
written by
those with an understanding of machine language. I think that
that is part of what is wrong with so much of the MICROS~1 code.
It is not just Microsoft. Most software these days is bloated. Yes, I
think it is extreme, and I really have to wonder just what these
programmers are doing with all of that code. The truth of the matter is
that they are not being paid to write compact, efficient code. They are
being paid to write nice looking programs in a short amount of time, with
the knowledge that the hardware resources will just get bigger and better,
week after week. Nice looking programs make money, not code efficient
ones. Programs that ship on time (or nearly) make money, not ones still
"in the lab" being optimized like crazy.
This is what the industry wants, so this is what the schools teach.
When my C students take an Assembly Language course,
there is often a visible improvement in their C code.
Probably - in fact I would hope so. I am not against learning assembly. It
would be great if all CS and CE kids did, however I can see it falling
from grace simply due to
"almost-obsolecence".
On a side note, about your students - it could be simply because they are
just more experienced. My C improved greatly after taking a Graphics
class.
William Donzelli
aw288(a)osfn.org