| > Only briefly - it looks pretty straight forward. Could you explain what's wrong with it? I think this link says it all: http://download.java.net/jdk8/docs/api/java/util/function/pa... The amount of times they managed to back themselves into a corner is just horrifying. > Also they pushed a number of features that were going to land in Java 7 back to Java 8 because there wasn't enough time to finish them. So that doesn't seem to be true. And to Java 9. Any actual improvement would assume that a considerable amount of people would have kept working on those things in the meantime. First delaying the feature and then reallocating the people to extinguish fires somewhere else (security, applets, ...) doesn't help. Anyway, they recently started from scratch again on modularization, so pretty much all the work done on Jigsaw before that is lost anyway. Let's at least hope that they documented the experience they gained, so that they don't repeat all the mistakes again. |
I'm not sure you understand what you're looking at. Defining a "function type" in Java 8 looks like this:
That package merely defines some common types. They are all interchangeable, by the way, so if your method takes a parameter of type "YourFunctionType", defined so: Then the same lambda expression could represent both MyFunctionType and YourFunctionType. You don't need to use the types defined in that package, you don't need to remember what they're called etc.> Anyway, they recently started from scratch again on modularization, so pretty much all the work done on Jigsaw before that is lost anyway.
I'm not sure how much is "lost", but most Java users specifically said, in this case and in others, that they prefer postponing a feature until its been done "right" after die consideration. And when a language is used by millions of developers and with trillions lines of existing code, there is a lot to consider, because a lot is at stake.