conways-game-of-languages

Crates.ioconways-game-of-languages
lib.rsconways-game-of-languages
version0.2.0
sourcesrc
created_at2024-05-13 19:07:58.605688
updated_at2024-05-13 19:29:20.142161
descriptionConway's Game of Life written in Rust
homepage
repository
max_upload_size
id1238770
size5,256,628
Cedric Neergaard (CeduDev)

documentation

README

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

Commit count: 0

cargo fmt