Re: Well, maybe we should not put software in everything
Real time software is engineering that just happens to have a logic component implemented in software. Unlike a typical desktop application its not a standalone program but a component in an overall system and to understand the code you have to understand the system. Its one of those things that's obvious to practitioners but difficult to explain to people who mostly write applications (and why its so difficult to find people who can write this type of code).
Contrary to popular belief it is really easy to make reliable real-time code and its also easy to prevent it from being corrupted. That these things happen is caused by sloppy software engineering -- or rather, the invasion of applications programming techniques into components where they don't belong.