unsafe-libyaml
libyaml transpiled to rust by c2rust (by dtolnay)
doom
DOOM translated from C to V. (by vlang)
Our great sponsors
unsafe-libyaml | doom | |
---|---|---|
2 | 5 | |
32 | 486 | |
- | 0.8% | |
7.0 | 3.7 | |
about 1 month ago | 20 days ago | |
Rust | C | |
MIT License | GNU General Public License v3.0 only |
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.
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.
unsafe-libyaml
Posts with mentions or reviews of unsafe-libyaml.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-28.
-
Rust for backend. Is it recommended?
The same is not true for CLIs, especially CLIs that don't use async networking. The space has matured incredibly well and almost everything you touch is bulletproof. Clap 4 with derive macros is one of the best libraries of any kind in any language I've ever used. Rayon makes totally safe parallel processing look like a rigged demo that can't possibly be real. Reading and writing JSON and TOML is silky smooth and fast, YAML is held together with sticky tape but it works too. There are incredible libraries like crossterm and tui to make terminal interfaces better and easier and more portable than anything in Go. People say Go is good for CLIs, but I think they must be comparing to Java or something, because Rust runs circles around Go for CLIs, and in ways that end users notice too.
-
C2Rust Transpiler
I used it with great success for transpiring libyaml from C to Rust. I even set up Miri to run the upstream library's entire transpiled test suite, and the fact it passes is validation of absence of UB in the original C code.
The transpiled library now serves as the YAML backend for the widely used serde_yaml crate. Having serde_yaml be pure-Rust code instead of linking C is advantageous for painless cross-compilation as well as making downstream projects runnable in Miri.
https://github.com/dtolnay/unsafe-libyaml
doom
Posts with mentions or reviews of doom.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-20.
-
V is very similar to Go. ... Innovative memory management
Looks like the ~90-100% autofree and then reference counting, is a good memory management, and is very practical too, as proved by translating DOOM from C to V and building it in 0.7 seconds
- C2Rust Transpiler
-
I started using Nim recently and have been very impressed. It feels like a better Rust than Rust, and a better Go than Go.
Excuse me? Work on the V operating system has begun, the C->V transpiler can kind of handle a single Doom source file at this point and the Volt app, for which V was created in the first place, is going to get open-sourced any day now.
-
How Does V Compare To Zig
I believe that you're talking about doom repository. If that's the case, how'd I believe that it was indeed done using C2V when it's non-existent (checked the repo, it's still empty). A simple AST parsing python script with some heuristics can achieve one time conversion, that doesn't mean that it would work for all C programs.
What are some alternatives?
When comparing unsafe-libyaml and doom you can also consider the following projects:
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
cargo-zigbuild - Compile Cargo project with zig as linker
dmd - dmd D Programming Language compiler
c2rust - Migrate C code to Rust