Ask HN: Who is using C++ as the main language for new project?

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

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

    State-of-the-art (ranked #1 Aug 2022) German Speech Recognition in 284 lines of C++. This is a 100% private 100% offline 100% free CLI tool.

  • Me, because I plan to extend to realtime processing: https://github.com/DeutscheKI/tevr-asr-tool

    Also, all the performance critical stuff on my production servers is C++ with JNI or pybind wrappers.

  • windmap

  • 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
  • slint

    Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

  • We are using c++ mainly because Qt/QML exists. I guess if a Rust gui toolkit exists that is comparable to Qt/QML (looking at you https://slint-ui.com/), then future project would have to be re-evaluated.

  • litestream

    Streaming replication for SQLite.

  • Are you saying litestream is deprecated or some specific feature? I see its very active https://github.com/benbjohnson/litestream

  • mainframe

    mainframe - a lightweight dataframe library for C++

  • Just about any project you do in Unreal is a C++ project and Unreal is used all over the place - in games but also in industrial design and architecture for demos and visualization.

    I started a project (https://github.com/tedmiddleton/mainframe) last year to make a dataframe in C++ because I was running into some performance limits in Pandas. I’m not sure how useful a C++ dataframe is - but I imagine it as being an alternative to going all the way to Hadoop and spark if you’ve outgrown pandas.

  • MathAnimation

    A simple C++/OpenGL application to create quick and dirty mathematically accurate animations

  • I'm using C++ for a minecraft clone that I've been tinkering on for the past year[0]. I also plan on using embedded lua for scripting, and I'm using RML UI for game HUDs, ImGui for development tools, and OpenGL for graphics. I use premake for my build system but plan on switching to CMake.

    I'm also using it for an animation tool[1]. I've been using 3Blue1Brown's Manim (written in Python) which is amazing, but it lacks real-time editing and proper 3D blending. It also lacks audio synchronization, 3D texture support, and some more complex features that I'd like to add :)

    [0]: https://youtu.be/UAUdIQZKV88

    [1]: https://github.com/ambrosiogabe/MathAnimation

  • CppCoreGuidelines

    The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++

  • 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
  • LoopModels

    "Full speed or nothing." - James Hetfield

  • avendish

    declarative polyamorous cross-system intermedia objects

  • nsblast

    Massively scalable authorative DNS server

  • I'm using C++ for most of my projects, because I like it. It's also what I do for a living. The latest new open source project I initiated is a dns server, nsblast, using rocksdb for storage. https://github.com/jgaa/nsblast

    The (side) project I have put most effort into in the last year is k8deployer, a helm like utility that can deploy simple and complex applications in kubernetes with minimal effort. https://github.com/jgaa/k8deployer

    In these projects I don't use other languages. C++ is the only language where I easily get into "flow".

  • k8deployer

    An experimental deployer for kubernetes apps for developers who are too lazy (or busy) to learn Helm.

  • I'm using C++ for most of my projects, because I like it. It's also what I do for a living. The latest new open source project I initiated is a dns server, nsblast, using rocksdb for storage. https://github.com/jgaa/nsblast

    The (side) project I have put most effort into in the last year is k8deployer, a helm like utility that can deploy simple and complex applications in kubernetes with minimal effort. https://github.com/jgaa/k8deployer

    In these projects I don't use other languages. C++ is the only language where I easily get into "flow".

  • materialize

    The data warehouse for operational workloads. (by MaterializeInc)

  • datafusion

    Apache DataFusion SQL Query Engine

  • polars

    Dataframes powered by a multithreaded, vectorized query engine, written in Rust

  • Tasker

    A commitment tracker desktop app that tracks the progress of your tasks with mouse, keyboard and audio hooks. (by thebigG)

  • I almost exclusively use C++ for my projects. Especially modern C++. When it makes sense(especially for dev tools), I use Python since for those I'm not so worried about distribution and long-term robustness.

    Anyway here they are:

    Qt desktop app written in C++:https://github.com/thebigG/Tasker

    Simple GPIO front-end for linux GPIO driver(could definitely use some improvement) written in C++ and uses boost:https://github.com/thebigG/simple_gpio

    WebApp I JUST started working on(This will be a frontend for a YOCTO/FPGA project I'm working on; guitar pedals), and yes it uses good old C++ and runs on the browser:

    https://github.com/thebigG/wPedals

    And while I'm at it, might as well mention my custom plugins for Godot Game Engine(C++):https://github.com/thebigG/godot-3.x-modules

    I have found that C++ is the best compromise for me between performance and elegance ifI do say so myself.

  • simple_gpio

    Simple front-end for linux GPIO driver

  • I almost exclusively use C++ for my projects. Especially modern C++. When it makes sense(especially for dev tools), I use Python since for those I'm not so worried about distribution and long-term robustness.

    Anyway here they are:

    Qt desktop app written in C++:https://github.com/thebigG/Tasker

    Simple GPIO front-end for linux GPIO driver(could definitely use some improvement) written in C++ and uses boost:https://github.com/thebigG/simple_gpio

    WebApp I JUST started working on(This will be a frontend for a YOCTO/FPGA project I'm working on; guitar pedals), and yes it uses good old C++ and runs on the browser:

    https://github.com/thebigG/wPedals

    And while I'm at it, might as well mention my custom plugins for Godot Game Engine(C++):https://github.com/thebigG/godot-3.x-modules

    I have found that C++ is the best compromise for me between performance and elegance ifI do say so myself.

  • wPedals

    Guitar Pedals Widgets For The Web

  • I almost exclusively use C++ for my projects. Especially modern C++. When it makes sense(especially for dev tools), I use Python since for those I'm not so worried about distribution and long-term robustness.

    Anyway here they are:

    Qt desktop app written in C++:https://github.com/thebigG/Tasker

    Simple GPIO front-end for linux GPIO driver(could definitely use some improvement) written in C++ and uses boost:https://github.com/thebigG/simple_gpio

    WebApp I JUST started working on(This will be a frontend for a YOCTO/FPGA project I'm working on; guitar pedals), and yes it uses good old C++ and runs on the browser:

    https://github.com/thebigG/wPedals

    And while I'm at it, might as well mention my custom plugins for Godot Game Engine(C++):https://github.com/thebigG/godot-3.x-modules

    I have found that C++ is the best compromise for me between performance and elegance ifI do say so myself.

  • godot-3.x-modules

    Custom modules for Godot 3.x

  • I almost exclusively use C++ for my projects. Especially modern C++. When it makes sense(especially for dev tools), I use Python since for those I'm not so worried about distribution and long-term robustness.

    Anyway here they are:

    Qt desktop app written in C++:https://github.com/thebigG/Tasker

    Simple GPIO front-end for linux GPIO driver(could definitely use some improvement) written in C++ and uses boost:https://github.com/thebigG/simple_gpio

    WebApp I JUST started working on(This will be a frontend for a YOCTO/FPGA project I'm working on; guitar pedals), and yes it uses good old C++ and runs on the browser:

    https://github.com/thebigG/wPedals

    And while I'm at it, might as well mention my custom plugins for Godot Game Engine(C++):https://github.com/thebigG/godot-3.x-modules

    I have found that C++ is the best compromise for me between performance and elegance ifI do say so myself.

  • redpanda

    Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!

  • we use it for redpanda https://github.com/redpanda-data/redpanda - other langs are go for k8s integration, python (dev prod tooling), ... js for ui that's mostly it.

  • Rustlings

    :crab: Small exercises to get you used to reading and writing Rust code!

  • I am a developer who has never worked on C++ but want to get into it full time, I did C in college, Java for the first few years in my career then Python and now exclusively Go.

    When I pick up new languages and I did that for a bit with Rust, I read a bit then code a bit and found https://github.com/rust-lang/rustlings very helpful. Is there an equivalent for C++? What would be the top resource to get started on modern C++? Thanks in advance.

  • Wt

    Wt, C++ Web Toolkit

  • Apparently they're using Wt, "webtoolkit".

    > Wt is a web GUI library in modern C++. Quickly develop highly interactive web UIs with widgets, without having to write a single line of JavaScript.

    https://www.webtoolkit.eu/wt

  • Typesense

    Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences

  • Not my project, though I'm a user of it and a big fan, is Typesense (https://github.com/typesense/typesense), an extremely fast and lightweight search engine.

    Per Github it's 90% C++ and 8% C.

  • awesome-modern-cpp

    A collection of resources on modern C++

  • gui_starter_template

    Discontinued A template CMake project to get you started with C++ and tooling

  • uitk

    Cross-platform UI toolkit

  • I've been writing a cross-platform UI toolkit, currently macOS, Windows, and Linux. Eventually I'd like to compile for wasm/Canvas, android, and iOS. C++ was sort of designed for this kind of thing, it is performant, and it interfaces with the OS well. Eventually I'd like to have at least Python, Swift, and Rust bindings, because I really like using Swift, but none of the UI parts are available outside macOS.

    It's probably not ready for use yet, but give it six months or so: https://github.com/eightbrains/uitk

  • nesper

    Program the ESP32 with Nim! Wrappers around ESP-IDF API's.

  • You should checkout Nim! I use it extensively on embedded. Nim is fantastic to program in if you're an experienced C/C++ developer. Its safer and smarter but not not pedantic about it.

    Nim compiles to C or C++ so its easy to use on any embedded platform and compiler suite. Thats still huge for embedded. Rust forces a type-trait centric programming style which makes interfacing hardware/embedded harder as you have to make type heavy HALs everywhere -- hence the lack of rtos & library support despite its relative popularity).

    Its pretty trivial to re-use any C/C++ libraries which gives a big boost to the native ecosystem. I wrapped most of the esp32 idf in a few weeks: https://github.com/elcritch/nesper

    The new GC (ARC) is basically a built in `shared_ptr` or `Rc`. You can also do stack-based programming too and the compiler enforces a safe memory accesses. The performance is great and can match or beat C/C++ if you do a few hours of tuning. Though its easy kill performance if you're lazy (e.g. parse json into a bunch of heaps objects), but that can have its place.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub 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