5 ms·
Herb Sutter is trying to save C++ from becoming a legacy language: https://github.com/hsutter/cppfront https://github.com/hsutter/cppfront It is his ongoing wo
by fwsgonzo 4y ago
Herb Sutter is trying to save C++ from becoming a legacy language: https://github.com/hsutter/cppfront https://github.com/hsutter/cppfront
It is his ongoing work as he presented it on CppCon today.
- seer-zig 4y agoHow do you think it stands up to Carbon?
- fwsgonzo 4y agoI think it is more natural because it tackles things like exception handling in a new novel direction: Zero-overhead deterministic exceptions, among other things. He picks up all the things that clearly have great potential (and some have been proven to be very good in other languages) and is making a frontend for them. Carbon, on the other hand, is just Google code standard as a frontend. No exceptions, weird naming schemes etc. It's like a coding guideline made language. The guys behind it clearly know performance though, so I am not saying it won't be that. But will it be a great language? I don't think it can compete with what Herb Sutter is trying to achieve. I am of course willing to be proven wrong. See: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0709r4.pdf https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p07...
- pjmlp 4y agoHerb's proposal went nowhere, there were zero public activities since the paper was published.
- Suro 4y agoAs I see it, Carbon have in its explicit goals to fix both the syntax issue and the major ABI retrocompatibility issue, while herb approach is to just deal with the syntax: Sure it is better than nothing, but I'm willing to bet that this will not convince most of people that saw their idea being killed by the committee on the ABI altar.
- forgotpwd16 4y agoC++ is a continually evolving language. It's becoming a legacy only due to people thinking hasn't really changed the past few decades, something that isn't the case.
- kouteiheika 4y agoIf that's how we define a non-legacy language then COBOL is also not a legacy language; after all the newest standard was released in 2014, with a new standard currently in development. (:
- google234123 4y agoI would guess lost programmers writing c++ learned it within the last 20 years..
- vonwoodson 4y agowhen you learned C++ 22 years ago “I remember when we were excited for std::string”…
- nine_k 4y agoTo me, a legacy language is such that people used it for the prevailing share of code of certain kind, and now the prevailing share of new comparable projects gets written in different languages. I think that C++ is moving towards becoming a legacy language (with a huge legacy of important codebases written and maintained in it), but it's not yet there. Rust and Go keep replacing it at different ends of spectrum though.
- arinlen 4y ago> To me, a legacy language is such that people used it for the prevailing share of code of certain kind, and now the prevailing share of new comparable projects gets written in different languages. That's certainly a definition, but C++ would still not meet the definition of a legacy language by that measuring stick. C++ remains one of the most popular programming languages in the world in spite of the inception of alternatives. For instance, TIOBE (I know) lists C++ at the 4th place of it's popularity ranking, and features 4th place in GitHub's pull request ranking for 2022. https://madnight.github.io/githut/#/pull_requests/2022/1 https://madnight.github.io/githut/#/pull_requests/2022/1 Also, we should keep in mind that C++ was basically the only relevant programming language available for some domains, such as Windows desktop development. Since then, Microsoft put its collective weight in C# to portray it as the one and true technology, and in the process pushed C++/CX and C++/WinRT as part of UWP, which aren't exactly C++. If one vendor changed its mind and decided to roll it's proprietary solutions as C++ competitors, that's hardly an issue with the merits of C++. One thing that C++ does not have but some niche wannabe competitors have is teams of PR and evangelists selling the idea that a few loudmouths generating noise day and night represent a change in the baseline.
- pjmlp 4y agoThe way they killed C++/CX and insist everyone uses COM with tooling that was already bad enough in the Visual C++ 6.0 days, 20 years ago, they could start by sorting out the mess at Microsoft in first place. Currently the positive part is that VC++ is the most compliant in ISO C++. Note that other than the spaceship operator, all Herb's former proposals for reflection, exceptions and parameters have fizzled out at the committee, nothing happened after his CppCon talks.
- IAmLiterallyAB 4y agoI don't know that they've "fizzled out" it just takes a while. There have been papers this year on reflection, comparing different versions of it. I'm hopeful for that and exceptions making it in soon-ish
- pjmlp 4y agoFizzled out means just that, if you check C++ mailings, nothing happened since 2019. Doesn't matter, because it was made public Herb Sutter's presented his own language as solution to fix C++ at this year's CppCon, https://github.com/hsutter/cppfront https://github.com/hsutter/cppfront
- twoodfin 4y agoIt’s astonishing how fast the zeitgeist has changed in the upper echelons of the C++ community. Only a few years ago everyone was excited that the language had broken out of its 0x-era rut and into a regular cadence of significant modernizing improvements. The word “renaissance” was used often. Now everyone seems miserable.
- fwsgonzo 4y agoHardly miserable. But we do need to address the fact that people are not starting new projects in C++. It is a fact, and that fact has a well understood reason. Solving that issue the regular way, through implementation, committee and then standardization, seems herculean. In fact, it is probably never going to happen. That contributes to negativity, but it is not hopeless. Translating a modernized, possibly memory-safe version of C++ to standard C++ is definitely one such possibility, and it is great that someone who is as capable as Herb Sutter is working on it.
- humanrebar 4y ago> ...people are not starting new projects in C++. It is a fact... That's absolutely not true. I've seen plenty of new projects in C++ in the last month alone. A lot of the time when someone writes a binary wheel for python, it's in C++ for example. I'd ask for citation, but I can't imagine how someone would demonstrate a negative claim like this.
- fwsgonzo 4y agohttps://twitter.com/markrussinovich/status/1571995117233504257 https://twitter.com/markrussinovich/status/15719951172335042...
- arinlen 4y ago> Only a few years ago everyone was excited that the language had broken out of its 0x-era rut and into a regular cadence of significant modernizing improvements. The 0x era started around two decades ago, a few years after the release of C++98, and arguably ended over a decade ago with the release of C++11. This isn't something new. > Now everyone seems miserable. I don't see any misery. If anything, what I see is projects bounded to old C++ versions due to real-world constraints.
- jimbob45 4y agoIs that even feasible? Could you resurrect Fortran or COBOL by bolting on modern features to those languages? Herb’s the genius that we don’t deserve but I have to think his generational talents are going to waste by plugging a sinking ship rather than designing the successor to C++ (rather than the Carbon devs who seem incapable of recognizing good design).
- DoingIsLearning 4y agoI agree with your point but Fortran is actually a bad example for your case because it has been revamped throughout the years (with the latest standard in 2018) and Fortran is used extensively in simulation and HPC applications
- TheRealKing 4y agoFortran 2018 already has modern features. What modern feature are you specifically talking about that Fortran lacks? There is more to arrive in Fortran by 2023 and 2027.
- jcelerier 4y agoof all the recent "C++-v2" languages (carbon, etc) this is the only thing so far which seems to solve exactly the issues I encounter while developing with the language day-to-day
- mbrodersen 4y agoC++ is not even close to being a legacy language. New C++ projects are started every single day.