libcxx VS rust

Compare libcxx vs rust and see what are their differences.

libcxx

Project moved to: https://github.com/llvm/llvm-project (by llvm-mirror)

rust

Empowering everyone to build reliable and efficient software. (by rust-lang)
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.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
libcxx rust
14 2,683
677 93,041
- 1.2%
0.0 10.0
over 4 years ago 6 days ago
C++ Rust
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

libcxx

Posts with mentions or reviews of libcxx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-08.
  • Quants use Rust; Devs use C++ - Hey, it's a compromise!
    2 projects | /r/cpp | 8 Dec 2023
    If you are comparing hoops that library authors need to jump through in both languages, you can easily make the real-world comparison in the other direction, by comparing Rust's Option with C++'s std::optional (an exercise left for the reader): Rust std: https://github.com/rust-lang/rust/blob/master/library/core/src/option.rs libcxx: https://github.com/llvm-mirror/libcxx/blob/master/include/optional
  • My favorite prime number generator
    6 projects | news.ycombinator.com | 23 Aug 2023
    My favorite prime number generator is the undocumented __next_prime():

    https://github.com/llvm-mirror/libcxx/blob/78d6a7767ed57b501...

    There is no good reason to use this one except in a code golf environment that includes all headers by default, which is where I learned about it.

  • Please can someone tell me where I can find the content of the STL
    3 projects | /r/cpp_questions | 23 Apr 2023
  • "My Reaction to Dr. Stroustrup’s Recent Memory Safety Comments"
    11 projects | /r/rust | 2 Feb 2023
    I once read a Strousroup quote amounting to "If you understand std::vector, then you understand C++". I thought surely he couldn't have meant the interface but the implentation, googled that llvm's implementation is considered nice and clean, had a look, and noped straight out of there.
  • pmr implementation in c++14
    6 projects | /r/cpp | 26 Dec 2022
  • In Defense of Linked Lists
    16 projects | news.ycombinator.com | 4 Nov 2022
    C++'s STL linked list for comparison (libcxx).

    https://github.com/llvm-mirror/libcxx/blob/master/include/li...

  • RFC: C++ Buffer Hardening
    2 projects | news.ycombinator.com | 5 Oct 2022
    > For example, accessing a std::span or a std::vector outside of its bounds would abort the program, and so would accessing an empty std::optional.

    I don't really understand the difference with libc++, libstdc++ and msvc stl's respective debug modes, they already do exactly these checks :

    - https://github.com/llvm-mirror/libcxx/blob/78d6a7767ed57b501...

    - https://github.com/gcc-mirror/gcc/blob/966010b2eb4a4c52f139b...

  • Why is std::array implemented as a struct instead of a class?
    1 project | /r/cpp | 25 Sep 2022
  • C++ Concurrency Model on x86 for Dummies
    5 projects | news.ycombinator.com | 21 Aug 2022
    I mean it's not hard to read the source for your platform. On Linux/x86_64/libc++ it's roughly:

    - https://github.com/llvm-mirror/libcxx/blob/master/include/__...

    - https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=nptl/...

    I don't particularly care to comb through it to see if anything has changed, but historically it was a a little spin-CAS to make the non-contended path fast and then dropping into a https://en.wikipedia.org/wiki/Futex, which is about as good as it gets for staying mostly in userspace but still letting it be scheduler aware so you're not burning up a core busy-polling, which is what often happens when people try to roll their own shit.

    Google wants a bit more latitude on the heuristics and degrees of freedom around read/write ownership, so they did it like this: https://github.com/abseil/abseil-cpp/blob/master/absl/synchr... which is quite a bit better commented/legible.

    If anyone reading this can do better than the `abseil-cpp` folks, not only would Google take their PR, they'd probably offer them a job.

  • Intrusive List Advantages?
    2 projects | /r/cpp_questions | 18 May 2022

rust

