As I have previously alluded to, I did do some general C++ way back in high school and that has been it for most part. When I got started in microcontrollers, I picked up bits of C and it (along with some rudimentary Python I manage to write) has been my weapon of choice since. I have given re-learning C++ a fair amount of thought but the language has grown by leaps and bounds and I fear its vastness might be a discouraging factor. Besides, I do want to learn as much C (memory model, linker scripts and other stuff) as I can manage, before I consider moving to C++. However, I have seen C++ code written for some ARM Cortex CPUs and I figured it would be a useful tool to have in the future. I am entirely happy with both C and Python at the moment and I don't see C++ as an alternative to either; just an addition. I was interested in knowing what other members felt about this topic. Is it worthwhile to learn C++ (virtual functions, templates and whatnot) if you want to use it for embedded programming in the future? Or should I just focus on writing the best C I can? NB: I am not trying to start a C vs. C++ flame war here, just interested in knowing how (or if) the transition from one to the other could be done.