3 ms·
Clojure is a good solution for many problems (obviously not all) mostly because it reaches many capable runtimes, java, js, python and interop is first class W
by slifin 6y ago
Clojure is a good solution for many problems (obviously not all) mostly because it reaches many capable runtimes, java, js, python and interop is first class
What you might be encountering is after a few years of Clojure becomes such that you'd rather not be writing anything else and that is semi-practical as opposed to many other niche specialised languages where it's not so realistic
Libraries, not frameworks is a point of contention even within the Clojure community, libraries tend to compose and upgrade better over time but there are also frameworks in Clojure
Luckily we don't have one that dominates the language so totally that it cannot be ignored despite what inevitable deficiencies it has
Keep in mind most Clojure developers came from other languages and have Vietnam flash-backs to many frameworks
- Kalium 6y agoAt this point I have Vietnam flash-backs to dealing with the hand-rolled, ad-hoc, half-built, undocumented frameworks that Clojure teams I worked with produced. Seems like a weird form of therapy to me, but what do I know? I also found the points about interop to be nearly academic. The teams I worked with went to significant amounts of trouble to avoid using it whenever they could.
- ithrow 6y agointerop is first class That's hardly true, not even clojure.org claims that. Interop is far from seamless.
- slifin 6y agoMy reference point for my comment is ReasonML which on its homepage claims "Easy JavaScript interop" In comparison, I didn't find that to be the case
- daveliepmann 6y agoI would say that "first class" is a perfectly reasonable way to phrase it. While clojure.org doesn't use that exact phrase, host interop has always been a central pillar of the language: >Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc. All functions are compiled to JVM bytecode. Clojure is a great Java library consumer, offering the dot-target-member notation for calls to Java. Clojure supports the dynamic implementation of Java interfaces and classes. What do you mean by "far from seamless"?
- deleted 6y ago[deleted]