I really like Java over other languages because it is a lot cleaner and easier to understand. Java definitely can be verbose depending on what tasks you want it to do. But what it lacks in code writing time, it makes up for in compile time. It rewards you a lot better for clean code than the other languages do (less bugs), and can hit more platforms at the same time.
I don’t have a problem with lambdas. It adds an extra level of easiness for those who need access to it. I think it would be a lot more ridiculous if they enforced lambda’s. What these remind me of is the ternary operator…
int a = 0;
//normal code
if(a > 5)
a = 0;
else
a = 4;
//ternary
a = (a < 5) ? 0 : 4;
I would like to argue that it is one of the least used features of Computer Science, followed by the bit shifts (but that is just me). However, just because they are there, doesn’t mean that Java all of a sudden is an unreadable mess. Yes, adding many of these might make your code unreadable, just like lambdas might. But, it isn’t a bad thing, because you have the option of whether you want to use them or not.
So, in short, it doesn’t really matter. If you think your code is unreadable, you can just swap in a more readable version. For those who want to use them, let them use the short hand method.