4 ms·
Did you just call jython, jruby, groovy, and all of the other dynamic JVM languages cruft? Or maybe you don't consider them high levels of abstraction... if th
by bcg1 11y ago
Did you just call jython, jruby, groovy, and all of the other dynamic JVM languages cruft?
Or maybe you don't consider them high levels of abstraction... if that's the case might as well not consider inheritance, interfaces, dynamic proxies, classloaders, and annotations while we're at it.
- serge2k 11y agoI read it as you have to add in a bunch of useless boilerplate to do things like pass in an anonymous class to Collections.sort because of a lack of Lambda's (for a stupidly long time at least).
- davelnewton 11y agoNo, I didn't: none of those are Java. They're Jython, JRuby, Groovy, and the other JVM languages. We're discussing Java-the-language. Not the JVM. And without various surrounding crufts you don't have an expressive, dynamic, malleable language with high levels of abstraction. Lambdas help, but do not solve, Java's impoverished model of abstraction.
- bcg1 11y agoAll of the things I listed are part of the Java language and standard library. http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Proxy.html http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/P... http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoad... http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html http://docs.oracle.com/javase/7/docs/api/java/lang/annotatio... etc
- davelnewton 11y agoI never said it didn't have those things; I'm not sure why you're still talking about them. I said Java has an impoverished model of abstraction, and without external tools (byte-code manipulation, libraries, etc) it still doesn't. Then you brought up not-Java, which I also didn't talk about. You brought those up because those do have better models of abstraction than Java does, which effectively concedes my point.