Fetching latest commit…
Cannot retrieve the latest commit at this time
|Failed to load latest commit information.|
============================================= ooc, aka: another hack at 'object oriented C' ============================================= 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 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. The ooc compiler isn't perfect, but it's very usable for the time being. A few projects are already using it, and there will be an Artifical Intelligence programming contest during the summer! While ooc is certainly not ready for the enterprise, it is a very good candidate for the next language you want to learn and fiddle with. I'm really to discussion about language design/implementation, etc. and I'd really appreciate feedback about ooc, so don't hesitate to contact me at firstname.lastname@example.org Resources: ========== - http://ooc-lang.org/ Official website - http://ooc-lang.org/doc/langref/book1.htm Language Reference guide - http://github.com/nddrylliog/rock Git repository Enjoy!