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

  • glowing brain, connected circuits, and abstract representations of a book and graduation cap on a light gray gradient background

    Snowflake Launches Program to Upskill 100,000 People in Data and AI

    Cloud data platform Snowflake is embarking on an effort to train and certify more than 100,000 users on its AI Data Cloud by 2027. The One Million Minds + One Platform program will provide Snowflake-delivered courses, training materials, and free access to Snowflake software, at no cost to learners.

  • two abstract humanoid figures made of interconnected lines and polygons, glowing slightly against a dark gradient background

    Microsoft Introduces Copilot Chat Agents for Education

    Microsoft recently announced Microsoft 365 Copilot Chat, a new pay-as-you-go offering that adds AI agents to its existing free chat tool for Microsoft 365 education customers.

  • hand touching glowing connected dots

    Registration Now Open for Tech Tactics in Education: Thriving in the Age of AI

    Tech Tactics in Education has officially opened registration for its May 7 virtual conference on "Thriving in the Age of AI." The annual event, brought to you by the producers of Campus Technology and THE Journal, offers hands-on learning and interactive discussions on the most critical technology issues and practices across K–12 and higher education.

  • Three cubes of noticeably increasing sizes are arranged in a straight row on a subtle abstract background

    A Sense of Scale

    Gardner Campbell explores the notion of scale in education and shares some of his own experience "playing with scale" — scaling up and/or scaling down — in an English course at VCU.