When I was in University 40 years ago, I was a big fan of C++. However I never had the need to do any projects in this language so far. I did plenty of work in ABAP, Java and later on enjoyed the relaxed approach on the usage of semicolons in Javascript and I also did some work in Python.

That changed when I discovered the world of Microprocessors and Arduino and I used C++ to hide complexity and provide some easy to use functionality to Arduinos.

After discovering that it’s possible to do some header only implementations I thought it is about time to start something bigger in C++ and oh boy…was I running into troubles!

  • If you forget just a single semicolon all hell is breaking loose and I tended to do this a lot e.g. after the closing } of a class declaration. Something that is just not necessary in Java or Javascript.
  • It is just a nightmare to maintain the consistency of the function declarations and their corresponding implementations.
  • The header files must not be nested: I had a single factory class and I was running into a lot of dog eating it’s tail issues: This is also a restriction that I have never seen before!
  • Somehow it is just incredible that in the age of the Internet the STD does not provide any functionality to access resources from the web! This is also unheard of in any other modern language!
  • The next challenges were CMake and Doxygen that you need to master if you want to compile run and document your code.

Well, finally my project is compiling now and I even managed to use the debugger in VSC…

Categories: Arduino

1 Comment

Anonymous · 2. February 2021 at 19:17

I feel your pain.

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *