One of the things people nowadays overlook is back in the 70s and 80s when people were first learning C and C ascended to being a dominant language we know today, the people learning C were coming from a background of assembler programming. The original promise of C was being able to be almost as fast of an execution as assembler. I still remember the day I was able to write an OS driver in C instead of assembly and it executed just fine on a 25 MHz 486. I don't think I ever wrote any more assembly after that.
A few years after that, C++ became the new hotness. The shop I was working at adopted C++ immediately - even though we weren't doing any object-oriented programming and had no intention of doing so anytime in the near future. It was simply a better C. I wrote very little pure C after that.
As far as learning C/C++ today? Only for systems programming, embedded systems, and maybe games. I wouldn't write an application in either language. The goal is, and has always been, to use the highest-level language you can that still has the performance you need.
One of the things people nowadays overlook is back in the 70s and 80s when people were first learning C and C ascended to being a dominant language we know today, the people learning C were coming from a background of assembler programming. The original promise of C was being able to be almost as fast of an execution as assembler. I still remember the day I was able to write an OS driver in C instead of assembly and it executed just fine on a 25 MHz 486. I don't think I ever wrote any more assembly after that.
A few years after that, C++ became the new hotness. The shop I was working at adopted C++ immediately - even though we weren't doing any object-oriented programming and had no intention of doing so anytime in the near future. It was simply a better C. I wrote very little pure C after that.
As far as learning C/C++ today? Only for systems programming, embedded systems, and maybe games. I wouldn't write an application in either language. The goal is, and has always been, to use the highest-level language you can that still has the performance you need.