2 unstable releases
0.2.0 | May 13, 2024 |
---|---|
0.1.0 | May 13, 2024 |
#386 in Games
1.5MB
365 lines
Contains (ELF exe/lib, 5MB) conways-game-of-languages
Rust version
Rust compiler version used: 1.75.0 Cargo version used: 1.75.0
Running the program
Run the program from the same directory as this README.md with the Glider Gun pattern for 100 generations: ./conways-game-of-languages -p "Glider Gun" -g 100
. To see which other patterns and parameters you can run the program with, use the command ./conways-game-of-languages -h
.
Review
Rust is a difficult language to master. I've completed a full-length Rust course before, so I had some knowledge of Rust beforehand, but still it took me some time to complete this version. Writing Rust can be difficult and painful at times - mainly skill issues on my part -, but when you get it right, it's amazing. The compiler is the most helpful out of all the languages I've used when you do something wrong, and the LSP is fantastic. I love the verbose and strong type system used in Rust, but the readability suffers a bit from this. For some reason, dividing code into multiple files (or crates) is not as intuitive as in other languages, which just adds to the difficulty of the language. Rust also has a steep learning curve, especially due to the unique nature of the borrow-checker.
Pros:
- Strong and verbose typing
- Excellent tooling (especially the compiler!)
- A joy to write once you get into it
Cons:
- Steep learning curve and hard to use (skill issues)
- Borrow-checker can be hard to understand, as it's very unique
- Documentation is not the greatest
Overall score: 9
Dependencies
~3–14MB
~123K SLoC