Description
This may be a bit off-topic, but trying myself anyways :) . That may spark a discussion for some Sparkfun blog posts / videos / tutorials or else.
Some people complain that the Arduino ecosystem has in average quite low quality code, with very much "C++ written as C with classes". We may or may not agree with that, but it is true that the community uses in average quite little "modern c++ best practices". I think an explanation for that is the root in 8-bit AVR controllers with very little resources available, so each byte counted in the original days of Arduino.
With the Artemis line of product, this changes (and this is one of the appeals about it). While we still do not want (most likely) to use plain C++ STL et co. with lots of dynamic memory allocation, using some stuff like the Embedded Template Library (https://github.com/ETLCPP/etl), which has lots of nice fixed-size containers, could / maybe should be the default on Artemis boards, rather than the old plain C arrays and C-style strings. That would solve so many buffer overflows / undefined behavior, and help users capitalize on lessons learnt by C++ since the C++98 release...
I wonder if a way to pushing this may be to consider including the ETL (or similar, but seems like ETL gains a lot of traction and may become a de-facto standard) into the Artemis core (or very strongly recommending users to install the ETL Arduino library and using it), and creating some examples about the ETL use to push new users in this direction. This may be a bit pushy on the users, but meh, nobody will actually be forced to use it for their projects.
Any thoughts?