I think it’s a good first language to learn. Because it’s a lower level language than most of the popular ones these days, you will learn a lot of interesting concepts and problems you wouldn’t otherwise get or even need for higher level stuff - like memory management, allocation, garbage collection and cleanup, and pointer references - but which give you a better understanding and appreciation for what’s in the black box.
But you also learn a lot of transferable concepts like typing, mutability, objects and object oriented design, polymorphism, etc. And there are still a ton of jobs where C++ knowledge is required or at least useful.
I have barely touched it over the years since first using it, but patterns and approaches I learned in C++ have come in handy for me a lot when troubleshooting and when reading other people’s code, and being able to recognize who is going to be a helpful person to talk to when I run into problems I can’t quickly figure out.
I think it’s a good first language to learn. Because it’s a lower level language than most of the popular ones these days, you will learn a lot of interesting concepts and problems you wouldn’t otherwise get or even need for higher level stuff - like memory management, allocation, garbage collection and cleanup, and pointer references - but which give you a better understanding and appreciation for what’s in the black box.
But you also learn a lot of transferable concepts like typing, mutability, objects and object oriented design, polymorphism, etc. And there are still a ton of jobs where C++ knowledge is required or at least useful.
I have barely touched it over the years since first using it, but patterns and approaches I learned in C++ have come in handy for me a lot when troubleshooting and when reading other people’s code, and being able to recognize who is going to be a helpful person to talk to when I run into problems I can’t quickly figure out.