Ask HN: Modern Alternatives to C

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

    The Crystal Programming Language

    Take a look at the Crystal Programming Language - “Slick Like Ruby and Fast Like C” is goal of the project.

    https://crystal-lang.org/

  • 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 think the right way is building on top of 3D GPU APIs, like I did there: https://github.com/const-me/Vrmac#vector-graphics-engine

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

  • nanovg

    Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.

    > to learn the 'nuts and bolts' of rendering

    These nuts and bolts are very different between CPU and GPU. CPU-based libraries are painting pixels in bitmaps in system memory. Most GPU-based libraries are uploading indexed triangle meshes, and rendering them with weird shaders.

    Worse, there're no good open source implementations of GPU-based ones. Microsoft ships an implementation as a part of OS (Direct2D) but it's not open source. Linux simply doesn't have an equivalent.

    At least for initial versions, consider C interop with this https://github.com/memononen/nanovg It cuts a few corners (no cleartype for text, CPU overhead for repeated rendering of same static paths) but it's still good overall, simple, and easy to use.

    > My only concern with C# is the cross compatibility

    Works well on Linux, Windows and OSX, including ARM CPUs. Not sure about Android and iOS, never tested.

    My largest concern with C# would be performance. Technically the language allows to code in any style, but most guides and examples are using OO-heavy one.

  • serenity

    The Serenity Operating System 🐞

    Is Go really suitable…? I love Go, but so far I haven’t seen _any_ desktop applications written in it. I guess that’s for a reason?

    BTW, if you want some inspiration, have a look at the browser bundled with SerenityOS. It’s written in C++.

    https://github.com/SerenityOS/serenity/tree/master/Userland/...

    https://www.youtube.com/watch?v=Gbvhmt9EdfI

  • Odin

    Odin Programming Language

    While being very simple it is modern and effective with some real projects built using it.

    Performance wise it is at the very top with other low level languages.

    [0]: https://github.com/odin-lang/Odin

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

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