Noop - a new language for the JVM
Developers at Google have revealed Noop, a new language that runs on the Java virtual machine. The project describes Noop as "a new language that attempts to blend the best lessons of languages old and new, while syntactically encouraging industry best-practices and discouraging the worst offenses". At the core of this agenda is the integration, at a language level, of dependency injection and testing, along with default immutability for objects. The developers feel that containers such as Spring, Guice and PicoContainer bring sufficient benefit to application development that a language should support the idea of contained, dependency injected code.
Noop also eliminates static code and variables, implementation inheritance and primitive objects to encourage better, functional, limited scope code. The language is designed to look familiar to Java developers in source code form and the plan is to make Noop available for use through a Java translator, an interpreter and a Java bytecode compiler. Noop is licensed under the Apache Licence 2.0, and as it is in an early stage of development, requires Mercurial and Ruby to download and build. Instructions are available for developers wishing to experiment with Noop. Discussions are ongoing over planned features of the language.