As i pointed out in a private message (and to the wrong person i think, i DO apologise!) Religion is also obsolete and here to stay whether we like it or not. C++ was designed as and functions as a drop in replacement for C. The arduino environment is C++ to a great extent. The compiler is the g++ compiler and the Arduino environment both includes and happily accepts code written in strict ANSI C++. Saying that Arduino uses a "Subset" of C++ is demonstrably false.
The problem with learning C is that it like religion, it will train your mind towards obsolete thinking. If you are lucky enough not to be have been taught C, then forget C. Learning C++ will teach you everything you need to know about C and also give you the ability to use a higher level programming language. To say that there is no place for abstraction in hardware is a absurd. The arduino people used to say that until about 10 years when i showed them you could reduce program size by a few hundred bytes using C++ over C. I am sure that my efforts are a small part of a greater demonstration by many that convinced the Arduino people to make the Arduino environment C++. I hardly consider "It's here to stay whether you like it or not" as a positive endorsement. I can say the same thing about Herpes. (Which like religion, i am also immune to!) Of course C++ obsoletes C. I am not aware of ANYTHING you can do in C that you can't do in C++. If you choose for whatever reason not to use the OO features of C++, the increased type checking, overloading and namespaces found in C++ simply render ANSI obsolete as a matter of fact. (C++ when used as strictly a procedural language obsoletes C at the starting gate.)
I knew this would turn into a typical religion versus science war, but to finish it off, exactly what can you do in C that you can't do in C++?
Hilariously, the machines on which i learnt C++ are dwarfed by many of todays microcontrollers. I just purchased a half dozen ESP32 boards on the cheap from China! (Xi Xi China!!!!!) It is a 32 bit RISC machine with half a meg of STATIC RAM!!!! I can remember telling a fellow who was a certified Genius (you know they have a test for that, it is a called an IQ test.) "You know, i am really glad i learned C++, although i admit, having a machine with128K of DRAM sort of makes it cheating since that much RAM is a huge playground. I dream of one day having a computer running at 10MHz with half a meg of STATIC RAM! " He laughed and said "Not in our lifetimes." Now that unbelievable dream machine is an $8 USD dev board and people are saying "There is no room for abstraction on a platform like that". This is the ULTIMATE "HA! WHEN I WAS A BOY!" :-)
Thanks to all.
Peter