I'm trying to learn it "by doing stuff with it", and I think I've done progress in a few months (the only programming language I knew was Basic, more than 10 years ago).
I fully agree with ComputerRex point of view and as a student teacher I think it's the best way to learn : while having fun and actually creating something. In schools, I can tell you that the children get really involved if you show them they can do interesting things with grammar and this kind of stuff.
I see C++ as any other language : their is a "structural core", which is the grammar of the whole thing : conditionnal structures (if-else), callbacks, declaring variables int/char/double..., using the {} correctly. The computer needs that to understand you.
After that, all the vocabular you need for Orbiter is in the Reference API, and tutorials like those of Computerrex are very helpful. From there you can start your own little projects, like a ShuttlePB with a RCS tank or Fuel Cell that depletes with time. The first add-on I did was a "realistic settings" PB launched from a ramp on the Moon, with 2 small SRBs (that you could jettison but not extinct) at the end of each wing. I had a lot of fun with it, it had just enough fuel to get in orbit and land.
Really, I think that the key is to start slowly on personal, fun, but not too ambitious projects. You won't create something like the XR-Vessels the first time ! :lol:
In my opinion, it's easier than learning a foreign tongue, while similar. You'll never have to worry about the spelling, and VC++ is here to watch your grammar !