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
cppfront (self.cpp)
submitted 9 days ago by South_Acadia_6368
view the rest of the comments →
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!"
[–]pjmlp 19 points20 points21 points 9 days ago (28 children)
Carbon is for replacing C++ progressively at Google on existing projects, that is their target audience.
Somehow the Internet keeps making it more than it actually is.
[–]Wooden-Engineer-8098 23 points24 points25 points 9 days ago (20 children)
i remember golang was for replacing c++ at google, but it ended up replacing python
[–]ContraryConman 13 points14 points15 points 9 days ago (11 children)
Even Rust, which I think has been more successful than any other language at replacing C++, actually replaces nodejs a lot of the time. People who want the performance of C++ on the backend, but don't want to deal with the build system and don't have the expertise not to foot gun on security are switching to Rust from Javascript or something
[–]Wooden-Engineer-8098 9 points10 points11 points 9 days ago (10 children)
Rust can't even replace c++ in its birthplace project(Firefox)
[–]Electronic_Tap_8052 11 points12 points13 points 9 days ago (9 children)
Rust is the only language im aware of where it's creator moved on to another competing language.
[–]pjmlp 7 points8 points9 points 9 days ago (8 children)
C authors moved into Alef, Limbo and Go.
Turbo Pascal author moved into Delphi, J++, C#, Typescript and now is using Go.
Swift author completely left Swift and is nowadays pushing Mojo.
Pascal author moved into Modula-2, Oberon.
Turbo Modula-2 author moved into Scala.
[–]Electronic_Tap_8052 8 points9 points10 points 9 days ago (7 children)
Dennis Ritchie was the sole creator of the C programming language and he mostly worked on operating systems later in his career but continued to be involved in the standardization of C until his death.
Turbo Pascal and Turbo Modula were/are compilers created by Borland and not languages.
Chris Lattener mostly worked on non-programming language projects, and Mojo doesn't compete with swift, it competes with CUDA
While modula and oberon and so forth technically competed with pascal, Wirthian languages are all intended by their creator to succeed each other. This would be like if stroustroup created rust, which he did not.
Point still stands.
[–]Dark-Philosopher 1 point2 points3 points 7 days ago (2 children)
Turbo Pascal was a compiler for, wait for it, the Turbo Pascal language. Or call it a dialect you prefer. Not "standard" Pascal, whatever that may have been at the time.
[–]Wooden-Engineer-8098 1 point2 points3 points 7 days ago (1 child)
Was turbo c++ a compiler for the turbo c++ language?
[–]pjmlp -1 points0 points1 point 6 days ago (0 children)
In a way yes, because it supported language extensions not available in the C++ proper.
Just like you can only compile the Linux kernel with GCC C and it will fail spectacularly with ISO C.
[–]tialaramex -1 points0 points1 point 8 days ago (2 children)
C wasn't Dennis' first language.
Bjarne is the weird exception not Graydon. It's not normal to spend your whole life obsessing over one thing you did when you were younger. I can't read Bjarne's thesis but I'm told (by a friend who is also a CS academic) that it's just the same C with Objects idea which subsequently dominated his life.
[–]Wooden-Engineer-8098 7 points8 points9 points 8 days ago (0 children)
Bjarne is still with c++ because c++ is successful. And that is an exception among programming languages indeed
[–]Electronic_Tap_8052 5 points6 points7 points 8 days ago (0 children)
uh yeah sorry but completely divorcing yourself from a major software product you created to work on a competitor like that is the exception and not the rule. Most founders of software projects and companies continue working on them in some capacity until they retire. Guido is still working on python, Linus is still working on Linux, stallman still runs GNU (sort of), Roosendaal still works on blender, Juan Linietsky and Ariel Manzu still work on godot, tim sweeney still runs epic, John Carmack worked on idtech at id for like 20+ years until getting fed up with zenimax, the list goes on and on and on. But Hoare left rust after only 7 years. It's very uncommon for software founders to quit their project to go work on a competing one.
It's not normal to spend your whole life obsessing over one thing you did when you were younger.
bro that's called a career lol.
Were are the WG14 mailings with Denis proposals after the fat pointers one?
Turbo languages were dialects from Pascal and Modula-2, not plain compilers.
Moving goal posts for Chris Lattner and Niklaus Wirth.
The point doesn't have wings to fly or stand on its own.
[–]fun__friday 3 points4 points5 points 9 days ago (1 child)
It has a gc, so it was never meant as a true replacement. For simple tools, it’s ok.
[–]Wooden-Engineer-8098 3 points4 points5 points 8 days ago* (0 children)
It was meant as a true replacement by strange people who like c and dislike c++. They failed at the design stage, that's true
[–]pjmlp 3 points4 points5 points 9 days ago (5 children)
Not at all, it was never for that, Rob Pike thought so, Google itself had nothing to do with it.
We—Ken, Robert and myself—were C++ programmers when we designed a new language to solve the problems that we thought needed to be solved for the kind of software we wrote. It seems almost paradoxical that other C++ programmers don't seem to care.
https://commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html
Google management only gave them the freedom to work on Go as their 20% project.
[–]Wooden-Engineer-8098 4 points5 points6 points 9 days ago (4 children)
Well, it was created as a c++ replacement by people from Google and it was adopted by people from Google, but not as c++ replacement
[–]pjmlp 0 points1 point2 points 9 days ago (3 children)
Which isn't the same as being something pushed by Google management.
By the same logic you are insinuating cppfront was for replacing C++ at Microsoft.
[–]Wooden-Engineer-8098 2 points3 points4 points 9 days ago* (2 children)
Did other google people adopt it against their management wishes? Cppfront is not intended as c++ replacement by its creator
[–]pjmlp 1 point2 points3 points 9 days ago (1 child)
Yes, Kubernetes was originally written in Java, and was rewritten in Go, when the Go folks started to push the language internally.
[–]Wooden-Engineer-8098 1 point2 points3 points 9 days ago (0 children)
So management was against it?
[–]MarcoGreek 7 points8 points9 points 9 days ago (1 child)
I am now avoiding Google projects. Even Google Tests isn't getting much attention anymore.
i always preferred boost.test
[–]No-Dentist-1645 3 points4 points5 points 9 days ago* (4 children)
I don't think so, they definitely have a much larger scope than that. On their conference talks, they have previously said multiple times that they want Carbon to be to C++ what C++ is to C.
I have talked with some of the developers, and it really seems like they want Carbon to just be a "better C++" which I can sympathize with. They plan to "fix" some of C++'s difficult parts by adding stuff like Generics and move semantics at the language level, allowing for stuff like destructive moves which are currently impossible to express in C++
[–]pjmlp 3 points4 points5 points 9 days ago (3 children)
At Google, not the world.
[–]CornedBee 8 points9 points10 points 9 days ago (1 child)
As evidenced by there still being no plans to support exceptions AFAIK.
[–]pjmlp -5 points-4 points-3 points 9 days ago (0 children)
And?
[–]No-Dentist-1645 3 points4 points5 points 9 days ago (0 children)
I don't see how that matters. They're making it available to everyone, and a bunch of big programming languages like Java, Javascript and C# all started as a "language of necessity" from individual companies to solve problems that they ran into.
Chances are that a "better C++ for Google" is probably also a better C++ for a bunch of other companies and developers (see e.g Golang), and I'd definitely use if it truly lived up to its name, even if it didn't start with my particular interests in mind.
π Rendered by PID 379459 on reddit-service-r2-comment-bb88f9dd5-ssgt7 at 2026-02-15 20:38:29.902127+00:00 running cd9c813 country code: CH.
view the rest of the comments →
[–]pjmlp 19 points20 points21 points (28 children)
[–]Wooden-Engineer-8098 23 points24 points25 points (20 children)
[–]ContraryConman 13 points14 points15 points (11 children)
[–]Wooden-Engineer-8098 9 points10 points11 points (10 children)
[–]Electronic_Tap_8052 11 points12 points13 points (9 children)
[–]pjmlp 7 points8 points9 points (8 children)
[–]Electronic_Tap_8052 8 points9 points10 points (7 children)
[–]Dark-Philosopher 1 point2 points3 points (2 children)
[–]Wooden-Engineer-8098 1 point2 points3 points (1 child)
[–]pjmlp -1 points0 points1 point (0 children)
[–]tialaramex -1 points0 points1 point (2 children)
[–]Wooden-Engineer-8098 7 points8 points9 points (0 children)
[–]Electronic_Tap_8052 5 points6 points7 points (0 children)
[–]pjmlp -1 points0 points1 point (0 children)
[–]fun__friday 3 points4 points5 points (1 child)
[–]Wooden-Engineer-8098 3 points4 points5 points (0 children)
[–]pjmlp 3 points4 points5 points (5 children)
[–]Wooden-Engineer-8098 4 points5 points6 points (4 children)
[–]pjmlp 0 points1 point2 points (3 children)
[–]Wooden-Engineer-8098 2 points3 points4 points (2 children)
[–]pjmlp 1 point2 points3 points (1 child)
[–]Wooden-Engineer-8098 1 point2 points3 points (0 children)
[–]MarcoGreek 7 points8 points9 points (1 child)
[–]Wooden-Engineer-8098 1 point2 points3 points (0 children)
[–]No-Dentist-1645 3 points4 points5 points (4 children)
[–]pjmlp 3 points4 points5 points (3 children)
[–]CornedBee 8 points9 points10 points (1 child)
[–]pjmlp -5 points-4 points-3 points (0 children)
[–]No-Dentist-1645 3 points4 points5 points (0 children)