Is it good to learn C++?
Posted by Nhoxay@reddit | learnprogramming | View on Reddit | 50 comments
Hello there.
Is it a good idea to learn C++ for someone with zero programming experience?
I heard an opinion that learning C++ isn’t as important today because of AI. Some people say that understanding what you want to achieve and knowing how to write the right prompt for AI is more valuable than learning C++, since AI can do the work for you.
Just to be clear I am eager to learn the language and do the hard work, but:
- I’m scared that it’s too late in 2025 and that I’m too old (I’m 27).
- I find it very demotivating when people say working with AI is more important than learning a programming language itself.
- I’m not sure if, as someone with zero experience in programming, it’s wise to start directly with C++.
Please help
Nearby_Ad_1427@reddit
Man, same age and wondering the same. I have not taken it because I am too busy with work but I did some C++ at college. Very basic but it's somethingg
Nhoxay@reddit (OP)
Yep, I think the world is pushing opinions about age too hard in our faces — like someone should have a great career by the age of 20 or something. It's overwhelming. 😵💫
paddingtonrex@reddit
I learned C first, then C++. I'd recommend anyone learn C, at least do a few months in depth, before going into C++. Learning C opened my eyes to a lot that made learning other languages way easier.
Nhoxay@reddit (OP)
Thanks for advice 😌
EsShayuki@reddit
Sounds like a terrible opinion.
No, no it cannot. AI is so stupid, and when you ask it for the reasons it did something the way it did and why it didn't do it the way you suggested instead, it cannot give any reason. You constantly need to babysit it, because it's so stupid and its coding makes no sense.
Well, sounds like you're about 50 years in the clear.
Wait, why would this be demotivating?
Sure, if you need it. You haven't yet said what you want to do, so it's hard to give much advice on that front. Python scripts might be quicker to get working for your personal projects.
Nhoxay@reddit (OP)
I find it demotivating sometimes because it’s hard to look at AI like toolsto help me, instead of feeling like it could replace me. Maybe I’m just weird, haha. 😄
I've always wanted to learn programming, but I chose mechanical engineering as my field of study. Now, with my master's degree and currently working on a PhD, I kinda regret it. I don’t feel happy in this field anymore.
So, I’ve been thinking about switching gears and diving into game development/ software development/ backend.
SCjdoh@reddit
I'm 37 and dabbled for years but have gotten more serious as of late. So if you're too old, I'm cooked 😆
CroolSummer@reddit
I'm about to be 42 and transitioning into programming more seriously, I might as well be dust if 27 is too old 😂
Nhoxay@reddit (OP)
Haha, okay guys. I guess I'm just scared, you know? Everywhere I look, it feels like everyone is already 200 steps ahead of me. And by the time I finally reach a high level of skill, I’ll probably be like 60 😄. But hey, better late than never, right? 💪🏽 (as somebody say that here too)
SCjdoh@reddit
I'm sayin! I even thought I was up there when I started looking into programming a few years back, and here we are years later. Much blessings to you on your journey, may you find great success 💪🏾
CroolSummer@reddit
Thanks, you as well, 👊 I'm only 3 1/2 years into my IT career and ready to make the next step, I don't think age has anything to do with it anymore, it's how you present yourself and your projects, etc. how much passion you have for it and you'll land the job
SCjdoh@reddit
Facts. Congrats on 3.5 in; if I can stay focused that long as a non traditional learner I should be in good shape
meszmate@reddit
There are several languages that could be considered better than C++, such as Rust or Go.
But ask yourself:
AI is stupid. It won’t replace real programmers—especially those who know more than just Python.
Anyone who claims otherwise may not fully understand the role of a skilled developer.
kibasaur@reddit
What do you mean "considered better"?
Such an arbitrary thing to say....
Professional_Dig988@reddit
what do you mean other than python , are python devs ore at risk or whats going on i dont understand
meszmate@reddit
Even a 8yrs old kid can do programming in python
mickylemax@reddit
Aaahh ... No they ain't .... C++ is 40+ years old since it's creation, spans a lot of use cases and has a great tooling, so I think Go and Rust ain't even near that giant .... But as you said preference..!!
guillermokelly@reddit
As a base, yes.
As for the age, no.
Am 43 yo and finished the informatics engineering BA degree AFTER being an attorney at law for 15+ years...
Same-Annual-7006@reddit
It really depends on what you work on. Anything high performance/limited resource or low level, Yes. Anything applications (which is the majority of what people want to work on now), then no (but learning c++ will still teach you and expose you to knowledge that makes you a better engineer even in scripting languages like js). There’s also gray area in between, but that’s the gist
TLDR, wanna build apps and software that runs on iPhone? Probably not. Wanna build the iPhone? Yes
This question is tough to ask because 90% of software engineers have never been exposed or have seen what areas of embedded firmware or base systems are like. The worlds are very different, so somebody with work experience in both is rare.
International_Cry_23@reddit
I am a C++ developer and my work hasn’t been affected by AI in any meaningful way. The systems I work on are too complicated to rely on AI. Using it is also banned in my company because of data protection. For now, it is not an issue.
You are not too old, don’t worry about the age. However, getting the first job will probably be difficult. It’s not impossible, but may require a lot of afford.
I started learning programming with C and C++, these 2 languages were the first ones taught at my university. I am happy it was the case, learning other languages later was very easy for me. It gave me a deep understanding of programming and in my opinion it was worth it to start with more difficult stuff.
rexxboy@reddit
We found the lockheed martin engineer guys
International_Cry_23@reddit
Haha, no, I don’t work for arms industry. I make software for one of German carmakers, there is a lot of attention to safety.
rexxboy@reddit
Pretty cool, huge fan of german cars so good job i guess? 😂
International_Cry_23@reddit
I don’t complain, I think I’ll stay there at least for few more years.
SeriousDabbler@reddit
Learning C++ will expose you to memory management, threading, and type details that other developers will never understand and articulate as clearly as you will be able to. There is a lot of hate about c++ out there, but the language is still doing things with compile time logic that no one else is doing or treating seriously. Yes AI is going to start writing code and become more proficient, but for the moment you'll still need to critique and provide feedback to the agents and there's no way to do that without having a clear model in your own mind about what good looks like
Tani04@reddit
It will take a long time to see the fruit, as per one founder or the guy itself who invented c++ so far I can't remember from YouTube. He said it would take like many years.
Java is great and python.
inbetween-genders@reddit
Happy cake day.
Tani04@reddit
yeeee
Rawat_Aayush@reddit
If you want to enjoy or explore a programming language, C++ is a really good language. It's a beginner friendly language. C++ is used for DSA. It's to build your problem-solving skills, how to solve any problem with the best approach.
If you want to build a career in the tech field. Web development: choose JavaScript. AI/ML? go for python.
putonghua73@reddit
You can say many things about C++ (DLC for C - not my joke), but beginner friendly it ain't!
I'm a hobbyist working my way - slowly, very slowly (frickin' work and family, man) - CS50 and C via KN King and K&R. 8 find C's syntax logical and embrace { }.
C++? Good lord! The syntax is an affront to my eyes, and there are just so many additions to the language.
Get the basics nailed in C and move on to C++; or learn another language really, really well and then move to C++.
If someone wants to learn C++ as a first language, go for it. But let's not gaslight potential learners into thinking C++ is beginner friendly
No_Plan2964@reddit
Short answer, start with C then C++ then any modern language and then AI coding..
Novel-Tumbleweed-447@reddit
It's a privilege to able to code. The thinking you do while solving problems benefits you greatly in many ways. If you really want to get in on the ground floor, learn the C language. It's the ancestor of languages like C++, C# and Java. If you start with C, a lot of the mysticism of later concepts will be removed.
I have another idea for you, which is my own insight. It's mind strengthening formula which improves memory & focus and thereby mindset & confidence. As you perceive your mind strengthening, it can change your outlook and broaden your options too. I have posted it before on Reddit -- it's the pinned post in my profile if you care to look.
Ok-South8013@reddit
I have around 15 years of experience, working as an architect in this industry. I am right now learning C++ and writing software with it as my current project needed this technology. So learn it without double thinking if you can enjoy the learning. It is totally worth.
Ignore these AI companies, they made very big investments in AI and now making unreleastic noise to defend their decision.
Born-Sheepherder-270@reddit
What is the end goal? C++ is Object Oriented do you like OOP ? what about scripting languages? these days people use frameworks consider all these factors
ipostatrandom@reddit
Even if you would heavily use AI, it's never going to be flawless and how are you going to amend output if you don't know the language?
C++ isn't the easiest language to start with imo, Python is easier, but if you specifically need/want to use C++ just start with C++.
Colleges started with it in my day, so it can work for you too.
BlankedUsername@reddit
I'm a cpp dev, with about 4 years of experience now in the language. If I can describe C++ as anything, it's the language of options. You have so many ways of tackling a problem that for beginners it might be overwhelming. It supports OOP, but you don't need to program in OOP. It can be used as a low level programming language but in some frameworks as a scripting language. You can use low level pointers or use smart pointers. There's so many different ways of tackling problems in c++ that new users might get lost. If you think that's a problem, then a simpler language to start out with like python is useful. If you already want a powerful language that many in the industry use, C# or Java might be worth looking into for your first language.
And no, it's never too late to learn to code and AI is not gonna overtake us. Atleast not for a good while yet!
OldWar6125@reddit
I’m scared that it’s too late in 2025 and that I’m too old (I’m 27).
No, you are not too old.
’m not sure if, as someone with zero experience in programming, it’s wise to start directly with C++.
I love programming in C++ but it is probably not a good first language.
It is very complicated and its indecipheral and long errors are legendary.
I would advise to start with either python or C.
hotboii96@reddit
Thinking you are too old at 27 years of age is insane. Jesus Christ!
Minute_Figure_2234@reddit
Only if You Need to use c++
sswam@reddit
If you ask me, C++ is the worst programming language. It's complex and difficult, without any major advantages over C, which is much simpler.
Learn Python first like a normal person.
RegularTechGuy@reddit
Underneath all the AI, there is systems programming languages such as c, c++, Rust all are present. So not learning a systems language is like leaving your parents since you are going to get married and have your own family. These AI companies want the programming world to run on their lime light but they seem to forget everything that came before them. They will find out soon when AI bubbles burst and when programmers voice the real truth.
chaotic_thought@reddit
It is good to learn it, but I would not recommend to learn it as a "first" programming language. The language *can* be used and taught to beginners, but normally it is not done so. People using and teaching C++ usually assume that they are talking to "expert programmers", or at least that you have studied programming with some other language before.
C, on the other hand, is fine to pick up "directly", because there are plenty of books, courses, etc. that are designed for you to learn C in a "beginner friendly" way.
I would advise not listening to this kind of advice. Generative AI is a tool. But if someone is saying that it is the most important tool, then that person is either spouting either folly or is somehow being paid by AI companies to say that. Or else it could be AI generated text itself designed to increase AI hype.
In any case, when we are learning to do something, it pays a lot of dividends to do it "yourself" and to "get your hands dirty". In particular, this means that you should actively avoid using AI when you are learning. Why? So that you can get good at actually writing the code. If, after you've learned, you find AI a useful tool to use, then by all means, use it.
This is kind of analogous to using a GPS in your car. Suppose you want to be good at navigating the roads and driving the car. Then you should train your navigation skills by first turning it off in the beginning (e.g. reading the signs and so on, and paying attention to the road). But after you have trained enough, it is fine to use a GPS. I think this is what most driving schools do nowadays. At the age when I learned to drive, we did not have GPS in most or any cars. It was not a thing that people commonly used.
This will be similar for "auto driving features" as they become more intelligent and more prominent. To actually be good at driving (or programming), you need to train doing the thing that you want to get good at. If you just push a button and try to automate some machine to do it for you, then of course you'll never reach the skill that you want.
ViolaBiflora@reddit
I started out with C# last year, got the hang of it and then grasped a little bit of C++.
Turns out that C# covers many „processes” you’re not aware of (memory allocation, garbage collector, etc.), so learning C++ just to get to know how „a pc works” is a great idea.
I marked it in quotations because I know you can use specialised words in here, but wanted to put it briefly. Worth it just to grasp certain stuff.
Vegetable-Passion357@reddit
I followed a path like you.
C++ helped me to understand the .NET concept of garbage collection. If I had not taken the time to learn C++, my understanding of garbage collection would be limited.
I encountered a C# MVC Web page where the code was not performing garbage collection correctly.
The amount of memory used by the IIS Server process (w3wp.exe) was increasing daily. Once a week, I would boot the server during off hours to free up the memory.
I never could find the memory leak. But thanks to learning C++, I knew what was happening.
ToThePillory@reddit
C++ is a fine choice, loads of other languages are fine choices.
Basically you need to look at the job ads, imagine it's 2 years into the future, which jobs will you apply for? What are those jobs asking for experience in?
SuccessfulCrew6916@reddit
Every developer should learn algorithms, after choosing a language depends on your point, if you want to run on the web frontend JavaScript, for backend java or go, for data or ai c and phyton. i don't advise to start with rust because rust has completely different philosophy then current developing concepts of the most of key projects.
sbayit@reddit
Learn what you have to use and then learn more if need
Abyss_slayerIII@reddit
It’s better to start late then never
I think it’s a good idea to know how to use AI to help you emphasis on the help you rather than using AI to do the work because AI is a strong tool but most work will still require you to do it
I would say start with C then when you are good at that go to C++ because C is a lot more beginner friendly and many topics you learn from C can covert to C++
EmphasisRoutine2772@reddit
I am think .....
Dry_Masterpiece_3828@reddit
If you gave to ask, no. Only if you need it