This document provides an overview of the origins and development of the ooc programming language. It discusses how ooc was initially created as part of a school project, its evolution through several rewrites and a self-hosting effort, and how it aims to provide the best of both the C and Java worlds through its design. The document also covers ooc's syntactic features, the development of its self-compiling rock compiler, its legacy through various projects, and commonly asked questions about its performance, interoperability and future.