Posts with mentions or reviews of rust. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-28.
  • Create a Custom GitHub Action in Rust
    3 projects | dev.to | 28 Apr 2024
    If you haven't dipped your touch-typing fingers into Rust yet, you really owe it to yourself. Rust is a modern programming language with features that make it suitable not only for systems programming -- its original purpose, but just about any other environment, too; there are frameworks that let your build web services, web applications including user interfaces, software for embedded devices, machine learning solutions, and of course, command-line tools. Since a custom GitHub Action is essentially a command-line tool that interacts with the system through files and environment variables, Rust is perfectly suited for that as well.
  • Why Does Windows Use Backslash as Path Separator?
    4 projects | news.ycombinator.com | 24 Apr 2024
    Here's an example of someone citing a disagreement between CRT and shell32:

    https://github.com/rust-lang/rust/issues/44650

    This in addition to the Rust CVE mentioned elsewhere in the thread which was rooted in this issue:

    https://blog.rust-lang.org/2024/04/09/cve-2024-24576.html

    Here are some quick programs to test contrasting approaches. I don't have examples of inputs where they parse differently on hand right now, but I know they exist. This was also a problem that was frequently discussed internally when I worked at MSFT.

        #include 
  • I hate Rust (programming language)
    1 project | news.ycombinator.com | 22 Apr 2024
    > instead of choosing a certain numbered version of the random library (if I remember correctly) I let cargo download the latest version which had a completely different API.

    Yeah, they didn't follow the instructions and got burned. I still think that multiple things went wrong simultaneously for that experience. I wonder if more prevalent uses of `#[doc(alias = "name")]` being leveraged by https://github.com/rust-lang/rust/pull/120730 (which now that I check only accounts for methods and not functions, I should get on that!) so that when changing APIs around people at least get a slightly better experience.

  • Rust Weird Exprs
    1 project | news.ycombinator.com | 11 Apr 2024
  • Critical safety flaw found in Rust on Windows (CVE-2024-24576)
    1 project | news.ycombinator.com | 10 Apr 2024
  • Unformat Rust code into perfect rectangles
    2 projects | news.ycombinator.com | 7 Apr 2024
    Almost fixed the compiler: https://github.com/rust-lang/rust/pull/123325
  • Implement React v18 from Scratch Using WASM and Rust - [1] Build the Project
    5 projects | dev.to | 7 Apr 2024
    Rust: A secure, efficient, and modern programming language (omitting ten thousand words). You can simply follow the installation instructions provided on the official website.
  • Show HN: Fancy-ANSI – Small JavaScript library for converting ANSI to HTML
    6 projects | news.ycombinator.com | 3 Apr 2024
    Recently did something similar in Rust but for generating SVGs. We've adopted it for snapshot testing of cargo and rustc's output. Don't have a good PR handy for showing Github's rendering of changes in the SVG (text, side-by-side, swiping) but https://github.com/rust-lang/rust/pull/121877/files has newly added SVGs.

    To see what is supported, see the screenshot in the docs: https://docs.rs/anstyle-svg/latest/anstyle_svg/

  • Upgrading Hundreds of Kubernetes Clusters
    17 projects | dev.to | 3 Apr 2024
    We strongly believe in Rust as a powerful language for building production-grade software, especially for systems like ours that run alongside Kubernetes.
  • What Are Const Generics and How Are They Used in Rust?
    3 projects | dev.to | 25 Mar 2024
    The above Assert<{N % 2 == 1}> requires #![feature(generic_const_exprs)] and the nightly toolchain. See https://github.com/rust-lang/rust/issues/76560 for more info.

What are some alternatives?

When comparing libcxx and rust you can also consider the following projects:

STL - MSVC's implementation of the C++ Standard Library.

carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

kc85.zig - A KC85 emulator written in Zig

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

pacman.zig - Simple Pacman clone written in Zig.

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

lion - Where Lions Roam: RISC-V on the VELDT

Odin - Odin Programming Language

gcc

Elixir - Elixir is a dynamic, functional language for building scalable and maintainable applications

nft_ptr - C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

Rustup - The Rust toolchain installer