4 ms·
Clojure’s biggest issue is definitely the ecosystem. As far as the bell curve goes for accessible and usable tooling it’s usually either on the far left end and
by whalesalad 3y ago
Clojure’s biggest issue is definitely the ecosystem. As far as the bell curve goes for accessible and usable tooling it’s usually either on the far left end and terrible but easily accessible (but doesn’t follow the functional paradigms well) or it’s on the far right end -extremely esoteric, LOTR quote in the readme, everything is data to the n-th degree, only accessible to dragons who can write emacs plugins blindfolded and upside down. The language itself is amazing, and Java interop is much better than Aphyr makes it sound. If there was a rails or Django for Clojure for instance (or better yet, a Phoenix) it would be an easier sell and methinks more widely adopted. The juice needs to be worth the squeeze - particularly when you’re convincing a team to jump from Algol style imperative languages to lisp. But at this time you need to reinvent the wheel on virtually any project, aside from fundamentals like http routing (which is also a rough scene) But the fact that literally any maven package can be used is tremendous. Plus it compiles to a jar, so anywhere a jar will run - so will clojure.
- silcoon 3y agoYou should definitely check out Calva, a wonderful plugin for VSCode which bring the REPL and much more (live documentation) for an easy way to use Clojure. I'm using it everyday at work. https://calva.io https://calva.io
- civilitty 3y agoSituation: There are three competing Clojure development environments. Three!? Ridiculous! We need to develop one universal Clojure environment that covers everyone's use cases. Situation: There are fourteen competing Clojure development environments.
- pharmakom 3y agoThis comment has been repeated many times. I think there is even an XKCD. Anyway, it’s not very helpful. If the 3 existing solutions are all deficient in some way then a new standard may be a good idea. And besides that, we may not realize that what we have is deficient until someone explores the space a bit. Edit: Please forgive my tone, I’m weary from seeing this repeated so many times and you have unfairly taken the brunt of that!
- civilitty 3y agowoosh They've been exploring going on 16 years. It's time to stop exploring and start exploiting.
- pharmakom 3y agoIt takes decades for programming tools to settle. Consider that most working developers today are using languages that wouldn’t have impressed a PL researcher in the 80s.
- pzs 3y agoIndeed there is an XKCD on this: https://xkcd.com/927/ https://xkcd.com/927/
- BoiledCabbage 3y ago> Situation: There are three competing Clojure development environments. > Three!? Ridiculous! We need to develop one universal Clojure environment that covers everyone's use cases. Wait, your argument is that it's a bad thing that users have choices of dev env for their language? How in the world is that a negative criteria? Would JS be better if it could only be written in a single dev env? I'm assuming I'm missing something here as otherwise this makes no sense to me.
- acupofnope 3y agoIt's a joke referencing this XKCD comic: https://xkcd.com/927/ https://xkcd.com/927/
- nerdponx 3y agoRight, but the joke is misplaced here. nobody is talking about developing standards.
- silcoon 3y agoWhere you saw that they are competing?
- sokoloff 3y agoThe only very commonly used language that I can think of with a single dev environment is Excel. Every other one (c, c++, Java, various .Net, python, Ruby, and yes, Clojure) has a variety of editors and dev tool sets in use. Is choice of tooling somehow bad?
- owl57 3y ago> The only very commonly used language that I can think of with a single dev environment is Excel Not sure if this is still the case, but last time I tried to write something in Kotlin it didn't have decent support in any editor outside of JetBrains.
- Capricorn2481 3y agoAnd that's been a negative for Kotlin for a while now
- freedomben 3y agoI would disagree that Java has a variety of editors and dev tool sets in use. Of course there are occasional people that branch outside of jet brains, but they are a tiny minority. Most Java projects I have worked on are dependent on IntelliJ. Given this end the fact that many clojure people come from Java, it does not surprise me at all to see this attitude.
- sokoloff 3y agoInteresting. I would have expected "Java devs not using Jet Brains" to vastly outnumber those using it, rather than being a tiny minority. Trying to estimate their sales, it seems like JetBrains is around $400M/yr in revenue. Looking at their pricing, it seems like $400/user/yr is a fair estimate, which suggests around 1 million paying users for JetBrains. Oracle claims 10M or more Java devs (undoubtedly many of those are dabblers in Java rather than 2000 hours/year users, but JetBrains sells to a lot of non-Java devs as well).
- 3y ago
- travisjungroth 3y agoThis just seems like a random Clojure comment rather than anything to do with Jepsen or the article.
- user3939382 3y agoSo
- LouDNL 3y agoYou obviously dont code in Clojure for a loving. Clojure's eco system and community is well maintained. Clojure comes in multiple flavors where Clojure and Clojurescript are 2 mainly used. Ofcourse there is also Babashka, Scittle etc., but all derive from clj or cljs. As far as development tooling it all depends on the platform you code on and what ide suits your needs. Emacs, Neovim, VScode, IntelliJ for example have different tooling. Build systems differ and suits ones needs, for clj deps.edn is the current lost used followed by leiningen. For cljs there is shadowcljs and many more. I agree that as new comer this can be quite overwhelming, but the community is great and always helpful. I program for a living and have done so in multiple languages, Clojure is by far my most favorite.
- raspasov 3y ago"either on the far left end and terrible but easily accessible" Examples? I've been using Clojure since ~2013 and I can't think of "terrible + easily accessible" tooling. Most of the popular libraries are excellent. They are head and shoulders above in terms of stability/backwards compatibility/simplicity than most other ecosystems that I'm aware of.
- whalesalad 3y agohttps://github.com/korma/Korma https://github.com/korma/Korma
- raspasov 3y agoI recall using korma way back I and I don’t recall it being terrible but I would say https://github.com/seancorfield/honeysql https://github.com/seancorfield/honeysql has very much superseded it by this point… (but I can see how that might not be obviously clear if one is to look at superficial metrics like GitHub stars for example…)
- DeathArrow 3y agoI think the biggest issue is it being a rather niche language and not having enough adoption. That would make it harder to hire and more expensive. But if you can do it with a small team, it can work. Or you can do it in Clojure and rewrite at a later time.
- sokoloff 3y agoOr why not do it in Clojure and teach competent devs Clojure? (I think this is the Nubank approach, undoubtedly among others.)
- TacticalCoder 3y ago> Plus it compiles to a jar, so anywhere a jar will run - so will clojure. I'd add, for those who don't know Clojure, that as /u/jwr commented in this thread: Clojure also runs anywhere there's a browser, thanks to ClojureScript. And thanks to source file that can be shared between both Clojure and ClojureScript (.cljc source files), you can have the very same Clojure code and run it both on the front-end and on the back-end. So not only the JVM "reaches" (as Rich Hickey says), but JavaScript reaches too. > ... only accessible to dragons who can write emacs plugins blindfolded and upside down I know you're joking but although I use Emacs since forever and can configure it to my liking and can eventually come up with some elisp code doing what I need, I'm not good at elisp by any means. But I'll admit that learning both Emacs + elisp + Clojure at the same time for someone who's never learned any Lisp dialect is going to be hard (and a very hard sell). Now there's a Clojure LSP server (which should help) and it works not only from Emacs but also from other IDEs. It's not mandatory to use Emacs for Clojure development even if many (most?) Clojure devs do use Emacs.
- deleted 3y ago[deleted]