
On Sun, 25 Aug 2019 at 11:56, Howard Gibson via talk <talk@gtalug.org> wrote:
C++ is an object oriented language. Arduino boards are used to execute simple procedures that don't require the effort of an object oriented language.
Arduino is an IDE and framework for development. One of the main intents is to make it easy for "makers" and others who wish to quickly create something to control hardware, and who may not be versed or interested in becoming highly experienced programmers. There are many boards, both official and third party, that are able to work in the Arduino environment and thus have had boot loaders written and libraries ported to allow them to do so. These range from being quite low power ones, such as the popular 8 bit Arduino ATmega328P based UNO, to some that are fairly powerful, such as the 32 bit ATSAMD51J20 ARM Cortex-M4F based SparkFun SAMD51 Thing Plus. Yes, C++ is the language used for Arduino but most documentation, examples and tutorials for end users tend to use non-object oriented C compatible programming style. That doesn't prevent the full use of all the language features, for those who wish to. Many of the available libraries are object oriented and/or take advantage of the additional features of C++ over C. If you're careful to avoid certain aspects of the language, such as those that make use of the heap, you can use objects and other C++ capabilities to write Arduino programs that compile to no more, or even less code than if written in true C, and can be easier to maintain and understand. -- Scott