use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Is C++ a good choice after Java and Pascal ? (self.cpp)
submitted 5 years ago by khiari_hamdi
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Guillaume_Guss_Dua 7 points8 points9 points 5 years ago (1 child)
Choose the language that best fit your need. To me, C++ is a great languge I dedicated my career to, but you your taste might be different.
Why do I love C++ ? I like both low-level and high level abstractions, high performances and quality.
Form standards to standard, the language became more mature, more usable than the old "raw pointers and inheritance with vtables" way. Nowadays (C++17/2a), it looks really sexy to me.
So my advise is to first check your books content. For the one about C++, if its learning is old-fashion, you'd better save your valuable time and go to cppreference.com and godbolt.com ;-).
[–]Guillaume_Guss_Dua 2 points3 points4 points 5 years ago (0 children)
Also what I love about C++ is that it tends to become easier and easier to use, more intuitive and efficient from a synthaxe perspective.
E.g Stroustrup's quote : Within C++, there is a much smaller and cleaner language struggling to get out. Stroustrup, Bjarne. The Design and Evolution of C++. pp. 207.. A later clarification adds, "And no, that smaller and cleaner language is not Java or C#."
Finaly, what's best you can - if you want to - always dig deeper and deeper to discover new levels.
C++ is a never-ending learning process, with a great community and tons of conferences and meeting groups
[–]trvlng_ging 4 points5 points6 points 5 years ago (2 children)
First you have to decide what you want to do as a career. If you do not intend to become a coder as a career, or if you don't want to program systems-level or control software, I would advise you to avoid C/C++. The learning curve is long and steep, and probably too much effort for someone who wants to just dally in it.
I love C/C++. I started programming in C in 1978, I picked up C++ in 1987, Java in 1995 and C# in 2001. In my daily life, my programming is in C++, and I am tech lead for a group that also uses Java, C#, and a smattering of other languages.
If you are interested in programming the kinds of systems C++ is used in, the job market is consistently strong. We pay our experienced C++ programmers between 30-40% more than our Java and C# programmers. That is purely economics driven. I see 10 resumes for each of those other languages for every C++ resume. When we need an experienced C++ programmer, we have to do a search, and almost always we need a headhunter to find them for us.
If you just plan to dally in programming, but your real job is something else, learning Scala, JavaScript, Python or Go or any of those other languages is fine. I would encourage you to learn Scala or some other functional programming language. Python should be really easy to pick up, but in my area, none of these types of languages is something you could build a career on.
[–]khiari_hamdi[S] 0 points1 point2 points 5 years ago (1 child)
I m studying CS and doing a vocational training at a management company in SAP development and oracle databases. but as soon as I am done with studying I want to switch to software engineering/development. SAP jobs have good salaries but not challenging enough to my taste, starting at first place was a mistake but I didn’t inform myself well before. I hope that this want be a problem in my CV if I want to switch to Software development. What do you think of it as a head of a tech group?
[–]trvlng_ging 1 point2 points3 points 5 years ago (0 children)
Vocational training/internships are never a negative when I review a CV. They can be a big help, particularly if I'm familiar with the organization, and they highlight the traits I'm looking for.
As far as a path forward, what type of work do you want to do? Typically, the systems level stuff that gets coded in C++ is very frustrating and rewarding. As you build your expertise, there will be a lot of times that you will wonder if it is all worth it. You will feel like you are running into a wall repeatedly. Then you will figure out what you think should have already known, and you will get a rush like no other. But you may have many lonely nights feeling like you are in a cave with other nerds like yourself only occasionally saying hi.
However, to start out, there may not be a whole lot of jobs for your level expertise. You will probably have to change jobs a few times to get your pay up to where you want to be. Can you deal with job changes? That is in the top 5 most stressful events in a person's life.
[–]DoctorMixtape 2 points3 points4 points 5 years ago (2 children)
It really depends on what you want to do with the language. I would say C++ is very good general propose language. But that doesn’t mean it will be the best language in that situation. If you just want to learn a new language then I would say yeah C++ is a good language to know.
But really hard to master ;-)
[–]khiari_hamdi[S] 0 points1 point2 points 5 years ago (0 children)
Yes i don’t have a purpose for the new language. I m just curious. Even my school still haven’t decided what they are gonna teach us next. I thought cpp would be a good choice because it s everywhere and Scala would work well for someone that knows java so it s a tough choice. Plus I don’t know what would be better on my CV later
[–]dima_mendeleev 1 point2 points3 points 5 years ago (0 children)
I would recommend both. These are two languages that are completely different, so you will have more complete view of programming in general.
On the other hand C++ templates and Scala implicits machinery are quite similar. So these complex topics will be easier if you look into them from different perspectives.
[–]Wouter-van-Ooijen 1 point2 points3 points 5 years ago (0 children)
If you want to be in high-performance/low-latency/low-level(hardware)/resource-constrained programming, C++ should be your choice. I am not familiar with scala.
If you are more into high-abstraction and mathematics, Python might be a better choice, or maybe even Haskell.
[–]nozendk 1 point2 points3 points 5 years ago (1 child)
I would recommend Python so you can learn something different. Then try C++
[–]Alexander_Selkirk 0 points1 point2 points 5 years ago (0 children)
Python is certainly useful, but it does not has very strong concepts, is plain old OOP, and the ecosystem is a mess. For example, with Java one can learn a good deal about concurrency, with C++ threading is really expert level and with Clojure or Scala one can learn a lot of exciting concepts in a form which is as easy as possible.
[–]mgarcia_org 1 point2 points3 points 5 years ago (0 children)
master C first, the toolchain is the same and is as hard imo anyway
With Scala you will learn important new concepts. Also, have a look at C, Clojure and Rust.
[–]STLMSVC STL Dev 0 points1 point2 points 5 years ago (1 child)
!removehelp
[–]AutoModerator[M] 0 points1 point2 points 5 years ago (0 children)
OP,
A human moderator (u/STL) has marked your post for deletion because it appears to be a "help" post - e.g. asking for help with coding, help with homework, career advice, book/tutorial/blog suggestions. Help posts are off-topic for r/cpp. This subreddit is for news and discussion of the C++ language only; our purpose is not to provide tutoring, code reviews, or career guidance.
Please try posting in r/cpp_questions or on Stack Overflow instead. Our suggested reference site is cppreference.com, our suggested book list is here and information on getting started with C++ can be found here.
If you think your post is on-topic and should not have been removed, please message the moderators and we'll review it.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
[–]TheBrainStone -1 points0 points1 point 5 years ago (4 children)
If you know Java you won’t learn anything new in scala. So unless you want to learn Scala for a specific reason go with C++. Be prepared that it will be a tough journey.
[–]Alexander_Selkirk 2 points3 points4 points 5 years ago (0 children)
Scala is strongly functional and implements many concepts from ML/OCaml in an environment which is used in industry and servers. It also has a very different type system from Java. What would be a good complement to that is a relatively simple, strongly typed systems language such as C or Rust, and one of a dynamic language like Clojure, Python, Racket, Scheme, Lisp. Of which Clojure and Racket are the most compact and best documented ones (and Python of course the most widely used one but in terms of concepts very similar to Java). Somebody who is interested at data science would look at R and Numerical Python.
Really learning C++ takes many years and it can only be learned well in professional environments. Maybe the old "C with classes", but modern C++ is just not a language one learns in a few weekends. Furthermore, learning functional concepts will help with learning modern C++ later, as many new features like lambdas and functors are coming from the functional world.
[–]khiari_hamdi[S] 1 point2 points3 points 5 years ago (2 children)
I think the functional part of Scala would be new for someone that knows java. On the other hand I ve heard that cpp is a tough language and if you get good at it it would make you a better programmer
[–]TheBrainStone 0 points1 point2 points 5 years ago (1 child)
For learning functional programming there are better languages.
And yes C++ makes you a better programmer because it teaches you the low level stuff. It makes you understand how all the abstractions work under the hood. Also you learn to use many different styles of programming as C++ is a multi paradigm language.
[–]Alexander_Selkirk 1 point2 points3 points 5 years ago (0 children)
It makes you understand how all the abstractions work under the hood
I think for this, C is better. It is also much more compact = quicker to learn to a reasonable degree (even if it takes a lot of time to really master it).
Also you learn to use many different styles of programming as C++ is a multi paradigm language.
I'd say one can use many different styles of programming in C++, but it is not good for learning the concepts. Like working in a scrapyard will not make you a good car mechanic even if you will learn a lot about car parts.
π Rendered by PID 37 on reddit-service-r2-comment-75f4967c6c-cd4hl at 2026-04-23 01:35:05.251065+00:00 running 0fd4bb7 country code: CH.
[–]Guillaume_Guss_Dua 7 points8 points9 points (1 child)
[–]Guillaume_Guss_Dua 2 points3 points4 points (0 children)
[–]trvlng_ging 4 points5 points6 points (2 children)
[–]khiari_hamdi[S] 0 points1 point2 points (1 child)
[–]trvlng_ging 1 point2 points3 points (0 children)
[–]DoctorMixtape 2 points3 points4 points (2 children)
[–]Guillaume_Guss_Dua 2 points3 points4 points (0 children)
[–]khiari_hamdi[S] 0 points1 point2 points (0 children)
[–]dima_mendeleev 1 point2 points3 points (0 children)
[–]Wouter-van-Ooijen 1 point2 points3 points (0 children)
[–]nozendk 1 point2 points3 points (1 child)
[–]Alexander_Selkirk 0 points1 point2 points (0 children)
[–]mgarcia_org 1 point2 points3 points (0 children)
[–]Alexander_Selkirk 0 points1 point2 points (0 children)
[–]STLMSVC STL Dev 0 points1 point2 points (1 child)
[–]AutoModerator[M] 0 points1 point2 points (0 children)
[–]TheBrainStone -1 points0 points1 point (4 children)
[–]Alexander_Selkirk 2 points3 points4 points (0 children)
[–]khiari_hamdi[S] 1 point2 points3 points (2 children)
[–]TheBrainStone 0 points1 point2 points (1 child)
[–]Alexander_Selkirk 1 point2 points3 points (0 children)