Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm in no way excusing Toyota. For those who want to understand how this happens, I can shed some light.

Early firmware was a replacement for analog electronics. Consider modeling the classic lunar lander. A simple digital computational loop with no branches, just math, has advantages over analog circuitry, such temperature stability, noise immunity, reproducibility, etc.

From there, embedded firmware grew in the same way complex mechanical systems grew, like mills and robots. Meanwhile, non-embedded software on workstations was growing, theories were developing, algorithms and organization and business models were applied. And firmware grew and grew, but mostly like an engine grows in that abstractions are minimized, optimization happens in-place and theory is largely tribal knowledge.

It's only in the last 10 years or so that firmware has metamorphosis end and is confronting other software. It looks especially conflictual (word?) to high-level devs like Ruby or what-have-you.

So yeah, this is no excuse for negligence and ignorance. I just hope my perspective helps ppl evolve.



The apollo guidance computer actually used a sophisticated software interpreter for most of its code. Not just a "computational loop with no branches"

http://en.wikipedia.org/wiki/Apollo_Guidance_Computer#Softwa...

In addition, there is no way in hell that the control algorithms it was using could have been developed without the use of computers. State-space control theory was specifically developed to take advantage of discrete-time control systems.

https://www.hq.nasa.gov/alsj/ApolloDescentGuidnce.pdf




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: