T
Terry Given
Guest
John Larkin wrote:
Have you read the various articles about the space shuttle software
team? their error rate is about one bug per 400,000 lines of code. And
99% of their debugging is done *BEFORE* writing any code - the
"thinking" to which John is referring.
Most "programmers" are little more than typists. ISP has caused a whole
host of problems, simply because it enables lousy programmers to fix
their fuckups relatively easily - this tends to encourage sloppy (or
more often non-existent) design.
Typing should be the *last* step in writing software, not the first. And
I am constantly horrified when I hear programmers saying things like
"try this, it might work" - to me, that indicates a distinct lack of
understanding.
The AC drive manufacturer I first started working with *REFUSED* to hire
CS grads at all - only EEs with ME or PhD (until me, the start of a
slippery slope downhill . The reasoning? CS people think of bugs.
Engineers think of things like "my crane controller is holding 200 Tons
of steel above a roadway, I'd better not fuck up"
And even then, *ALL* hardware was/is fully interlocked to prevent sw
screw ups from causing wholesale destruction. Very handy when people
doing debugging with an ICE pause the micro, suddenly applying DC to the
little 10kW test machine spinning at 200% speed (a *very* loud bang
preceded the motor rolling about the floor in this instance)
Cheers
Terry
Hear Hear!On Tue, 15 Mar 2005 20:01:10 +1100, Clifford Heath <no@spam.please
wrote:
It's just a pity they don't often have any software design skills.
I don't mean skills to make a chosen solution work or fit, but to
choose a solution in the first place. Too much emphasis on the
hardware, not enough on the user. The sheer percentage of badly
programmed embedded designs is staggering, worse even than the
software industry proper (if possible).
Disagree. Most embedded products - cars, appliances, calculators, home
entertainment stuff - just work. Most computer-level stuff is buggy
crap. I have scores of designs in the field, thousands of products in
total, that use an embedded 32-bit CPU, and we have zero known
firmware bugs, and all coded by EEs. My brand-new Dell/XP computers
had stupid software problems right out the box, like occasionally
insisting that floppies are write protected or unformatted (fix?
reboot!) or messing up the Zip drive fats or Word crashing when
certain graphics images are imported.
I've seen some Windows source code, and I understand why it's such
tripe. It's written exactly like the academics teach programming these
days: jillions of files, convoluted logic, abstraction for its own
sake, zero comments or visible context, all based on a language that
was designed to substitute sequences of punctuation marks for keywords
(which is literally why they call it "code").
Modern CS education scoops up masses of youngsters like herring in a
net, and teaches them how to code and how not to think. A Fellow of
United Technologies made that same comment to me two days ago.
John
Have you read the various articles about the space shuttle software
team? their error rate is about one bug per 400,000 lines of code. And
99% of their debugging is done *BEFORE* writing any code - the
"thinking" to which John is referring.
Most "programmers" are little more than typists. ISP has caused a whole
host of problems, simply because it enables lousy programmers to fix
their fuckups relatively easily - this tends to encourage sloppy (or
more often non-existent) design.
Typing should be the *last* step in writing software, not the first. And
I am constantly horrified when I hear programmers saying things like
"try this, it might work" - to me, that indicates a distinct lack of
understanding.
The AC drive manufacturer I first started working with *REFUSED* to hire
CS grads at all - only EEs with ME or PhD (until me, the start of a
slippery slope downhill . The reasoning? CS people think of bugs.
Engineers think of things like "my crane controller is holding 200 Tons
of steel above a roadway, I'd better not fuck up"
And even then, *ALL* hardware was/is fully interlocked to prevent sw
screw ups from causing wholesale destruction. Very handy when people
doing debugging with an ICE pause the micro, suddenly applying DC to the
little 10kW test machine spinning at 200% speed (a *very* loud bang
preceded the motor rolling about the floor in this instance)
Cheers
Terry