2.1. Objectives of the Project

The Ounce of Rust project intends to accomplish several objectives. This section describes these objectives.

2.1.1. Create Reusable Library to Speed Development of Tic Tac Toe Games

The result of this project is a reusable library that provides a core set of functionality that speeds development of future Tic Tac Toe games. Core functionality includes game state management and artificial intelligence algorithms. The user interface for Tic Tac Toe games is outside the objectives of this project.

2.1.2. Make the Library Open Source and Widely Available

The resulting library is released under a permissive open source license and made widely available. This includes placing the code on a public repository such as https://github.com/ and in Rust’s package registry, https://crates.io/.

2.1.3. Learn About Rust

Rust is a modern statically typed systems programming language that has a focus on safety. Its mix of high level concepts, ability to avoid entire categories of bugs, and focus on correctness has made Rust an increasingly popular language.

Even though Rust is unlikely to replace C and C++ any time soon, Rust’s concepts, such as traits, error handling, and memory management systems are worth learning to help expand ones general programming knowledge. 1

Footnotes

1

The Rust official documentation is likely to be helpful for meeting this objective. For details see [Rust-Docs].