Google is hosting a language project called Noop, which initially targets the Java Virtual Machine and is intended to encourage industry best practices and discourage "worst offenses."
Noop is pronounced noh-awp, like the machine instruction, the Noop Web page says. It is in early stages of development and is being worked on by people within Google and outside of Google, a Google representative said.
[ Check out InfoWorld's report on different languages for the JVM. | Keep up with app dev issues and trends with InfoWorld's Fatal Exception and Strategic Developer blogs. ]
"Noop is a new language that runs on the Java Virtual Machine and in source form looks similar to Java," the Web page says. "The goal is to build dependency injection and testability into the language from the beginning rather than rely on third-party libraries as all other languages do."
In addition to dependency injection, Noop favors testability, immutability, readable code, properties, and strong typing. It also endorses executable, up-to-date documentation. "Dependency Injection changed the way we write software. Spring overtook EJBs in thoughtful enterprises, and Guice and PicoContainer are an important part of well-written applications today," the page says.
Automated testing, especially unit testing, is a crucial part of building reliable software, Noop advocates said. "Any decent software shop should be writing some tests, the best ones are test-driven and have good code coverage," according to the Noop page.
Offered under an Apache 2.0 license, Noop is opposed to statics, implementation inheritance, primitives, and unnecessary boilerplates.
Three ways are planned for using Noop source files: through a Java translator that produces Java source; use of an interpreter that reads and evaluates Noop code and compiled to Java bytecode.
Advocates of Noop believe maintained code is read more than it is written, so readers are favored. Enforcement of a public API separate from visibility of types and methods also is endorsed.
Noop joins other languages besides Java itself on the JVM, such as JRuby, which provides an implementation of the Ruby language; Jython, supporting Python development, and Scala.
Noop's philosophy on stdlib (standard library) includes picking the best implementations from other languages, using JodaTime for Data/Time APIs, and using util.concurrent for concurrency and exposing Google collections. Injection will be done in the same style as Objective-C.
Read more about developer world in InfoWorld's Developer World Channel.
Get the independent advice and expertise you need to support a virtual workforce.
The increase in Linux popularity has increased the frequency and sophistication of malware attacks. Read this 2 page white paper now to learn how you can protect your Linux environment with real-time protection that is certified by all major Linux vendors.
Download now »Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.
Download now »A common misconception is that mid-range storage requirements are dramatically different than that of a larger enterprise. Mid-range storage users may require less capacity, but they have similar functionality and management requirements. This ESG paper examines mid-range storage needs and reviews a new solution that adjusts size while retaining value, performance and functionality.
Download now »Google is hosting a language project called Noop, which initially targets the Java Virtual Machine and is intended to encourage industry best practices and discourage "worst offenses."
watch heroes online

Sign up to receive InfoWorld Resource Alerts

Noop is a side-project from a collection of like-minded developers and contributers.
cyprus holidays