Cppfront, Herb Sutter's proposal for a new C++ syntax

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Sonar - Free webinar: The Power of Clean C++
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Scout APM - Truly a developer’s best friend
  • Zigi - Workflow assistant built for devs & their teams
  • cppfront

    A personal experimental C++ Syntax 2 -> Syntax 1 compiler

    - C++2 should not be called C++2, pls let's find a Raku/Kotlin.

    Let C++ be the complexity monster it is. That's the tradeoff we make when we have to write it. If safety is the issue, can't we just use a sandbox or something? Is C++2 really the better option?

    [1]: https://github.com/hsutter/cppfront/blob/main/regression-tes...

  • carbon-lang

    Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

    I feel so sad for hours now...well, from the time I saw the original post on reddit and then here.

    For the past few days all I can see in HN is the announcement of new languages and research projects that relate to C++:

      * Carbon (https://github.com/carbon-language/carbon-lang)

  • Sonar

    Free webinar: The Power of Clean C++. Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!

  • jakt

    The Jakt Programming Language

    I found this language recently that also compiles to CPPv1:

    https://github.com/SerenityOS/jakt

    Really nice feature set.

  • printf

    Tiny, fast(ish), self-contained and fully loaded printf, sprinf etc. implementation, mainly for embedded systems. (by eyalroz)

    > I have some bad C++ experienced, and I know enough programmers I respect who stick to C over C++.

    Do you know such people who work on large software systems, as opposed to, say, micro-controller firmware, or kernel drivers and such?

    (Asking as a person who maintains an important(ish) C library for embedded coders: https://github.com/eyalroz/printf)

  • gx

    A Go->C++transpiler meant for data-oriented gameplay and application programming especially for WebAssembly. Using this mostly in the context of specific personal projects and heavily focusing the feature set on those. Used in my Raylib gamejam project: https://github.com/nikki93/raylib-5k -- also being used to develop a private longer term game project and a note-taking app. (by nikki93)

    I've been using my own little Go (subset / my own extensions) -> C++ compiler -- https://github.com/nikki93/gx -- and found it to be a fun way to add some guardrails and nicer syntax over C++ usage. You get Go's package system and the syntax analyzers / syntax highlighters etc. just work.

  • pwned

    Simple C++ code for simple tasks (by nurettin)

    modern C++ is fine, as long as you don't try to get too clever with return types, move semantics, constexpr and template parameter expansions.

    They all have their places, but if your code is littered with them, it feels like every line is a puzzle.

    Here's an attempt to wrap sqlite in a typesafe manner using template expansion. All very simple C++11. https://github.com/nurettin/pwned/blob/master/sqlsafe/sqlsaf...

    (some types had to be spelled out because the compilers weren't ready)

    Here's some more C++11 without using any of the mentioned complexities https://github.com/nurettin/pwned/blob/master/server/server....

    This shows that simply spelling out your types and not getting crazy with polymorphic metaprogramming makes code much more readable. Ideally, code should just be a bunch of ifs and loops.

  • Vrmac

    Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.

    I agree about Python or PHP.

    However, for Java or modern C#, in my experience the performance is often fairly close. When using either of them, very often one doesn’t need C++ to be good enough.

    Here’s an example, a video player library for Raspberry Pi4: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo As written on that page, just a few things are in C++ (GLES integration, audio decoders, and couple SIMD utility functions), the majority of things are in C#.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • drogon

    Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows

    > * Let’s not pretend all conceivable applications are, or should be, written in C++.*

    This is a discussion on C++.

    > People mostly stopped using C++ to develop web servers which handle web requests, because they moved to Java, C#, PHP, Ruby, Python, etc.

    I'm not sure you understood what I said, or thought things through.

    By the way, the top performing web framework in the Tech Empower benchmark is a C++ framework which uses C++'s standard smart pointers.

    https://github.com/drogonframework/drogon

    Also, one of the most popular web frameworks for Python started off as an April Fools joke. I'm not sure what's your point.

    Lastly, the main reason why C++ ceased to be the most popular choice in some domains was because it was during a very long time the most popular choice in some domains, and still remains one of the most popular choices. Some of the reasons why C++ dropped in popularity is the fact that some vendors decided to roll their own alternatives while removing support for C++. Take for instance Microsoft, which was once responsible for making C++ the only tool in town for professional software development. Since it started pushing C# for all sorts of web applications, multi-platform applications, and even desktop applications, and also pushing the adoption of those technologies as a basic requirement to distribute apps in its app store, developers can only use technologies that exist. But does that say anything about the merits of C++?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts