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.
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.