Ruby, Clojure, Ceylon: Same Goal, Different Results
snydeq writes "Charles Nutter, Rich Hickey, and Gavin King each discovered that 'simplicity' doesn't mean the same thing as they developed Ruby, Clojure, and Ceylon, respectively. 'Languages that are created with similar goals in mind may yield highly disparate final results, depending on how their communities understand those goals,' writes Andrew Oliver. 'At first, it surprised me that each language's creator directly or indirectly identified simplicity as his goal, as well as how differently the three creators and their languages' communities define what simplicity is. For Ruby, it is about a language that feels natural and gets out of your way to do what you want. For Clojure, it is about keeping the language itself simple. For Ceylon, it is a compromise between enabling the language to help, in King's words, "communicating algorithms to humans" and providing proper tooling support: the same general goal, three very different results.'"
The problem with Java isn't the simplicity of the language. The problem is the designers assumed that all programmers are simple minded idiots. From what I understand, the general design principal was if they could do away with a feature that a bad programmer could do wrong, then they did. That's why there is no easy to explicitly do things such as pointers, gotos, and operator overloading.