catacomb_ii-64k

Rust port of Catacomb II (SDL) (by 64kramsystem)

Catacomb_ii-64k Alternatives

Similar projects and alternatives to catacomb_ii-64k based on common topics and language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better catacomb_ii-64k alternative or higher similarity.

catacomb_ii-64k reviews and mentions

Posts with mentions or reviews of catacomb_ii-64k. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-15.
  • Emitting Safer Rust with C2Rust
    3 projects | news.ycombinator.com | 15 Mar 2023
    Conditional to your definition of "serious", I did: https://github.com/64kramsystem/catacomb_ii-64k. I essentially don't do technical writing anymore (and I had the impression that this topic isn't generally considered interesting), however, my considerations are:

    1. there are three levels of refactoring: removing the extensive (unbearable, to be honest) boilerplate that C2Rust introduces; converting the design from C to safe Rust; convert the design from unidiomatic Rust to idiomatic

    2. as another poster pointed out, for non-trivial projects, writing refactoring tooling is a must (to remove the C2Rust boilerplate), in order to perform step 1

    3. design refactoring (step 3) difficulty depends on the source code design; the code I worked with was hard to refactor, as it was old (school), in particular, lots of globals; the difficulty was not caused by the conversion C<>Rust, rather, the typical freedoms that C gives and Rust doesn't (in other words, the very obvious design differences between C and Rust)

    4. regarding the code understanding, if one performs the translation in the three-steps mentioned in point 1, at the end of step 2, one has effectively a safe Rust codebase, "just" unidiomatic

    5. beside a few steps, I was able to perform a conversion in self-contained steps, which is very good news for this type of work. Even better, it's possible (but that's a niche case) to port an SDL project by using at the same time the C library and the Rust one!

    6. however, I can imagine projects like Wolfenstein 3d to be very hard, since it's hard to port memory allocators and similar

    99. most important of all: just converting to Rust will quickly (even immediately) find bugs in the source; I've found approximately four bugs in the source code, including one by Carmack!

    All in all, I find this tool great, but somebody needs to work on refactoring tools, and C2Rust's output must be improved in order to be found usable by the public.

Stats

Basic catacomb_ii-64k repo stats
1
3
10.0
over 1 year ago

64kramsystem/catacomb_ii-64k is an open source project licensed under GNU General Public License v3.0 only which is an OSI approved license.

The primary programming language of catacomb_ii-64k is C.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com