doom
DOOM translated from C to V. (by vlang)
unsafe-libyaml
libyaml transpiled to rust by c2rust (by dtolnay)
Our great sponsors
doom | unsafe-libyaml | |
---|---|---|
5 | 2 | |
449 | 27 | |
0.9% | - | |
6.3 | 10.0 | |
16 days ago | 16 days ago | |
C | Rust | |
GNU General Public License v3.0 only | MIT License |
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.
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.
- C2Rust Transpiler
-
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.
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.
What are some alternatives?
When comparing doom and unsafe-libyaml you can also consider the following projects:
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