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

  • Girl playing video games

    5 Lessons Video Game Designers Can Teach Educators About Learning

    Video game designers spend an enormous amount of time studying what keeps people engaged when something becomes difficult. They have become very good at helping people persist. Schools should pay attention.

  • lock symbol with quantum bits in dynamic motion

    Microsoft Accelerates Quantum-Safe Security Timeline

    Microsoft is speeding up its quantum-safe security timeline, noting that advances in quantum computing and new federal requirements have pushed post-quantum cryptography from a future planning issue into an immediate engineering priority.

  • Neon email icon hangs from chain with fishing hook below.

    Report Emphasizes Importance of Building a Security Culture

    While security teams have invested heavily in e-mail protection, endpoint security, and identity controls, new research from Fortra suggests one challenge remains difficult to solve: users.

  • education funding and graduation symbols on wooden dice

    What Is the Education Freedom Tax Credit and How Will It Work?

    The federal Education Freedom Tax Credit (EFTC) is a new source of funding for education that could benefit 90% of students in states that have opted in to the program. However, some confusion and misconceptions exist surrounding details of the program, including which programs may qualify, how parents can apply for scholarships, and how public school students can benefit.