2 ms·
Java combines OO with strict typing (unlike Ruby which has OO without the strict typing). As such, that particular combination leads to bloat and verboseness. S
by lkrubner 12y ago
Java combines OO with strict typing (unlike Ruby which has OO without the strict typing). As such, that particular combination leads to bloat and verboseness. See:
What did Rich Hickey mean when he said, “All that specificity kills your reuse!”
http://programmers.stackexchange.com/questions/199217/what-did-rich-hickey-mean-when-he-said-all-that-specificity-of-interfaces-cla http://programmers.stackexchange.com/questions/199217/what-d...
Part of the answer given:
"If you have two entities { "name":"John" } of type Person, and { "name": "Rover" } of type Dog, in Java-land they probably cannot interoperate unless they share a common interface or ancestor (like Mammal, which means writing more code). So the interfaces/types here are "killing your reuse": even though Person and Dog look the same, one cannot be used interchangeably with the other, unless you write additional code to support that. Note Hickey also jokes about projects in Java needing lots of classes ("Who here has written a Java application using just 20 classes?"), which seems one consequence of the above."
- frowaway001 12y ago> Java combines OO with strict typing [...] > As such, that particular combination leads to bloat and verboseness. It's bloated and verbose, because Java isn't very good at it, not because it's a fundamental issue of OO with types. > in Java-land they probably cannot interoperate [...] Ditto.