ooc programming language

Registered 2009-05-26 by Amos Wenger

ooc is an object-oriented programming language which is implemented with a source-to-source translator to pure C99. It supports classes, abstract functions, foreach, ranges, etc. It intends to be modern, modular, extensible, yet simple and fast.

ooc is an object-oriented programming language which is implemented with a source-to-source translator to pure C99. It supports classes, abstract functions, foreach, ranges, etc. It intends to be modern, modular, extensible, yet simple and fast.

ooc is trying to reconcile high-level concepts from Java/C# and the speed and small footprint of C. It somehow falls into the same category as Vala, except that Vala is based on GLib, while ooc is based only on the standard C library, making it very lightweight.

ooc is for people thriving for object orientation and other high level features (e.g. a garbage collector, foreaches, imports vs includes), without willing to bear the weight of C++ or the Java/C# runtime environments.

ooc's syntax is inspired by Java and C, without the hassle. Source files are organized in packages, and most dependencies are resolved automagically (e.g. a simple 'use gl;' instructs the compiler to include OpenGL headers, and to link to -lGL or -lopengl32, depending on the target platform).

ooc's primary implementation is written in Java, for portability. A project to write an ooc compiler in ooc itself, called 'rock', has been launched on GitHub recently. Stay tuned at: http://github.com/nddrylliog/rock

The standard library aims to be small, fast, portable, and modular. For now it contains file reading/writing classes, time classes, process launching classes, fairly complete GTK bindings, OpenGL/GLU/GLUT bindings, basic SDL bindings, string manipulation routines, and more to come.

We're really open for discussion about language design/implementation, etc. and we'd really appreciate feedback about ooc, so don't hesitate to drop a message on our mailing list http://launchpad.net/~ooc-dev

Project information

Maintainer:
Amos Wenger
Driver:
Not yet selected
Development focus:

trunk series 

Programming Languages:
Java, ooc
Licences:
Simplified BSD Licence
()

RDF metadata

View full history Series and milestones

ooc trunk series is the current focus of development

Get Involved

Announcements