Don't peek at my code! Isn't Arduino open-source?
I'm in the same boat, having done programming back in the day for batch jobs in SAS and FORTRAN, and in assembly and BASIC. I'm finding Arduino an easy platform to finally get started on some DIY projects without having to invest megabucks into development tools. Hats off to the Arduino community.
"I agree and disagree"
Way to sit on the fence (grin). It's like that Charles Dickens' book that starts "It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair..."
I thought to myself, if he can't make up his mind on the first sentence, what's the rest of the book going to be like?
I agree and disagree. I agree that many developers working with high level languages don't understand the low level details. Abstraction of the low level details is the entire point of a high level language. Languages like C have come a long way in their optimization. If the compiler is not generating efficient code, then I would say that the deficiency lies in the compiler and/or hardware rather than the developer. That is not to say that the compiler or hardware are sub par, only that the industry itself is still quite young. I would rather see developers focus on sensors, transducers, and interfacing with the physical world, while relying on the microcontroller (and associated compilers) to Just Work (TM).
Enjoy your articles. If you're interested in additional resources, I have a book published by Apress on building cool projects with the Arduino titled, Learn Electronics with Arduino. The book doesn't teach basic theory of electronics but the concepts such as Physical Computing, Mechatronics, and little Systems Engineering philosophy using the microcontroller platform as a hands-on teaching tool. Basic electromechanical and electronic components like transistors (BJT and MOSFETs), flyback diodes, relays, 7 segment LED displays, LCDs, and servo motors are discussed in the book. Each chapter has a wealth of projects along with Arudino sketches to explore the cool electronics prototyping platform. Here's an Amazon link to the book. http://www.amazon.com/Learn-Electronics-Arduino-Technology-Action/dp/1430242663/ref=sr_1_1?ie=UTF8&qid=1360357486&sr=8-1&keywords=Learn+Electronics+with+Arduino
The SparkFun folks are great. They have a very high level of customer service and a refreshing attitude.
I recently jumped into the Arduino world myself with the same concerns about it's capabilities. My conclusion is that it depends on what you want to use it for. I've found good use in learning how to use new sensors, like my GPS or IMU.
The Arduino has libraries for a huge number of peripherals and getting something like my GPS up and running is very quick. I can get familiar with the ins and outs of the sensor before putting a large investment in software for a lower level MCU.
I'd also put the mbed in this same camp. The mbed is more capable than the Arduino, and not that far off in cost now. The mbed also has quite a few libraries available.
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.