[[section-introduction-and-goals]] == Introduction and Goals === Requirements Overview ==== What is Crapderive? Crapderive is a small assembly-like programming language. It's implemented as a Rust interpreter. === Quality Goals * Ease of implementation: It must not be too complex to implement Crapderive, while still being interesting. A simpler language makes for a simpler implementation, which is easier to document. * Interpreter UX: The interpreter must be easy to use, and should give clear error messages. * Performance: While performance isn't a strict requirement, the interpreter should be decently fast. === Stakeholders [options="header",cols="1,2"] |=== |Role/Name|Expectations | Teacher | An interesting programming language with good documentation. | Other students | An interesting programming language they can try out and have fun with. | Author | Get a good mark with it. |===