September 17, 2009

Google Noop project features JVM-based language

Noop language project is intended to encourage industry best practices and discourage 'worst offenses'

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.

Paul Krill is an editor at large at InfoWorld.
Close

On Twitter now

Application development

Powered by Twitter
additional resources
White Paper - How to Improve Delivery of Advanced Web Applications

White Paper

Virtual Workforce: The Key to Expanding The Business While Cutting Costs

Get the independent advice and expertise you need to support a virtual workforce.

Go inside:
The three-step approach to making a virtual workforce a reality.
The four flavors of client virtualization technologies.
The three key initiatives that solve IT challenges.
Download now »
White Paper: Successfully Secure Your Wireless LAN With Wi-Fi firewalls.

White Paper

Addressing Linux Threats Leveraging Fewer Resources

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 »
White Paper - The 2009 Handbook of Application Delivery

White Paper

The 2009 Handbook of Application Delivery

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 »
White Paper - Is Your Backup System Outdated?

White Paper

Mid-range Storage Considerations

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 »
tress 12-Dec-09 8:56am

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

cyprus holidays

tress 24-Dec-09 10:25am

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

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2010 Infoworld, Inc.