>>3
you have to learn overly fragmented libraries to do anything serious
You have to learn just as many things in a number of other languages, the difference being they typically just dump this stuff onto your basic application in bulk. You'll be lucky to be able to make specific calls, e.g.,
std::string and
System.out.println, rather than having to provide a whole resource when you only need a small feature from it.
>>16
Well, there are notes that Java 7 may implement a more formal closure... Also, Java does not actually promote KISS but, rather, LEGO. That is to say "We're not giving you standard command line input out of the box, but, see, you have all the parts to build one to suit your requirements." That's actually a very practical approach from a certain perspective; however, there is still enough concealed redundancy amongst these parts (besides standard input, have you ever looked into some of the complicated outputting methods Java has to offer? Java even has a
printf method). And, as far as verbosity is concerned:
public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
As far as "function pointers" go, don't get me started on Java method reflection capabilities. While they don't adequately substitute for function pointers, it is possible to pull some similar tricks with references. Of course, most standard Java applications will rarely ever need to use this.
>>17
He might have mistakenly said "class" when he meant "object." On the other hand, a notorious, almost mythic, practice of poor Java programming is the impetus to create new classes at the drop of a hat.