
Closures in Java 7: Not Likely - fogus
http://www.davidflanagan.com/2010/05/closures-in-jav.html
======
jshen
This highlights the difference between open and open.

java is technically open source, yet the decisions are made behind closed
doors without any transparency.

~~~
redstripe
And the standard open source response is "fork it". Are you prevented from
building your own java with closure support and distributing it?

When ubuntu recently altered where window icons appear there was a lot of
complaining even though linux is "open". Someone is in charge of all "open"
projects and likely whatever decisions they make will upset some people.

~~~
JeffJenkins
It's actually difficult to get a fork of java going that people will actually
use because of the technology compatibility kit. See here:
[http://en.wikipedia.org/wiki/Apache_Harmony#Difficulties_to_...](http://en.wikipedia.org/wiki/Apache_Harmony#Difficulties_to_obtain_a_TCK_license_from_Sun)

------
WilliamLP
I think "Java 7: Not Likely" will be the next news. The fact that the only
people excited about it are non-Java JVM users should reveal something.

------
Zarkonnen
Speaking as someone whose current long-term main project is Java-based: Java's
development has stalled. Go and learn Scala, Clojure, Python, Haskell, <brand
x>. (Note that is not to say that you need to abandon whatever Java you're
working on, just that Java's pain points getting fixed looks very unlikely.)

~~~
jacquesm
Working on it. But it's the steepest learning curve since I learned to program
the first time.

It almost feels as though already being able to program is actually a
hindrance.

~~~
frisco
Which? Scala, Clojure, Haskell ...?

~~~
jacquesm
Clojure.

~~~
mnemonicsloth
This has been my experience too. I found CL, Scheme, and Haskell pretty easy.
Clojure has taken me more time. I think it's because there aren't many good
books yet, and because Lisp-speaking émigrés have to learn a set of new ideas
that's mostly separate from the new ideas Ruby/Python/Java users need to
learn.

What specifically has been giving you trouble?

~~~
jacquesm
That there is no side-by-side comparison of how a seasoned 'imperative'
programmer would set up a fair sized website (not some toy), so something with
user authentication, database access, templates and some serious business
logic and internationalization compared to how you'd tackle the problem in
clojure, functional style.

Then I'd be able to take a section from the one, compare how the 'natives' get
the same effect on the other side of the line.

It would be nice to have a 'reference' website that gets ported to every
language that is used in a web context following best practices for that
language/environment.

That way you'd already understand the problem they're trying to solve and you
can concentrate on how it is solved.

~~~
Zarkonnen
Hear, hear. I am quite at the point where I play too much with Python's
itertools and want a more pure language - but Clojure is seriously unhelpful
in telling you how to actually construct any Clojuriffic code.

------
Daishiman
That's Oracle for you. In the end the only way for the JVM environment to
advance would be if large users of the JVM push for new features until the
FOSS community forks and begins patching up.

------
pmjordan
I'm more disappointed that continuations don't appear to have made it. They're
available as a patch, but actually compiling an OpenJDK with them is evidently
an arcane art I haven't yet mastered.

------
hraberg
If you're still interested in closures for Java, my port of Ruby's Enumerable
module, Enumerable.java, has a limited version for valid Java 5. The current
release is 0.2.4, but this post is the best introduction:
[http://www.jroller.com/ghettoJedi/entry/closures_in_valid_ja...](http://www.jroller.com/ghettoJedi/entry/closures_in_valid_java_limited)

