Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

C++ in 2025 – Is It Still Worth Learning for Modern Development?

James78989

Mining
Joined
May 8, 2025
Messages
1
C++ has been around for decades, and yet it continues to evolve with standards like C++20 and C++23 pushing the language further into modern development territory. But with so many new languages and frameworks in the spotlight — Rust, Go, Swift, etc. — it raises the question: Is C++ still worth learning or focusing on in 2025?


Some key points I’m curious about:


  • How relevant is C++ in today's job market?
  • Is it still the go-to for systems programming, game development, or embedded systems?
  • Have modern features like smart pointers, concepts, and coroutines truly made it more beginner-friendly?
  • For someone starting now, would you recommend C++ as a primary language, or more as a secondary one?

I’d love to hear from experienced developers as well as newcomers. How do you see C++ fitting into your current or future projects?


Let’s discuss!
 
I think you should know it as a programmer, but concentrating on it possibly limits your marketability as a programmer. Used to know a programmer that thought C was wussy and that only programming in assembly was "true" programming. Today, coding efficiency tends to be more about overall speed to application completion, rather than code density, especially if the coding package already can access tested and robust code, compared to writing C or C++ code from scratch. Even if you were to be a C coder, would you really eschew already tested and widely used libraries of code modules? Unless you are an absolute whiz at coding in C/C++, I'd think that your overall coding efficiency would be less than if you were to use another language. There used to be, and possibly still is, a place for code density, such as in small microcontrollers that have limited storage.

That said, there might be a place for someone who knows these "ancient" languages; there's still a place for COBOL programmers/debuggers/maintainers, after all.
 
C/C++ is a fantastic language and the one I keep going back to. I've written engineering software in Objective-C / Swift (Apple only) and also C#, Python and now C/C++. For raw speed, sorry it's not even close. C++ is basically bear metal. Want to use the GPU, C/C++ all the way. No JIT (Just In Time) compiler to get in the way. If you develop in C++ it's much more difficult to competitors to reverse compile. C# takes seconds to decompile and if it's something you are selling, you might as well just give it away. C# and Python are much easier to get stuff done, but the fact that your secret sauce is easily visible makes companies move the actual work to the cloud where you can protect it. The cloud is slow. You are stuck with always being connected to the internet. Having gone down many of these roads, I'll forever be a fanboy of C++. Github is stock full of libraries that one can use that allow you to piece together software. CMake makes building C++ much less of a beat down, and once setup, feels like magic.

You can basically learn anything you want for free on youtube now so the bar to entry is pretty low.

To answer your questions directly:
How relevant is C++ in today's job market?
---Depends on what you want to do. Web software is prevalent so c++ would be for high performance back end stuff. HTML / Javascript / CSS are bear minimum for that space. There's other frameworks you can learn that just make life easier. Game development is mainly C++. C# used to be windows only, but times are changing and for the most part is now cross platform.

Is it still the go-to for systems programming, game development, or embedded systems?
---I had a cool opportunity to work for a large defense contractor a while back. Super cool stuff but it's all C++ for anything that flies, senses things, or blows up...you know all the cool stuff.

Have modern features like smart pointers, concepts, and coroutines truly made it more beginner-friendly?
---I think they are great features but like any tool, you have to know when to use them. There are some techniques that are only possible with smart pointers (where weak pointers come in). That said, you won't find smart pointers on anything that is mission critical usually. They usually allocate all the memory up front and then use it very purposefully. Drastically reduces the ability to crash, both figuratively and physically. Learn proper memory management in C first, so you know how it works. Then add the fancy syntactic sugar of C++ and it's newer features.

For someone starting now, would you recommend C++ as a primary language, or more as a secondary one?
---If you want to understand what's going on under the hood, which I think is mandatory, C / C++ is a no brainer.
 

Part and Inventory Search

Sponsor

Back
Top