OT/J on Java 8 is …
The essence of object-oriented programming is to compose a system from a possibly large number of interacting classes and objects.
Since version 1.1, Java has not seen any enhancements for this task.
OT/J adds three closely related concepts:
- Roles can be attached to a base object for dynamic specialization.
- Roles are grouped into a Team to yield cohesive modules for use-cases & features.
- Teams support nested inheritance for large-scale specialization.
is agnostic to how algorithms are encoded (programming in the small),
but you may leverage lambda expressions from Java 8
in your OT/J programs for that touch
of functional programming
A rich type system is key for attaching semantics
to the elements of your program.
- Java 8 features …
type annotations for expressing more properties of types,
- JDT leverages …
type annotations for detecting null related errors,
- OT/J introduces …
dependent types to express object ownership.