Current Topic: C++ seems to be the programming language of choice for Arduino type AVR processors which just attracts java programmers leading to the total neglect that this is, after all, an 8-bit embedded processor. Not much more then a Commodore VIC-20 only a wee bit faster.
C++ Is Not The Ideal Environment For An AVR Processor.
The preferred programming model using the Arduino environment is C++. This is really a shame. This fails on two important points. Not only is the runtime heavily burdened by bulk and less efficiency but it disenfranchises those programmers that would prefer C which gives the ability to write code that will run much more efficiently on an AVR core. Using much fewer resources.
In fact the Arduino is primarily targeted to the DIY who has little but some experience Javascripting a Web Browser. That's all it takes. Totally Numptified. Additionally the existing library code seems to be a little short on resource management. Yeah! they cover the standard IO stuff but not in a manor suitable for a realtime embedded controller.
Here's the thing. Library and all low level code should be written in C (or assembly). This method yields the best resource cost usage which is critical for squeezing performance out of an 8-Bit processor core. Besides. The library code can always be abstracted in class oriented wrappers (numptified). With actually less penelties (performance).
In It's Only Defence.
For all the DIY'rs that seek an introduction to electronics and programming this is a great path to take. There is a huge support community and, really, it's all about learning. The main point here is that this is an entry level suite. It is not, by design, intended to produce production grade code.
13122