Arved said:
Lew said:
Saxo wrote:
So free variables aren't possible with JDK8 lambdas. For people used to closures, this is surely
surprising. Well, this does not render JDK8 lambdas useless. On the contrary, an imense amount of
boilerplate code that is necessary without them can be removed with them. Once the JDK8 gets
released this will be an eye-opener to
about 95% of all Java developers (the ratio of Java developers not understanding closures ...).
The ratio of Java developers who do not understand closures is probably pretty close to the
ratio of Java developers who do not understand Java.
[ SNIP ]
I don't get that statement at all. A significant percentage of Java
You mean you don't agree with it. Apparently you do get it.
programmers don't use any other languages in a big way, including those
How significant? What percentage? Aren't these the same ones I said don't understand
Java either?
How do you know they aren't?
that do have closures. And since Java itself doesn't have them (*), I
just don't see why a programmer who understand Java really well can't
also *not* know about closures.
Can, certainly. But the statement was statistical, not possibilistic.
Where does "95%" come from? Where does "significant percentage" come from?
My point is that there are no data for these assertions. Likewise, I have no data, but
unless you do you have nothing with which to refute my assertion.
Plus there's the aforementioned matter of agreeing on definitions.
* I'll wager that a lot of Java programmers - the ones with their hands
How much is "a lot"? Does it approach 95%?
full still doing their production work in JDK 1.6 and 1.7, say, don't
have time to play with experimental features.
I have my hands full doing production work in JDK 1.6 and 1.7. Yet I do play with
experimental features, and even read about them beyond that.
Doesn't everyone? Don't you?
Anyone who doesn't, doesn't understand Java.
Well, we can agree on one thing - absent hard numbers - which I'm not
sure exist - none of us have more than anecdotes.
I'll say this - I've worked closely with hundreds of programmers over my
career. Not just Java, obviously, everything under the sun. I've
interviewed many dozens of developers. I've seen a humungous amount of
code written by other people. I read professionally voraciously.
These same statements are probably applicable to you and a bunch of
other people in this NG too.
_My_ takeaway from all that is that most professional working
programmers are M-F 9-5. They don't actually spend time at home coding
or doing professional development (with the exception of training or
reading books that help them with the immediate technologies that they
need *now*). They don't have more than an above-average grasp of
anything, they aren't even that interested in the field.
So no, I don't believe for a second that more than 5 or 10 percent of
coders play with experimental features or learn languages that they may
never use on the job...let alone teach themselves CS underpinnings of
what they do.
But this is all anecdotal. You may have all your career worked with
young hard-chargers who absolutely live to code. You'd see things
differently.
As for *me*, the new _language_ features in Java 7 don't exactly take
more than a few hours to read about and trial out in a simple test
program. I spent rather more time investigating the new APIs in 7, so I
know what's there and can plan to use it if appropriate.
As for what is coming out in 8, I could not care less. I really could
not. I'm not using 8 yet, and none of my Java work (which these days is
a small bit of what I do) will even be on the Java 8 platform for years.
So why waste my time? I'd rather hone up on Scala, Clojure, latest C#,
and F#...to name a few.
AHS