Java SE 8 developer preview released with lambda support. The big question now is which editors support Java 8 and lambda syntax? I wasn’t able to find explicit mention of any editors supporting it -I suspect I’ll have to hack around in vim for a while. If you know please comment.
Recently, having been prodded sufficiently by fellow enthusiasts, I’d been looking into the rationale behind Clojure amidst the ongoing explosion of dynamic languages on the jvm. And while I was looking into that, somehow, I came across numerous sites linking to the essay by Paul Graham – Beating the averages. Today I finished reading it and I have to say it was a fascinating, captivating and thought provoking read. Paul Graham is an adept writer. Yes I’m late to this scene. I’ve never really paid much attention to his essays in the past but I guess I’m finding myself going back in time in some ways now.
Also being one of the most persuasive pieces of prose speaking in favour of a language I’ve ever read – it made me incredibly curious about Lisp of which Clojure is a derivative. I think, at this stage, simply as a result of having read that post, there is a real danger of me looking into Lisp along the way which, if nothing else, should at least give me some insight into why the jvm developers Joe Darcy, John Rose and Mark Reinhold have been so enamoured with it and why they take so much inspiration from it.
The Java 7 launch party videos also made numerous mentions of Scala and Clojure which you watch if you haven’t already. The Q&A video at the end is the one I’m referring to here but I’d recommend watching them all in order. Anyway, you should read Paul Graham’s essay simply to provoke thought if for no other reason.
If you’re an avid Paul Graham follower which essay is your favourite that you’d recommend?
Lately, on the lambda-dev mailing list, dedicated to discussion on closures in jdk7, there’s been an eerie silence. With the feature complete deadline looming in two weeks members of the list have expressed concern at the lack of activity and questioned Oracle’s commitment to the cause. Alex Buckley from Sun has not been forthcoming in his responses which has only served to heighten their concern. Here are a few representative emails the last of which was sent earlier today.
- A reminder of Project Lambda’s scope – Tue Apr 20 13:38:19 PDT 2010
- A reminder of Project Lambda’s scope – Mon Apr 26 11:00:19 PDT 2010
- A reminder of Project Lambda’s scope – Mon Apr 26 11:33:14 PDT 2010
- Close to 0.2 draft? – Mon May 10 09:27:19 PDT 2010
Judging by the lack of activity, the secrecy on the official status and progress of the project, the feature complete deadline looming and the apparent failure to reach consensus on the list despite frenetic discussion on the topic it certainly seems to me that as time goes on it is becoming less and less likely that jdk7 will receive closures in any form whatsoever. If they do not make it into the next version of java it will indeed be a shame as closures were the feature the community was looking forward to the most.
My personal opinion is that in the light of the recent takeover of Sun by Oracle and with the release of JDK7 eagerly awaited by the community (for almost three and a half years I might add) Oracle should, at the very least, offer a degree of transparency on what they are doing and what their plans are for JDK7. As Neal Gafter points out in his most recent post to the list whatever the outcome silence sends the wrong message and I couldn’t agree more.
Update: David Flannagan has published a similar post.
Update: It seems the discussion has once again kicked off with a new proposal by Brian Goetz. However, as Stephen Coulbourne points out, the thought process that Oracle went through to reject other options and come up with this new proposal has not been transparent.
Update: There seems to have been a comment posted on the above linked blog by a member of the Oracle staff saying “There are several resources that are working on closures at Sun/Oracle. We are reviewing schedules for Java 7. As soon as we get done, we will publish those milestones as part of OpenJDK. Java is alive an kicking and so are closures in Java.”. This, if true, is great news.
Update: For those of you coming through from dzone this post is a little out of date. Discussions on closures are in full swing now on the lambda-dev mailing list so there’s less reason for concern.