# 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](https://fitech101.aalto.fi/programming-languages/rust/) 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