{"slug": "cppfront", "name": "cppfront", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 5, "commenters": 8, "warners": 1, "score": 3.88, "rising": -1.64, "first": "2025-11-22", "latest": "2026-07-16", "why": "I played around with cppfront over Christmas and it was a lot more ergonomic than my distant memories of C++11", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 1, "compare": 1, "warn": 1}, "spark": [1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I played around with cppfront over Christmas and it was a lot more ergonomic than my distant memories of C++11", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/hsutter/cppfront", "official_url": "https://github.com/hsutter/cppfront", "pricing": "", "aliases": ["cppfront", "CppFront"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 782969760, "item_id": 48935610, "url": "https://news.ycombinator.com/item?id=48935610", "by": "cenamus", "date": "2026-07-16", "stance": "recommend", "quote": "I hope we're getting it for C++ with CppFront", "excerpt": "I hope we're getting it for C++ with CppFront, but I'm not hopeful it'll ever become mainstream https://github.com/hsutter/cppfront", "context": "", "use_case": "", "switched_from": "", "story": "SQLite should have (Rust-style) editions"}, {"id": 774607904, "item_id": 48412994, "url": "https://news.ycombinator.com/item?id=48412994", "by": "whstl", "date": "2026-06-05", "stance": "recommend", "quote": "I enjoy the syntax and the defaults he picked, and it matches the way I use C++.", "excerpt": "I enjoy the syntax and the defaults he picked, and it matches the way I use C++. I prefer it to all the C/C++ alternatives.", "context": "", "use_case": "C++ alternative syntax", "switched_from": "", "story": "C++: The Documentary Released Today"}, {"id": 770036272, "item_id": 48127267, "url": "https://news.ycombinator.com/item?id=48127267", "by": "vanderZwan", "date": "2026-05-13", "stance": "recommend", "quote": "I played around with cppfront over Christmas and it was a lot more ergonomic than my distant memories of C++11", "excerpt": "As a developer who doesn't really write C++ code I'm inclined to agree, but I think Herb Sutter's \"syntax 2\" project might provide a nice way out of that mess eventually. I played around with cppfront over Christmas and it was a lot more ergonomic than my distant memories of C++11, which I don't even have negative memories of per se. [0] https://github.com/hsutter/cppfront", "context": "developer who doesn't really write C++ code", "use_case": "", "switched_from": "", "story": "Cost of enum-to-string: C++26 reflection vs. the old ways"}, {"id": 744424704, "item_id": 46526544, "url": "https://news.ycombinator.com/item?id=46526544", "by": "vhantz", "date": "2026-01-07", "stance": "recommend", "quote": "should look into Herb Sutter's experiments with cppfront", "excerpt": "> Stanza provides an optional type system, garbage collection, and a multimethod based object system. But if you don't like Stanza's object system, there is no way to write your own. This is one of the main directions of programming language research. Can we design a language so expressive that library writers can easily write the most appropriate object system, or most appropriate type system, to fit their applicati", "context": "", "use_case": "", "switched_from": "", "story": "Stop Designing Languages. Write Libraries Instead (2016)"}, {"id": 736226352, "item_id": 46014147, "url": "https://news.ycombinator.com/item?id=46014147", "by": "pwdisswordfishy", "date": "2025-11-22", "stance": "recommend", "quote": "this exists: https://github.com/hsutter/cppfront", "excerpt": "No need to imagine hypotheticals \u2013 this exists: https://github.com/hsutter/cppfront", "context": "", "use_case": "", "switched_from": "", "story": "Is C++26 getting destructive move semantics?"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 774562896, "item_id": 48410181, "url": "https://news.ycombinator.com/item?id=48410181", "by": "tialaramex", "date": "2026-06-05", "stance": "warn", "quote": "Don't expect it to \"become a standard\".", "excerpt": "In February this year Herb tweaked a test case. That was his last commit to his \"CPP2 syntax experiment\". Don't expect it to \"become a standard\". https://github.com/hsutter/cppfront/commits/main/", "context": "", "use_case": "", "switched_from": "", "story": "C++: The Documentary Released Today"}]}], "who": [{"by": "vanderZwan", "context": "developer who doesn't really write C++ code", "url": "https://news.ycombinator.com/item?id=48127267", "date": "2026-05-13"}], "tags": [], "use_cases": ["c++ alternative syntax", "alternative c++ syntax compiler"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48408016", "title": "C++: The Documentary Released Today", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48928135", "title": "SQLite should have (Rust-style) editions", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48119326", "title": "Cost of enum-to-string: C++26 reflection vs. the old ways", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46551602", "title": "C++ std::move doesn't move anything: A deep dive into Value Categories", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46525640", "title": "Stop Designing Languages. Write Libraries Instead (2016)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46495539", "title": "Building a Rust-Style Static Analyzer for C++ with AI", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {"compare": 1, "recommend": 1, "neutral": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {"warn": 1, "recommend": 1}, "2026-07": {"recommend": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 782969760, "item_id": 48935610, "url": "https://news.ycombinator.com/item?id=48935610", "by": "cenamus", "date": "2026-07-16", "stance": "recommend", "quote": "I hope we're getting it for C++ with CppFront", "excerpt": "I hope we're getting it for C++ with CppFront, but I'm not hopeful it'll ever become mainstream https://github.com/hsutter/cppfront", "context": "", "use_case": "", "switched_from": "", "story": "SQLite should have (Rust-style) editions"}, {"id": 774607904, "item_id": 48412994, "url": "https://news.ycombinator.com/item?id=48412994", "by": "whstl", "date": "2026-06-05", "stance": "recommend", "quote": "I enjoy the syntax and the defaults he picked, and it matches the way I use C++.", "excerpt": "I enjoy the syntax and the defaults he picked, and it matches the way I use C++. I prefer it to all the C/C++ alternatives.", "context": "", "use_case": "C++ alternative syntax", "switched_from": "", "story": "C++: The Documentary Released Today"}, {"id": 774562896, "item_id": 48410181, "url": "https://news.ycombinator.com/item?id=48410181", "by": "tialaramex", "date": "2026-06-05", "stance": "warn", "quote": "Don't expect it to \"become a standard\".", "excerpt": "In February this year Herb tweaked a test case. That was his last commit to his \"CPP2 syntax experiment\". Don't expect it to \"become a standard\". https://github.com/hsutter/cppfront/commits/main/", "context": "", "use_case": "", "switched_from": "", "story": "C++: The Documentary Released Today"}, {"id": 770036272, "item_id": 48127267, "url": "https://news.ycombinator.com/item?id=48127267", "by": "vanderZwan", "date": "2026-05-13", "stance": "recommend", "quote": "I played around with cppfront over Christmas and it was a lot more ergonomic than my distant memories of C++11", "excerpt": "As a developer who doesn't really write C++ code I'm inclined to agree, but I think Herb Sutter's \"syntax 2\" project might provide a nice way out of that mess eventually. I played around with cppfront over Christmas and it was a lot more ergonomic than my distant memories of C++11, which I don't even have negative memories of per se. [0] https://github.com/hsutter/cppfront", "context": "developer who doesn't really write C++ code", "use_case": "", "switched_from": "", "story": "Cost of enum-to-string: C++26 reflection vs. the old ways"}, {"id": 745220048, "item_id": 46576253, "url": "https://news.ycombinator.com/item?id=46576253", "by": "mackeye", "date": "2026-01-11", "stance": "neutral", "quote": "is writing an compiler for an alternative c++ syntax", "excerpt": "a member of the c++ committee (herb sutter) is writing an compiler for an alternative c++ syntax [0], to c++, with the intent to restrict some semantics of the language for less UB, surprises, etc. i think less implementation-defined behavior is incredibly important; rvo vs std::move, dynamic function call optimization, i wish i didn't have to search asm to check for... [0]: https://github.com/hsutter/cppfront", "context": "", "use_case": "alternative C++ syntax compiler", "switched_from": "", "story": "C++ std::move doesn't move anything: A deep dive into Value Categories"}, {"id": 744424704, "item_id": 46526544, "url": "https://news.ycombinator.com/item?id=46526544", "by": "vhantz", "date": "2026-01-07", "stance": "recommend", "quote": "should look into Herb Sutter's experiments with cppfront", "excerpt": "> Stanza provides an optional type system, garbage collection, and a multimethod based object system. But if you don't like Stanza's object system, there is no way to write your own. This is one of the main directions of programming language research. Can we design a language so expressive that library writers can easily write the most appropriate object system, or most appropriate type system, to fit their applicati", "context": "", "use_case": "", "switched_from": "", "story": "Stop Designing Languages. Write Libraries Instead (2016)"}, {"id": 744008112, "item_id": 46500507, "url": "https://news.ycombinator.com/item?id=46500507", "by": "loglog", "date": "2026-01-05", "stance": "compare", "quote": "Is the proposed solution really more practicable than \"typescript for c++\" [0]?", "excerpt": "1. There are tons of static analyzers for C++. Does none of them support type system augmentation? 2. Is the proposed solution really more practicable than \"typescript for c++\" [0]? [0] https://github.com/hsutter/cppfront", "context": "", "use_case": "", "switched_from": "", "story": "Building a Rust-Style Static Analyzer for C++ with AI"}, {"id": 736226352, "item_id": 46014147, "url": "https://news.ycombinator.com/item?id=46014147", "by": "pwdisswordfishy", "date": "2025-11-22", "stance": "recommend", "quote": "this exists: https://github.com/hsutter/cppfront", "excerpt": "No need to imagine hypotheticals \u2013 this exists: https://github.com/hsutter/cppfront", "context": "", "use_case": "", "switched_from": "", "story": "Is C++26 getting destructive move semantics?"}]}