I'm 16 and about to start my junior year of high school. I've been learning JavaScript and React and have built a few small projects, but I've been losing motivation lately. I'm also becoming interested in game development as a possible career, which has made me curious about learning C++.
I'm unsure whether switching languages is a good idea. I've heard it's better to focus on one language until you become highly skilled, since constantly jumping between languages can prevent you from building a solid foundation. At the same time, C++ seems interesting, and I'd like to explore game development rather than forcing myself to continue with a technology I'm currently less excited about.
If I start learning C++, should I take a short beginner course and quickly begin making projects, or follow a structured resource such as LearnCpp.com? I'd appreciate advice on choosing a direction and avoiding the habit of abandoning projects whenever a new language catches my attention.
3 Answers
There’s no reason to avoid C++ just because you’re already learning JavaScript. Since you’ve made projects independently, you have enough programming experience to try another language without losing your foundation. The important thing is to keep building things instead of switching every time the material becomes difficult. LearnCpp.com is a solid structured tutorial, and you can use it alongside small experiments so you’re applying each concept as you go.
Use the language and tools that fit the project you actually want to make. If game development is motivating you, exploring C++ makes sense. You could try Unreal Engine if you want to work with a full game engine, or use a smaller library such as raylib if your goal is to understand how the pieces work and build more of the game yourself. Either route can teach you a lot.
You don’t have to treat this as an all-or-nothing choice. Keep your existing JavaScript and React knowledge available while spending a few weeks learning C++ and making a small game or simulation. If you enjoy the process, continue; if not, you can return to web development with more programming experience. LearnCpp.com is detailed enough to serve as a beginner course, so you don’t necessarily need another crash course first.

That makes sense. I like the idea of starting with smaller projects so I can learn the fundamentals instead of relying entirely on an engine.