From: Robert Latest on
["Followup-To:" header set to sci.electronics.design.]
John Larkin wrote:

> I'll typically spend about 1-2 man-weeks on an embedded product
> program, generally around 4-6 klines of code, from start to formal
> release of bug-free code.

But these are very small projects, in software terms. Any half-decent
programmer can do that, no matter in what language. It's the huge,
millions-of-lines codebases that break.

> One of my customers makes megabuck analytical instruments and the
> programming staff has fallen in love with Java and abstraction from
> the hardware.

I once wrote (as an external contractor) a module for an intranet
application. The CTO of my customer really wanted me to use Java just
because it was "that's what eveybody uses these days". But since they
couldn't find anybody else (those were dot-com boom days) they had to make
do with the guy who used a language they'd never heard of -- C.

Last thing I knew was that their application never really got going, except
for my bit which worked 100% right from the start.

I remember those panicky calls I got from them: "There's a bug in your
module". Panicking myself I rushed into their office, only to see that
--again!-- they had fed invalid data into my module. This was easily
demonstrated because it had been *me* who wrote all the specs. Billed them
big bucks for that wasted time. Now they are broke.

robert
From: John Larkin on
On Fri, 02 Feb 2007 15:13:53 GMT, Vladimir Vassilevsky
<antispam_bogus(a)hotmail.com> wrote:

>
>
>Jan Panteltje wrote:
>
>
>>>It is better to stay on the earth rather then fall on somebody's head.
>>>Masking the errors is the worst practice.
>>
>>
>> Yes that is true.
>> But you have to try one day to fly.... Errors will show you where to improve.
>
>Deadlines. That's another reason for the software to be the far from
>perfect.


So, you will actually release software that you know is buggy, or that
you haven't tested, because of some schedule? Please tell me who you
work for, so I can be sure to never buy their stuff.

John


From: Everett M. Greene on
John Larkin <jjlarkin(a)highNOTlandTHIStechnologyPART.com> writes:
[snip]
> Software should be *more* reliable than hardware, since software has
> no inherent failure modes, isn't subject to temperature changes, power
> glitches, parts variability or EMI, and is precisely reproducable
> times a million copies... no solder joints, no part tolerances. Yet
> it's the hardware that's usually most reliable. Software is buggy
> because of miserable programming methodologies and practices. Mine's
> not.

While programming is not subject to mechanical failures,
it is susceptible to other kinds of failures including
failures of the underlying hardware. Then add the
usual expectation that the programming should be able
to compensate for if not recover from hardware problems
and you've elevated programming reliability to a wholly
different level.
From: Vladimir Vassilevsky on


John Larkin wrote:

>>Look at Airbus fly by wire, _that_ is professional software with
>>lives at stake.
>
>
> One of my best customers makes jet engines. The engine control
> computers are mounted under the engine cowling, in the airstream, and
> the engine fuel runs through the computer before being burned, to
> moderate the CPU's temperature swing. The programs have no bugs,
> because they are careful,



What a bullshit.

If you take a closer look to those systems, you will find the same pile
of lousy code as everywhere. Well, it is more or less tested so the
major bugs are unlikely.
If you *really* know how the car or the aircraft is build, you will
never drive it or fly by it.


> work at the lowest possible levels of
> abstraction, use no OS, test exhaustively,

:)))))
They probably don't use the power tools also.


and are entirely pragmatic
> about the consequences of a jet engine failing.

The consequences are excellent: the insurance company pays out the
compensation of $1e7.

> And most of the
> "programmers" are actually engineers.

Most of the programmers are the former elephant riders or rice farmers.

VLV



From: Jim Thompson on
On Fri, 02 Feb 2007 17:16:14 GMT, Vladimir Vassilevsky
<antispam_bogus(a)hotmail.com> wrote:

>
>
>John Larkin wrote:
>
>>>Look at Airbus fly by wire, _that_ is professional software with
>>>lives at stake.
>>
>>
>> One of my best customers makes jet engines. The engine control
>> computers are mounted under the engine cowling, in the airstream, and
> > the engine fuel runs through the computer before being burned, to
> > moderate the CPU's temperature swing. The programs have no bugs,
> > because they are careful,
>
>
>
>What a bullshit.
>
>If you take a closer look to those systems, you will find the same pile
>of lousy code as everywhere. Well, it is more or less tested so the
>major bugs are unlikely.
>If you *really* know how the car or the aircraft is build, you will
>never drive it or fly by it.
>
>
>> work at the lowest possible levels of
>> abstraction, use no OS, test exhaustively,
>
>:)))))
>They probably don't use the power tools also.
>
>
> and are entirely pragmatic
>> about the consequences of a jet engine failing.
>
>The consequences are excellent: the insurance company pays out the
>compensation of $1e7.
>
>> And most of the
>> "programmers" are actually engineers.
>
>Most of the programmers are the former elephant riders or rice farmers.
>
>VLV
>
>

Hey, John Larkin! How come you keep attracting the nutcases ?:-)

...Jim Thompson
--
| James E.Thompson, P.E. | mens |
| Analog Innovations, Inc. | et |
| Analog/Mixed-Signal ASIC's and Discrete Systems | manus |
| Phoenix, Arizona Voice:(480)460-2350 | |
| E-mail Address at Website Fax:(480)460-2142 | Brass Rat |
| http://www.analog-innovations.com | 1962 |

I love to cook with wine. Sometimes I even put it in the food.