It&#x27;s not &quot;nonsense&quot; or &quot;stupid&quot; to think that Java will adopt more Scala features over time.<p>You have to put Java in its historical context to understand how it came to be.  It was a mid 1990s over-reaction against the super-complicated, super-fragile software that people were churning out with C++.  It was designed as a kind of babytalk that would avoid the complexity of speaking C++.  Of course we all know it was an over-reaction, leaving behind perfectly reasonable ideas like multiple return values, lambdas, and unsigned numbers in a kind of French Revolution against C++ silliness.<p>Scala is also an over-reaction in the other direction.  It&#x27;s like a cross between Perl and one of the more pragmatic ML dialects.  It&#x27;s easy to churn out a lot of Scala code, but hard to read someone else&#x27;s or debug a Scala program.  (Case in point: seeing &lt;anonymous&gt; for every stack frame in backtaces.)  Eventually we will want to meet in the middle somewhere with regard to complexity, and Java is best positioned to do that.