Java was designed to solve the problem of way too many productive programmers having fun solving interesting problems.
To solve this, they created a language that would subtly shift focus away from the problem itself, to the code you were writing.
Tasks that used to take a small team of five programmers, would now require twenty, mostly occupied with mindless repetitive tasks, like writing getters/setters and FactoryFactories.
First-class functions, closures, and metaprogramming were early on identified as great productivity boosters that would let you get around most of the artificial hurdles, and the vote to leave them out was unanimous.
The type system was designed to prevent code reuse and encourage copy-paste coding.
Common programming tasks were identified by a designated committee, and the standard library was carefully pessimised to require at least five lines of code and two elements of redundancy for the ten most common tasks.