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.
Drones are, in essence, flying autonomous vehicles. Pros and cons surrounding drones today might well foreshadow the debate over the development of self-driving cars. In the context of a strongly regulated aviation industry, "self-flying" drones pose a fresh challenge. How safe is it to fly drones in different environments? Should drones be required for visual line of sight – as are piloted airplanes? Join EE Times' Junko Yoshida as she moderates a panel of drone experts.