Stop Comparing Rust to Old C++

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

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • InfluxDB - Access the most powerful time series database as a service
  • SaaSHub - Software Alternatives and Reviews
  • rust

    Empowering everyone to build reliable and efficient software.

    The partial borrow issue is from a desire to assign names to tuple indices so you can access elements without sensitivity to their order. Without that, any change to the arrangement of components in an ECS archetype would affect downstream code attempting to query-iterate those tuples. Ideally I would use an intermediate struct, but as I discovered over the course of this project, rustc/LLVM aren't great about converting between tuples and structs. The only way to be sure you're not taking a perf hit would be to use a code-generated trait to rename the tuple fields, but you can't do that because traits don't give you direct field access and you can't partial borrow from function access.

  • rickroll-rs

    Rickrolling at compile-time.

    Relevant

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • nomicon

    The Dark Arts of Advanced and Unsafe Rust Programming

    Rust doesn't have similar obscure details? May I interest you with the Rustonomicon?

  • cppcoro

    A library of C++ coroutine abstractions for the coroutines TS

    Kind of sounds like whatever library you were using provided leaky abstractions. Something like cppcoro provides really good abstractions for coroutines, the user really doesn't need to understand why any of it works.

  • mrustc

    Alternative rust compiler (re-implementation)

    There are three. The official one, mrustc (no borrow checker, but can essentially compile the official rustc) and GCC (can't really compile anything substantial yet). Only rustc is production-ready though.

  • gcc

    There are three. The official one, mrustc (no borrow checker, but can essentially compile the official rustc) and GCC (can't really compile anything substantial yet). Only rustc is production-ready though.

  • embedded-hal

    A Hardware Abstraction Layer (HAL) for embedded systems

    Does something like embedded hal exist in the C/C++ world? ( https://github.com/rust-embedded/embedded-hal )

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

  • xmake

    🔥 A cross-platform build utility based on Lua

    C++ now also has many more modern tools, such as Xmake

  • compiler-team

    A home for compiler team planning documents, meeting minutes, and other such things.

    ...and they've accepted (though not yet implemented) a proposal to allow them to opt into being sandboxed to only consuming and producing token streams so things like #[derive(Serialize, Deserialize)] can be sandboxed and badged as such on crates.io.

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