Maker Pro
Maker Pro

Why is electronics so complicated?

A

Arlet Ottens

Mmm.... I think you'll find that in both software and electronics,
things can get as complex as you'd like them to be. It's not at all
"elegant, simple, and obvious" how you build, e.g., a 1GHz op-amp with
low noise, input capacitance, and offset voltages, nor is it entirely
simple and obvious how you might implement something like a
hardware-based MP3 decoder once the real world throws on the constrain
of it having to cost $0.25 in quantity.

I think there's a difference in design complexity, and running
complexity. The design of a good 1GHz op-amp is certainly very complex,
but once the design is finished, it's much less complex for another
engineer to understand and verify that it works according to
specification.

Software has a potential to remain very complex, even after it's
finished. The reason is that software programs have a tremendous amount
of internal state, and only a tiny portion of the state-space gets
visited during a typical run.

A million line program that uses 10^8 bits of state remains very hard to
understand and very hard to verify, no matter how smart the engineer.
 
Hell, both electronics and software are simple--they obey cause and
effect, and when you find what's wrong and fix it, it's fixed.

As you point out, the difficulty is finding out what's wrong, or in fact that
*anything* is wrong. Part of the problem with software is the specs are so
poor (we don't know what it's _supposed_ to do). After that, the process of
development is poor, and programmers are lazy.
*Marriage*, now, *that's* complicated. Maybe we should pass a law that
limits spouses to a uniform standardized appearance and some
predetermined number of simple behaviours.

Like "get me a beer"? <ouch!>
 
J

Jon Kirwan

<snip>
*Marriage*, now, *that's* complicated.

Especially if you intend one that continually develops into
an increasingly profound friendship and still lasts long
term. My marriage is now at 33 years and I've worked out of
the home for almost all of that (that means 24/7 time
together) and she is my very best friend. Complex doesn't
get the half of it, though.
Maybe we should pass a law that
limits spouses to a uniform standardized appearance and some
predetermined number of simple behaviours.

Works for some, I suppose. Met a few where just some such
mystical force appeared to be in play. ;)

....

Of course, your point is different. I'm just playing with
your thoughts, is all.

Jon
 
S

Sjouke Burry

Bill said:
But why do they want to change the pin configurations? I found a NPN
transistor F370 or somesuch that has the collector and emitter
reversed. They kept the base in the middle, but switched the other
two. It works just fine if you turn it 180 degrees.

-Bill
Big customer requests a change; small customers enjoy the result.
 
A

Arlet Ottens

Software could take great deal of effort to develop, but software isn't
complex. Common mistake is mixing the "difficulty" and the "complexity".

"Software" is a very broad term, and can range from simple designs that
run a room thermostat, to exceptionally complex designs, such as a
enterprise class database that a company like Wal-Mart would find
acceptable to use.
 
J

Jon Kirwan

You recommend this over the operational model of getting a new wife every,
say, 3 years -- you could have been on #11 by now?

Hehe. I'm very lucky the way things are! She is my first
and only, too.
:)

Just kidding... congratulations on your marriage!

Thanks. But while we've been through everything that might
break up people (and far more, since we have two disabled
children, one profoundly autistic and experiencing grand mal
seizures that have broken her arms, smashed out her teeth,
given her 3rd degree burns over largish areas of sensitive
skin, and threatens to kill her every single waking day), we
have found our way and become far stronger and more profound
friends for all that we've been through with each other, too.

Those experiences have shaped us and there is no way anyone
else could ever come anywhere close to having and knowing
what we know without having to say so much as a single word
about it, now. We can just look for a second a each other
and communicate so much. Our focus is no longer on what is
between us, but on what is outside of us -- larger goals
beyond our family and towards helping others.

There is nothing anyone else could ever hope to offer that
would cause me to spend a single second considering losing
all that -- except perhaps some permanent security and love
for my daughter after we die, I suppose. (No contract, no
trust fund amount, can force love and good relationship.) On
that odd score, both my wife and I would simply look at each
other with eyes that say, "yes, go for it you idiot." But we
wouldn't lose what we've gained over the years, either.

It's a powerful feeling to have been through so much and to
have survived everything others go through and far more and
still remain standing and all the stronger for the challenges
experienced. It does give truth to that saw, "what doesn't
kill you makes you stronger."

Jon
 
Maxim does that. I read an interview with the CEO, and he bragged
about it. We don't use Maxim unless absolutely necessary, maybe three
parts out of 5000 in stock.

Same here, but for more than one reason. I'll go *way* out of my way to
design out a Maxim part.
We use singles and duals. Quads are a mixed bag, fewer packages but
worse placement/routing. For fast stuff, singles are best.

I only use quads in very cost sensitive applications (if I can save enough
money we do the project, otherwise...) or where space is at an absolute
premium (trying to squeeze one more circuit under an existing shield). We
don't have any "fast stuff". I don't even think we have any single opamps
(comparators, sure) in our parts control system.
 
