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 - Access the most powerful time series database as a service
  • SonarQube - Static code analysis for 29 languages.
  • 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

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • 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

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

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