hahaha ... "Analysis Paralysis" ... I relate
Thanks for the link.
Writing much code in C is frustrating. For many applications you get lost in a sea of parenthesis. But it is the primary language to understand.
Using C++ overloaded operators and device drivers with constructors/destructors can eliminate confusion so well that reading thru the logic of a machine control program is nearly English.
If you ever get so motivated, definitely work with the fundamentals of C. Understand pointers, incrementing/decrementing and figure out an intelligent style that you can remember and stick with. Just write simple specific small programs.
With the Pi figure out how to make LEDs blink. This is almost like writing the C program to write "hello". Then think about all of these I/O opportunities. How should they be initialized ... every time (constructor). When finished with, what state should they be in? (destructor). In between, what form do you want the I/O so that you can tell what it is about? You could use a name for each bit for instance versus a byte that you have to use logical bit operations to determine what is set and not. Or, name the bits so that in the main routine is more readable about what is the intent.
A little carried away. This is me getting
me more interested. But once you have C++ a little bit understood, then writing the logic for some interesting tasks becomes so much more fun.
Personally, I am thinking about communications between Pi's. I would like to be able to directly share memory as used in master/slave. Not via a bus, but wired USB initially with RF not via USB later. Thinking.