Welcome to the homepage of Classages, a novel object-oriented language featuring interaction-based programming.

At its heart, Classages has a new object model different from that of the mainstream languages such as Java and C#. Classes and objects in Classages are fully encapsulated, with explicit interfaces for all interactions they might be involved in. Many concepts important at software design phase - such as relationships, roles, multiplicity, navigability and ownerships - are directly supported at the programming language level. Such support is essential when software development grows large, as it lessens the impedance mismatch between software design and implementation, and results in smooth round-trip software engineering.

As the underlying object model is fundamentally different, new names are given to the language constructs of classes and objects in our language: classages and objectages respectively, with Classages also being the name of the language.

The design of Classages reflects several principles that mainstream OO languages do not fully embody:

Please refer to the Publications page for a detailed description of the Classages. For those interested in trying out the language, the Classages compiler is available for downloadin the Download page. The Online Manual together with a few source code examples is provided for the correct use of various Classages language constructs.

The Classages language is designed by Yu David Liu and Scott Smith at the Johns Hopkins University.