On Friday, 10 June 2016 at 17:09:18 UTC, Russel Winder wrote:
Whatever you read, the writer didn't really know what they were
talking about. At least not in general, and if they were
talking of the Javaverse as a whole. Java 8 features such as
lambda expressions, Streams, method references, etc. are no
longer even controversial. There is a world-wide activity in
transforming Java 6 and Java 7 code to Java 8. Yes some of this
is pull rather than push, and I am sure there are islands of
intransigence (*). However the bulk of Java programmers will
eventually get and use the features.
Of course many people have stopped using Java and use Kotlin,
Ceylon, or Scala (**). The crucial point here is that the
Javaverse is much, much more than just the Java language.
This only proves my point. This happens in languages that are
"feature resistant". For years you have to write awkward code[1],
and once a feature got accepted you have to revise your old code
and jazz it up. And then of course you get conservative
programmers who loath changes, they are a direct consequence of
feature resistance. The more progressive ones turn to other
languages like Clojure and Kotlin.
All this proves that being feature resistant is not healthy for a
language.
[1] E.g. Java event listeners, Runnable etc.
(*) Usually people who think Java 5 was a bad move and stick
with Java
1.4.2.
(**) There are others but these are the main players.