New Language for Java by Google Developers Gains Interest

New Language for Java by Google Developers Gains Interest

A group of software engineers led by two Google developers are working on a new language for the Java Virtual Machine. The project, dubbed Noop (pronounced noh-awp), is an experimental new language that aims to promote good coding practices while discouraging bad ones, according to the group's Web site.

Google software engineer Alex Eagle and software development coach Christian Gruber are leading the project. Neither would agree to be interviewedNoop is a "side project," not sponsored by Google, Gruber said in an e-mail. "I don't want to accidentally be perceived as speaking for Google simply because I'm an employee of the firm," he noted.

The goal of the Noop project, according to the Web site, is to build dependency injection and testability into the language from the beginning, instead of relying on third-party libraries as do other languages. Initially, Noop will run on the JVM, and the source code will look like Java, and it will be offered under an Apache 2.0 license.

The Noop project committers are building a language that, among other things, supports dependency injection, testability, and immutability. "Dependency Injection changed the way we write software," they wrote on their Web site. "Spring overtook EJB's in thoughtful enterprises, and Guice and PicoContainer are an important part of many well written applications today." Automated testing--especially unit testing of individual software components, they say, has become a crucial part of building reliable software. "Any decent software shop should be writing some tests, the best ones are test-driven and have good code coverage."

The list of features the Noop committers intend to build into the language also includes syntax geared entirely towards readable code, executable documentation that's never out-of-date, properties, strong typing, and a "sensible: modern standard library." Noop will not include statics, implementation inheritance, primitives, or un-needed boilerplates.

"Automated testing, especially Unit Testing, is also a crucial part of building reliable software that you can feel confident about supporting and changing over its lifetime. Any decent software shop should be writing some tests, the best ones are test-driven and have good code coverage."

Revealed at the 2009 JVM Language Summit on Sun Microsystems' campus in Santa Clara, Calif. on Sept. 16, Noop has quickly become the topic du jour in the Java development community. Indeed, the Noop site also said, "Noop is a new language that runs on the Java Virtual Machine, and in source form looks similar to Java. 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."

Though it's not officially sponsored by Google, the Noop project is hosted on the Google Code Web site The site describes the project participants as "a collection of like-minded developers and contributors from several companies, including (but not limited to) Google."

The Noop project is barely off the ground, but news of the nascent language was has quickly attracted interest in the development community, thanks to Eagle's presentation on the topic at the JVM Language Summit.

Judging from the reaction on Twitter, the attention might all be too soon for the project leads. A recent Gruber tweet read: "Wow. Way way way too many people have been getting excited about #noop, even though it is just a brainstorm right now. <sigh> Fun tho." An Eagle tweet thanked another Twitterer for "being the one person to point out that Noop is now mostly a wiki of ideas."

It may be very early days, but early reaction suggests this will be closely watched. Those interested are invited by the project owners and committers to join the mailing list at [email protected].

About the Author

John K. Waters is a freelance journalist and author based in Mountain View, CA.

Featured

  • closeup of hands using smart phone

    Learning Continuity Built into the LMS Withstands Cloud or Cybersecurity Interruptions

    When your institution's administrative or instructional capabilities face disruption from natural, technical, or malicious events, what measures does your LMS offer to provide a "business as usual" operating and learning environment? Instructure's Ryan Lufkin comments on the LMS and learning continuity.

  • digital brain with network connections

    Microsoft Moving to Internally Developed AI Models in Office Apps

    Microsoft is reportedly using its own in-house artificial intelligence models to handle some workloads in Excel and Outlook, offering new evidence that the company is moving its AI strategy beyond model development and into large-scale cost reduction.

  • businessman holding tablet with holographic AI icons

    Google Moves AI Agents into the Mainstream

    At its recent I/O developer conference, Google presented artificial intelligence agents not as a distant research project, but as a product strategy spanning Search, personal assistants, productivity software, developer tools, and smart glasses.

  • artificial intelligence on laptop

    OpenAI to Combine AI Products into Desktop 'Superapp'

    OpenAI is reportedly developing a desktop application that would combine several of its emerging AI products into a single platform, according to reports, marking the latest step in the company's effort to transform ChatGPT from a standalone chatbot into a broader productivity and automation environment.