Detail

Publication date: 1 de June, 2021

ComponentJ

ComponentJ is a programming language for the Java platform which favors code reuse by composition instead of implementation inheritance. Components and objects are the main ingredients of a ComponentJ program, very much like classes and objects in Java. A chief diference is that components are first-class (or run-time) values in ComponentJ, in opposition to classes in Java, which are second-class (or compile-time) values.

ComponentJ integrates well with Java. The compiler takes ComponentJ type declarations and produces two kinds of gadgets that help integrate ComponentJ and Java code. From a component type one can produce skeleton classes that allow one to natively program a component. On the other hand, one can produce stub classes that allow Java programs to use ComponentJ components.

Authors

Luis Caires, João Costa Seco,