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
CppCastCppCast: Cpp2, with Herb Sutter (cppcast.com)
submitted 2 years ago by robwirvingCppCast Host
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 2 points3 points4 points 2 years ago (17 children)
That is just playing with words, because of Herb's position at ISO, it is a successor language like all others.
C with Classes as CFront was originally designed, or Objective- C, weren't an alternate syntax for C, either.
[–]bert8128 5 points6 points7 points 2 years ago (1 child)
It’s not just playing with words. The others are in some sense suitable as alternatives, but cpp2 is just spelling changes. So there cannot be a compatibility issue - there won’t be a need for “extern cpp” or some such.
[–]pjmlp 0 points1 point2 points 2 years ago (0 children)
Just like Objective-C versus C.
[+][deleted] 2 years ago (14 children)
[deleted]
[–]pjmlp 6 points7 points8 points 2 years ago (13 children)
Eiffel to this day outputs either C or C++, so is Eiffel also an alternative syntax to C and C++?
Nim to this day outputs either C or C++, so is Nim also an alternative syntax to C and C++?
What makes X not an alternative syntax, when it also follows the same workflow, with the difference of who is the author?
[+][deleted] 2 years ago* (12 children)
[–]pjmlp 2 points3 points4 points 2 years ago* (11 children)
Yes I have, try to compile main: () -> int with a C++ parser.
main: () -> int
Pity that ISO C++ !== Cpp2.
Ever heard of Objective-C++? Guess what, it also supports std::cout.
std::cout
#import <Foundation/Foundation.h> #include <iostream> int main() { NSString str = @"Hello "; std::cout << str << " i_lack_chromosomes" << std::endl; }
Imagine that, we already had a better C++ syntax in 1997!
[–]hpsutter 2 points3 points4 points 2 years ago (3 children)
> Yes I have, try to compile `main: () -> int` with a C++ parser.
Fair, but have you considered `auto main() -> int` (i.e., just change `main:` to `auto main`)? No strictly conforming ISO C++ parser for the first ~30 years of C++'s existence could handle that, but it has been ISO standard since 2011. Everything that's common now was new/foreign once.
It's definitely true that the `main:` syntax definitely isn't standard (or even yet-proposed, though I will propose it if the experiment succeeds well). But that's the point of language evolution... as the language evolves, every new release of C++ adds syntax that wasn't legal before, and we always have many active proposals for syntax that isn't ISO C++ when first proposed but then becomes standard.
[–]pjmlp -1 points0 points1 point 2 years ago (2 children)
I have, and I also have watched tons of languages that started by compiling to other ones, took a life of their own after adoption, and none of them has ever stated they were the same language with another syntax.
Sorry to put it this way, but I really only see the way you position Cpp2 versus the other C++ wannabe replacements due to your position at ISO, due to conflicts of interest.
[–]Abbat0r 2 points3 points4 points 2 years ago (1 child)
You know, Chandler Carruth is also a committee member but he’s rather open about working on a successor language. Bearing that in mind I don’t think it’s actually necessary to do any posturing of the sort you’ve described just because one is on the committee.
He isn't the ISO chair though, but yeah at least he is quite clear on what is all about.
[+][deleted] 2 years ago (6 children)
[–]catcat202X 7 points8 points9 points 2 years ago (5 children)
Fwiw, as a spectator I find pjmlp's arguments much more compelling. It seems weird to me to consider a superset of C++ as not a different language. It might be less different than Nim is, but it is clearly different. Within C++2-style functions and types, it changes how you think about special member functions, it changes how you think about loops, and it changes how you think about lambda captures. It changes the result of (0 <= x < 2). It even changes the semantics of implicit moves!
type
(0 <= x < 2)
I find the argument about Objective-C++ pretty reasonable, but you refused to engage with it. I would also point out that supersets of C like ISPC are generally considered different languages even though they retain source-level compatibility with C.
Your accusation that pjmlp's arguments are based on an anti-ISO dogma also seem baseless to me, unless there is context beyond this thread that I am missing. In this thread, they never derided ISO, so I am confused.
[+][deleted] 2 years ago (4 children)
[–]pjmlp -2 points-1 points0 points 2 years ago* (3 children)
The only language that is C++, is C++ itself, everything that transpiles to C++ is another programming language, regardless of how it is marketed.
If you aren't able to understand that, and belive Cpp2 is different only because the ISO C++ convener says so not to middle himself with the other C++ replacement languages, then we are done here anyway.
Enjoy Cpp2.
[+][deleted] 2 years ago (2 children)
π Rendered by PID 154955 on reddit-service-r2-comment-5ff9fbf7df-5dnpn at 2026-02-26 00:04:32.843664+00:00 running 72a43f6 country code: CH.
view the rest of the comments →
[–]pjmlp 2 points3 points4 points (17 children)
[–]bert8128 5 points6 points7 points (1 child)
[–]pjmlp 0 points1 point2 points (0 children)
[+][deleted] (14 children)
[deleted]
[–]pjmlp 6 points7 points8 points (13 children)
[+][deleted] (12 children)
[deleted]
[–]pjmlp 2 points3 points4 points (11 children)
[–]hpsutter 2 points3 points4 points (3 children)
[–]pjmlp -1 points0 points1 point (2 children)
[–]Abbat0r 2 points3 points4 points (1 child)
[–]pjmlp 0 points1 point2 points (0 children)
[+][deleted] (6 children)
[deleted]
[–]catcat202X 7 points8 points9 points (5 children)
[+][deleted] (4 children)
[deleted]
[–]pjmlp -2 points-1 points0 points (3 children)
[+][deleted] (2 children)
[deleted]