#########################
Objectives of the Project
#########################
The Ounce of Rust project intends to accomplish several objectives.
This section describes these objectives.
=================================================================
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.
=================================================
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 ``__ and in Rust's package registry,
``__.
.. _ref-learn-about-rust-objective:
================
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. [#rustdocs]_
.. rubric:: Footnotes
.. [#rustdocs] The Rust official documentation is likely to be helpful for
meeting this objective. For details see [Rust-Docs]_.