To claim that for years up until that time new cars were available but
no spares only shows that the dumbness lies not with the central
planners this time, but with those that believe such stories.
You don't understand governments very well. The US didn't buy a spares
package for the F-16, to keep it's apparent costs down. Whenever they need
spares they're purchased in onesies, sometimes requiring re-tooling.
 
OK, it's not a bug (i.e., a design error) per se, but unless the data sheet
rather prominently calls out the "unexpected" behavior, I also wouldn't call
it a very robust design. I.e., if you had a piece of software that computed
the difference between two numbers, even if the instructions for the software
told you that the mean of those numbers couldn't be more than a certain value,
few users would think it reasonable if the software actually flipped the sign
of the result on them just because they went from asking for 10-5 to 100-95,
you know? (This is what some op-amps do -- the common-mode voltage higher
than the data sheet's allowed spec and they hit the opposite rail...)

Ah, but did the software specifically tell you not to do that? The OpAmp spec
certainly did, in no uncertain terms.
(I would accept that if your common mode voltage on an op-amp exceeds the
power supply rails themselves, one can't reasonably expect any particular
output behavior -- the part might as well burst into flames :) -- unless the
data sheet explicitly claims otherwise.)

....and I would expect any software to burst into flames anytime after the
system boots. ;-)
I once worked with a consultant (he did database programming) who charged
something like half his regular rate for fixing bugs -- I thought that was at
least a nice nod towards wanting to actively encourage himself not to
introduce bugs in the first place.

That's nice. At least he is up-front in admitting that he designs buggy
software. ;-) Programmers are like auto mechanics. You pay them to screw it
up and then again to fix it, if you're lucky.
 
E

Eric Marlow

If they did take over, you would only have 42 parts. ;-)

Sure, why would anyone want that when Digikey presently lists 142,656
op amps :)

Eric Marlow
 
E

Eric Marlow

Mmm.... I think you'll find that in both software and electronics, things can
get as complex as you'd like them to be. It's not at all "elegant, simple,
and obvious" how you build, e.g., a 1GHz op-amp with low noise, input
capacitance, and offset voltages, nor is it entirely simple and obvious how
you might implement something like a hardware-based MP3 decoder once the real
world throws on the constrain of it having to cost $0.25 in quantity.

So, how much would it cost to manufacture a "talking" op amp? Pug it
into your circuit, enter your preferred specs in a dedicated program,
and it spits out a suitable part number and resistor values. How many
could you sell?

Eric Marlow
 
C

Cydrome Leader

Tim Wescott said:
I used to work for a company that did Infra-red imaging, and other high
performance electro-optical work. Apparently, someone in the USSR asked
just that question, and because it had a government controlled economy
they could do something about it: all Soviet EO equipment had to use
"stock" lenses, ordered from a catalog; optical designers simply
couldn't have custom lenses made.

What could simplify life more?

So, Soviet IR imaging equipment was tremendously bulkier than its
Western competition (because of the need for lots of off-the-shelf
lenses instead of a few custom made ones), and it never worked as good.

I doubt that's the reason.

commies have never demonstrated the ability to make anything that wasn't
large bulky and stupid, and that may even include "off the shelf" (as if a
place with bread lines has stock of anything to being with) components.
 
There is such a thing as the 'royal we',

Are you trying to compete with AlwaysWrong?

we == YOU and I.
for example the queen in the Netherlands sometimes talks like this
"We ... have decided".

Queen? Well, I am talking to...
But I think you have just ordinary red blood,
so that is a first sign that you need some tutoring on language.

More IKWYABWAI. You're the one who can't read.
Then, after, you can grab the beauty of the C language from the above example,
by going through that loop as often as required.

Beauty? That's as *UGLY* as you in drag.
 
I suppose one could ask before hiring him just what his percentage of time
billed was for regular work vs. bug-fixing -- since he's charging it
differently, he'd probably be able to figure it out pretty quickly!

No doubt the average programmer spends at least half their time fixing bugs?

Or designing them in.
I bet Larkin wouldn't hire anyone who spent more than 10% of their time doing
so...

I don't know if I believe Larkin's numbers. He's got the right idea, IMO, but
no one is perfect.
I thought the idea was to go to a second mechanic and let them have a whack at
it -- repeat until out of money or it's fixed? :)
(I once bought a Dodge Dakota from a friend that had had a
rough-running-at-idle engine for *years*, during which time he'd taken it to 2
or 3 different mechanics, none of whom were able to fix it -- although
certainly charging him money each time to try. I got lucky and the first
mechanic -- who was just a small, indepedent shop kinda out in the country --
was able to fix it for good. Luck was smiling on me that day...)

What else did he break? ;-)
 
Top