Thread
:
737 Replacement
View Single Post
#
3
October 21st 06, 03:18 PM posted to rec.aviation.piloting
Matt Whiting
external usenet poster
Posts: 2,232
737 Replacement
John Theune wrote:
Matt Whiting wrote:
wrote:
Hardware testing is much more straightforward, because it is much more
difficult to design and build complex hardware, and because hardware
does not have many catastrophic failure modes. Additionally, hardware
is expensive and cannot easily be modified, so there is a much greater
incentive to get it right.
Oh really? How many circuit boards have you designed? I have designed
quite a few, and have done the embedded firmware for them as well.
Hardware designs can have bugs just as can software, they are just of a
different nature. Hardware bugs can be much harder to find and fix
than software becasue they are often the results of multiple variables
(circuit/environment/input conditions/power quality etc.). By
comparison, software is at least constrained to a specific set of
instructions and syntax. Plenty of hardware designs have bugs that
slip past initial testing and don't get found until the right corner
condition is hit...
I agree. I started life as a computer scientist (CS degree) and then
went back to school a few years later for my EE degree. Both areas
have their challenges. The advantage in circuit design is that the
tools are much more advanced as is the underlying theory. The
software community has a long way to go in this arena. The
disadvantage in circuit design is that circuits don't always behave
the same way. Changes in temperature can introduce problems for
example as can static electricity. A circuit can work fine one day
and not the next. Software works the same every day. All software
problems are design errors, whereas hardware has both design and
fabrication errors as well as material degradation over time. None of
these affect software.
I'm not going to say either area is easier or harder than the other as
both have their challenges.
Matt
Actually;
software can have coding ( fabrication ) errors as well as design
errors. Just like in the hardware design, they don't become apparent
until just the right set of inputs is received, then boom.
I don't consider coding to be fabrication, but I probably should have
used the term manufacturing. The point is that subsequent units of
"production" of software aren't assembled in the way that most
electronic or mechanical devices are assembled and thus don't share that
failure mode. I consider coding to be more equivalent to engineering
prototypes in the electronic and mechanical worlds. Stamping out CD is
the equivalent to manufacturing and stamping out CDs is less error prone
than assembling a complex circuit board or mechanical device.
Matt
Matt Whiting
View Public Profile
View message headers
Find all posts by Matt Whiting
Find all threads started by Matt Whiting