From: Robert Latest on 2 Feb 2007 10:48 ["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 2 Feb 2007 11:26 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 1 Feb 2007 19:58 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 2 Feb 2007 12:16 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 2 Feb 2007 12:31
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. |