Currently, what are some of the worst things about C++?

This page summarizes the projects mentioned and recommended in the original post on /r/cpp

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • TinyXML

    TinyXML2 is a simple, small, efficient, C++ XML parser that can be easily integrated into other programs.

  • If someone wants a decent example to learn CMake from, I rewrote the tinyxml2 build not so long ago. It's small, but it handles tricky cases regarding distributing both static and shared versions of the library. See here: https://github.com/leethomason/tinyxml2

  • Halide

    a language for fast, portable data-parallel computation

  • I also maintain the build system for Halide, but as it's less greenfield, there are some things I would need team buy-in to change. It's also much more complex (building code generators necessarily is). I'm still pretty happy with it, though. See here: https://github.com/halide/Halide

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cmake-init

    The missing CMake project initializer

  • cmake-init might be interesting to you. It does just that with a single command, optionally with Conan or vcpkg integration ready to go.

  • vscode-clangd

    Visual Studio Code extension for clangd

  • But I will say that I am mostly happy with either one of the clangd and ccls plugins. The clangd plugin is nicely packaged with a self-installer. The ccls plugin takes a little more work to set up, but it has loads more features. Both are quite good at working with a proper AST. Both build the AST by actually compiling your code with libclang (llvm's compiler core). Both work reliably for me because I am able to provide a compile_commands.json using my project builder (ninja). Nice as it is, it does not update automatically, and I'm not sure I want it to.

  • ccls

    C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting

  • But I will say that I am mostly happy with either one of the clangd and ccls plugins. The clangd plugin is nicely packaged with a self-installer. The ccls plugin takes a little more work to set up, but it has loads more features. Both are quite good at working with a proper AST. Both build the AST by actually compiling your code with libclang (llvm's compiler core). Both work reliably for me because I am able to provide a compile_commands.json using my project builder (ninja). Nice as it is, it does not update automatically, and I'm not sure I want it to.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
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