Hacker News new | comments | show | ask | jobs | submit login
Google Delivers New Java-like Language, Noop (eweek.com)
60 points by kasunh 3008 days ago | hide | past | web | favorite | 36 comments

Wait it's by Google? I thought it was just hosted on Google code, as per this thread: http://news.ycombinator.com/item?id=826945

It's made by googlers, but I don't think it's officially endorsed by Google.

"It's made by googlers"

Yes it is. One of the authors seems to be an "internal software development coach" (source: http://www.geekinasuit.com/2009/03/hiatus-should-be-over.htm...) at Google. The other author's blog seems to be down atm (http://jakeherringbone.com/).

I was at the JVM Language Summit yesterday and went to the session by the developers of Noop. Indeed, it has not been "delivered" - though they have a working "Hello World", the syntax of the language has not yet been finalized, nor have they begun work on a compiler that emits JVM bytecode.

The developers work at Google on their internal tools team, focusing particularly on unit testing. Hence, the inspiration for a language that's like Java but with Guice (Google's DI framework) and without the ability to shoot yourself in the foot in the ways that Java makes it particularly easy to.

Noop is a 20% time project for the developers. So, there's a tacit endorsement by Google, but it's not as if Google has staffed up a full-time team to deliver a new language that will be used throughout their organization any time soon. The developers don't expect to get much adoption for Noop, and hope that it will mainly influence people's thinking and other tools.

Thanks for clarifying, Alex!

Article fail. It's not "delivered" -- it's a language in the process of being designed.

Dear lord, that article fails in too many ways to comprehend. Do yourselves a favor and jump straight to the goods:


I am confused.

They say, this is made by google, and up to now, the google announcements I saw were very solid projects. Did I miss a lot of google announcements which are not solid projects?

On the other hand, the state of this language looks... early? I am not sure. I don't see much code (yes, those 40 lines linked to on this page really show the new and innovative powers of this language), and I do see a lot of 'we propose this and we want that' (+ the usual language buzzwords), which feels much more like a language brainstorm, or maybe the state where the results of the brainstorming are settling down... but nowhere near a solid project...

So, sorry to sound very unexcited, but at this point.. who cares about yet another language in a very, very early state?

"Did I miss a lot of google announcements which are not solid projects?"

You mean like Wave?

Can anyone point us to some code examples? I had a hard time finding any.


but there's scarcely anything there. Which is all rather weird; I'd have thought that (1) one of the first things you do when designing a language is to mock up a load of example code to see how your ideas work together, and (2) you want to make that available to anyone looking at your language so that they can get a feel for what it's meant to be like. Oh well.


That's my first impression--I see a bunch of pages on the project wiki with proposed features for the language, but no documentation along the lines of "if you actually want to use this language to accomplish something useful, here's what you do".

Not only that but it looks incredibly underwhelming. It looks and smells so much like Java that you might as well use Java.

I strongly suspect that something like this is the reason why there are few code samples. When do you not need to mock up lots of sample code when designing a language? When it's basically another pre-existing language with a few minor changes. (The pre-existing language in this case might not be Java, though I agree that that seems like a good guess.)

Lordy, it's just a 20% project.

You mean buzzwords aren't enough?!! ;-)

I am surprised this got onto the jvmlang conference agenda at this stage of its implementation. Lots of announced buzzword-y goals and very little code.

The blurb (In the absence of substantial code samples the blurb is all one has to go by) sounds like it is a language encoding "best practices" - all very nice and enterprisey.

It will be interesting to watch the progress or otherwise of this language

One goal of the summit is for implementors (of languages and/or runtimes) to have a chance to talk through issues so it fits in with the conference just fine. The hype in the article is the problem.

Alex Eagle from Google presented Noop at the 2009 JVM summit. Slides at http://wiki.jvmlangsummit.com/Image:Noop_at_JVM_Summit.pdf

It's written in Scala, 1500 LOC but failed to build either with buildr or with maven. Looks like a premature project.

I don't much care for the Bay Area, but I really wish I could have gone to the JVM Language Summit. Looks like a lot of fun.

Me too. I'm so busy with my head down in the code that I forget about these things. I wrote Sleep several years ago and am not as active on it because it's stable for my needs.

" I wrote Sleep several years ago and am not as active on it because it's stable for my needs."

Too bad you couldn't make the JVM summit. I would have been interested in a session on the language powering "After the Deadline" than this piece of almost-vapourware.

Thanks, to better inform my judgment, any topics in particular you'd like to know about? I'm always looking for blog topics and I'll probably approach some local groups in DC to see if anyone is looking for a speaker.

How Sleep made your coding go faster or enabled you to write expressive code as compared to coding in Java (with code samples drawn from ATD where possible :) - I like real world code comparisons vs toy examples)

A cursory look leads me to conclude that Noop has no primitive types. This results in Int (capital I) typed variables all over. While this follows the naming convention to which I adhere -- CamelCased classes -- there is still some cognitive dissonance. This might be a silly point, but I have not yet had coffee.

Yes, they've said that everything is an object. But, the whole question of interop with Java is still in flux.

What do they mean by a language that supports dependency injection? What would be an example for a language that doesn't support it - stateless languages, I suppose? Because if there is no state, how to remember the dependencies?

Edit: Just checked if it is April 1st, but nope, it isn't. They must be serious.

I'm sure they mean that the language itself supports declaring and injecting dependencies rather than needing to use an external tool to do it.

Every time I see a new programming language come out, I can't help but think of the Tower of Babel.

Because we are trying to build a tower from the machine to the abstract?

(Probably because there are now nearly too many languages to count.)

Does the world need another java-like language I wonder, even if its blessed by the google Gods?

It appears to an effort, written in Scala, to be Scala but with Java syntax.

That article is practically unreadable without Adblock.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact