Java language architect Brian Goetz presented his vision for making Java more "growable" and extensible through a new concept called "witnesses." This mechanism would allow abstracting over type behavior without modifying type definitions, enabling features like new numeric classes, operator overloading, collection expressions, and creational expressions. The proposal aims to let library developers create functionality that looks built-in to the language, following the philosophy of Guy Steele's "Growing a Language" paper. While still in early conceptual stages, witnesses could reduce the need for future language features by enabling richer generic libraries.
Table of contents
The Philosophy of a ‘Growable’ LanguageIntroducing ‘Witnesses’: A New Concept for JavaOpportunities for Growth: Potential New Java FeaturesThe Future Roadmap for Java’s EvolutionSort: