12 ms·
No mention of Clojure? In the comments the author says that since it was a functional JVM language, he never considered it. OK.
by JBiserkov 9y ago
No mention of Clojure? In the comments the author says that since it was a functional JVM language, he never considered it. OK.
- hellofunk 9y agoYes that's a very strange comment and taints the perspective of the author for the entire article. Kotlin and Scala are also functional or include strong functional abilities, as do many modern languages not on the JVM, so I'm not sure what being "functional" has to do with his omission.
- sankyo 9y agoHe only considers statically typed languages to be worthy. He doesn't spend much time on Groovy, writing it off as a scripting language. That is my take on why he left it out.
- Nekorosu 9y agoThere is a comment from the author that states he hasn't mentioned Clojure because it's FP language. He doesn't go into details bit it looks like he just skipped everything that doesn't support class based OOP. Scala has this feature.
- KirinDave 9y agoClojure supports this though. And given that removing the FP nature of Scala pretty much hamstrings its value proposition, I can see why he'd be dismissive of it on those grounds.
- Nekorosu 9y agoClojure supports class based OOP? Never heard of it. Could you give me a link to the relevant documentation page?
- sooheon 9y agoNot really a OOP programmer, but I think the following cover some reasonable subset of OOP: https://clojure.org/reference/multimethods https://clojure.org/reference/multimethods https://clojure.org/reference/protocols https://clojure.org/reference/protocols
- akmiller 9y agoVia records (defrecord) and protocols.
- pjmlp 9y agoClojure supports protocols and multi-methods, the building blocks of CLOS, Common Lisp Object System. Already at Xerox PARC, Lisps started to support OOP, with FLAVORS for Interlisp-D being one of the first ones. EDIT: Disregard the last paragraph, lispm is right.
- curun1r 9y agoHe also doesn't mention BeanShell, which there's no excuse for forgetting, considering it was a direct competitor for Groovy, or JRuby/Jython/Rhino, which could be excused for excluding since they're ports of other languages to the JVM.