5 ms·
I mean, that may be true to a point in the long run/true outside of webdev. But the dev who intimately knows Spring & Java/Kotlin is gonna be far ahead of you
by randompwd 6y ago
I mean, that may be true to a point in the long run/true outside of webdev.
But the dev who intimately knows Spring & Java/Kotlin is gonna be far ahead of you for the first 9 months, given that there's so much out of the box functionality. They'll be going through a nice paint by numbers scenario for most of the heavy lifting whilst you have to expound effort in creating what's done.
- lukashrb 6y agoInteresting view. What are the 'out of the box functionalities' which Clojure is lacking? Keep in mind Clojure provides Java interop and with clojurescript js interop. The clojure ecosystem has also pretty great libraries to work with. For example take a look at fulcro or re-frame, also metosin works on some really great libraries and there is much more.
- dkersten 6y ago> What are the 'out of the box functionalities' which Clojure is lacking? None, because for anything Clojure doesn't have, you just lean on the JVM (or JS for Clojurescript). Sure, the syntax isn't as pretty and there are some abstraction mismatches, but in my experience, you create thin wrappers to hide this and move on.
- mping 6y agoI can tell you what I miss: really good error messages :)
- slifin 6y agoClojureScript with shadow-cljs has really good error messages Clojure's errors require getting used to because they can be verbose but the patterns emerge after some use, that said most beginner errors can be caught before runtime with clj-kondo
- lukashrb 6y agoTouché :D, but to be fair the Clojure-Team (i guess Alex mostly) put a lot effort in it to improve the situation.
- slifin 6y agoIf what you're comfortable with is Spring or Drupal or Rails and those work for your use case then more power to you At the same time it's true there are products like roam research that are fundamentally harder to achieve in a cookie cutter environment This talk kind of eludes to why that is https://youtu.be/rI8tNMsozo0 https://youtu.be/rI8tNMsozo0 but it's worth learning there's many mature pieces of tech in this community that are astounding If you need boring.lib then reach into Java/JavaScript with the easiest interop I've ever used
- fulafel 6y agoUsually you hear skepticism the other way around (that Clojure's productivity advantage over Java style languages in a project could diminish over time as static typing advantages can be more pronounced in the twilight years of the apps lifespan).
- jonahbenton 6y agoUnderstand the argument- it's language vs ecosystem- but Clojure leverages the JVM ecosystem in a first class manner. Spring is very productive, to be sure, but I still find that in terms of LOC, Clojure requires less for simple cases, and much less for hard cases, and Clojure practices- like REPL-driven development- themselves are more productive/faster iteration.
- mping 6y agoYour comment misses alot of nuances about Clojure. Most Clojure devs I know were already senior devs in one or more languages, and were very capable of dealing with any missing "out of the box" functionality. Besides, by sitting on top of the JVM you have access to alot of mature libraries, and it's extremely easy to do a wrapper in clojure. What the spring & other frameworks have as an advantage is a predefined set of opinionated choices about logging, error handling, validation and so on that would give you a couple of weeks advantage at top. What they don't have is an expressive language as clojure.