Let me start off by saying I know the "Should I learn c++?" question has been done to death. I'm aware of the pros and cons stated by multitudes of folks on the internet. However, the answer to my question, alluded to in the title, has come up empty me in a google and forums search so I figured I would start a thread on it.
Question: When should I start to learn c++?
That's the brief version, and if you want to, you can stop there and give a general answer to when someone should venture into the land of c++. And I'd like to thank you in advance for any reply or advice you can give. However, for those who wish to know more specifics of my case, I'd like to provide some of my personal history that may aid in determining what advice to give me. I hope this does not become a giant wall of text.
I have grown up around computers, my dad did some programming in fortran, pascal, basic, and some CNC languages when I was a kid. So we've always had a computer around that I was able to mess around on. I started with some pascal myself, then later ventured into javascript when I wanted to do some web stuff. In the early 2000s, I was enrolled in a computer science program at a college near me. They started us in Visual Basic and a little c++, though in c++ I didn't get much past cin/cout. I had to drop out due to financial and personal reasons. Later, I was able to go to a different college and finish a degree, but since the closest they had to CS was electrical engineering, which didn't really hold my attention, I ended up getting a BS in physics. I use python regularly for computational physics problems, and I feel comfortable enough with python that I feel that if I'm given something to program, even if I'm not familiar with the modules to do it with, I could delve into the documentation and find a way to do it. It may not be elegant, short, or efficient, but I feel I could find a solution. I am by no means an expert in python, there is far too much that I don't know in python to convincingly claim to be, but I feel I know enough at least to be dangerous, as the saying goes.
Lately though, I have been dabbling in C, mostly just taking old programs I've written in python to see if I can make them work in C, and get the same results. Ostensibly to see if there is a computation time benefit to learning C, but mostly to start learning it just because I'm a little curious about it and have the time. I have done a little game programming in python, mostly just the standard hangman, tic-tac-toe, and text based games. I haven't dabbled too much in pygame because I don't like it, I don't know where my dislike for pygame stems, could be the obnoxious colour of the pygame website, could be the overuse of underscores in method names, I'm not sure, but I'm just not a fan.
Obviously, with this history, I'm not just starting out learning to program, and I'm comfortable enough to say that I could probably pick up c++, so I'm not worried about can I learn it. I also know that at 30, with no real formal training in CS, and at this point, no real portfolio to speak of, at least that I'd be proud enough to share with a prospective employer, me becoming employed at a AAA studio, and actually needing c++, is really unlikely to happen.
Since I doubt that I will realistically ever need the lower level and efficiency of c++, is it even worth it to try to learn c++, or would I be better off just messing around with c# and an engine like Unity or something of the sorts? Furthermore, since I'm already trying to learn C for scientific computing purposes, would it be better to just learn c++ for that since that's just a superset of C anyways?
Thank you for taking the time to read this.
-Jared