Jack Ganssle, Editor of The Embedded Muse Jack Ganssle's Blog
RSS Feed This is Jack's outlet for thoughts about designing and programming embedded systems. It's a complement to my bi-weekly newsletter The Embedded Muse. Contact me at jack@ganssle.com. I'm an old-timer engineer who still finds the field endlessly fascinating (bio).

For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.

Why Does Software Cost So Much?

May 20, 2020

Why does software cost so much? This is a plaintive cry heard from managers the world over. In my travels I'm often asked that question, especially from companies that have been around for generations. Many of these build products that few people think about, yet that are essential to the complex infrastructure that underlies the world. Some of these outfits built electromechanical devices for decades but found that incorporating a little intelligence gave them a competitive advantage. Time goes by and that part-time engineer who designed a simple board with a few K of firmware is now a 20-person department. Products are late, bugs leak into the field, and each "little software change" takes weeks or months.

So the boss, perhaps an experienced mechanical engineer with decades under his belt at the company, asks me "why does software cost so much?"

I can only give the answer Tom DeMarco framed: "Compared to what?"

Software IS expensive. Hideously so. But compared to what?

In 1969 I was 16 and managed to get a job as an electronics technician working on, among other things, Apollo ground support equipment. We built a device that made decisions about what to do with incoming telemetry streams. The thing comprised about 8 cubic feet of maybe 500 small circuit boards, each with a half-dozen or so ICs plus discrete components. These were RTL (resistor-transistor logic) devices. I have no idea what we charged Goddard Space Flight Center for it but am sure it was big bucks.

Today we could replace that with an Arduino, a bit of steering logic, and some code. Maybe a hundred bucks in hardware and probably not much more than a few KB of firmware.

When people stress over the cost of code I commiserate, as it is expensive. But consider this: what would it cost to build something like Microsoft Excel out of gears and levers? It couldn't be done for all of the money in the world.

Or, build an Excel contraption from any kind of analog circuitry you'd like. What would that cost?

Make it easier: you're allowed to use the most sophisticated digital components available, as long as there's no computer involved. (No cheating: you can't implement program counters and the like!). I suspect an Excel simulacrum would be the size of a city. Maybe a small country. The cost would be inconceivable.

Why does software cost so much? Well, we're implementing functionality that was once inconceivable.

In my teenaged years I made money repairing TVs. These typically had 17 vacuum tubes and could receive a handful of channels. Old-timers remember messing with rabbit ears trying to get a signal that wasn't too noisy and fiddling with the UHF tuner to bring in a signal. You would twist the horizontal sweep control to tame the rolling display. In today's dollars these beasts cost thousands. Today you can get a big-screen unit with wifi and more features than a 60s-era person could dream about for a few hundred dollars. The electronics is so much better (with billions of transistors instead of 17 tubes) and is all mediated by software.

Remember old land-line phones? That bulky Ma Bell Bakelite beast with a mechanical ringer and rotary dial. It didn't do much other than make an annoying noise when the hundred-volt alert signal came down the wire and transmit weak electrical signals through an Edison-era carbon mike. What did they cost? No one knows; it was illegal to own a phone in the USA. Ma Bell leased them to us. Maybe $50? But today's $600 smart phone would have been $70 in 1965 dollars, and the latter product's feature set is infinitely richer than the dumb phone of yore. All because software makes those goodies possible… for a reasonable price.

Software is expensive. But think of what a poorer world we'd have without it.

Feel free to email me with comments.

Back to Jack's blog index page.

If you'd like to post a comment without logging in, click in the "Name" box under "Or sign up with Disqus" and click on "I'd rather post as a guest."

Recent blog postings: