#conway #pattern #generation #game #life #run #glider

bin+lib conways-game-of-languages

Conway's Game of Life written in Rust

2 unstable releases

0.2.0 May 13, 2024
0.1.0 May 13, 2024

#518 in Games

MIT license

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