Re: News for Java?
On 09-01-2011 13:11, Wanja Gayk wrote:
In article<Xns9E68B09839617smoothskuarematrix@85.214.73.210>, x@x.com
says...
For instance, lambda expressions are a nice thing to have, but aren't at all a
necessity. Maybe the newest hot topic, but not a new concept at all: they
have been around for decades already in some programming languages, to
good use. Most other have done (and willl continue to do so) perfectly well
whithout. Then again lambda expressions are an example of something
relatively easy to add to a language with little or no impact on its syntax, so
thumbs up.
I second that. You can get along without them, some of us have spent a
decade without it and Java was prospering well without, but Lambda
Expressions are, in my point of view, very valuable. They make it
concise to approach a problem in a more functional way and that is very
good for code reuse and maintainability. Just think about all the
incompatible SAM-Types. How many different predicate/filter/matcher-
classes may there be, who just evaluate an object and return true of
false? You find yourself in situations where you use a "Predicate" from
apache.commons.Collections and to re-use it for your DB4O-database you
start writing a wrapper and whatnot.
It is possible to argue that an anonymous class is a more
general concept than a delegate/lambda expression, because
it supports N methods.
But in most cases we just need 1 method.
I believe that it would have been better if Java had gotten
delegate/lambda expression instead of anonymous class 15
years ago.
Today we need to think twice, because we will not get rid
of anonymous classes. Is the benefits worth adding to the
complexity of the language.
But I think that I am leaning towards yes these days.
Arne