4 ms·
Would love to hear what you learn from engaging on any expectations you have for roadmap. I wrote separately that I see a bright (very bright, complete game cha
by jonahbenton 6y ago
Would love to hear what you learn from engaging on any expectations you have for roadmap. I wrote separately that I see a bright (very bright, complete game changer) future for the toolchain in finance, but finance is a special ecosystem where general purpose languages with goofy syntax become niche- sometimes very large niche, but still niche.
- jwr 6y agoNiche is fine. I don't know why people are obsessed with languages becoming dominant, or enjoy calling languages "dead". I don't need everyone to use Clojure. In fact, I'd rather prefer that my competitors use something else, because it gives me an edge over them. I don't have "expectations", I think "hopes" is a better word here. I hope to continue to profit from the core team's thinking and be able to use the tools they create and ideas they generate.
- randompwd 6y agoI 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.
- dustingetz 6y agoPlatform war phenomenon (like Xbox vs Playstation) emerge from winner-take-most effects with a high upfront investment, so you want to make sure you pick a winner and then once invested you want to help them win. A good example of what happens when you lose is the Nintendo Wii U which had like 8 games made for it.