Modern optimizing compilers can do amazing things and, when they're working properly, will probably generate an executeable that is faster and more compact than I could hand code. Having said that, there are times they will do amazingly BAD things to my code: a simple bit of code to turn a bit on, wait a while and then turn it back off may go away entirely. A number of my younger colleagues eschew looking at assembly-level output to see how the compiler has morphed their code, then wonder why things don't work properly...
On a slightly different note: if 2013 is such a great time to be in software, why are so many software engineers either unemployed or worried about their current job? I know way too many in both catagories, at least in the embedded realm.
I find it interesting that the measure for comparison is "lines of code," when a large number doesn't necessarily mean a good thing. The really interesting comparison would be showing some modern day product using less lines of code today than in the past, due to better programmers.
NASA's Orion Flight Software Production Systems Manager Darrel G. Raines joins Planet Analog Editor Steve Taranovich and Embedded.com Editor Max Maxfield to talk about embedded flight software used on the Mars on EE Times Radio. Live radio show and live chat. Get your questions ready.