4 ms·
Yes. It's still a thing... but I do think Clojure has lost mindshare. Just some impressions: * It's natural for the development of a language to slow down afte
by mschaef 8y ago
Yes. It's still a thing... but I do think Clojure has lost mindshare. Just some impressions:
* It's natural for the development of a language to slow down after an initial period of churn. So Clojure has reached a certain level of maturity where there's less 'new cool stuff'.
* There are other areas of industry where there's more 'new cool stuff' and attention naturally shifts there.
* The Honeymoon period is over, and anybody that had the unreasonable expectations the Clojure was the magical solution to all their problems has been disappointed and probably moved on. (Don't laugh. This happens.)
* People are better seeing other potential costs to Clojure code bases. I know of at least one organization looking into moving away from Clojure for the purpose of having a more attractive portfolio of assets to potential outside investors.
* My understanding (hearsay at best) is that Rich initially self-funded Clojure development for a couple years, and then got understandably tired of taking the hit and shifted his primary attentions to more commercial endeavors.
* As Java evolves >=8, it's gained features that incorporate some of the benefits of Clojure. Java is clearly not turning into Clojure, but it is getting development such that it's nibbling away at Clojure's technical advantages a bit.
None of this should take away from the fact that Clojure is a well-designed and very pragmatic language for the JVM. I personally love writing code in the language and find it the most effective way to use my time. What I hope the above means it that the language is settling into a more long-term sustainable niche.
For context: I use Clojure in several personal projects, and have done so for a while. I've also slipstreamed it into a commercial app, for automating management tasks, etc. Overall, I've been very happy with the platform, although there are still some startling gaps ( https://www.reddit.com/r/Clojure/comments/9p4tto/best_way_to_handle_etag_for_http_caching_in_a/ https://www.reddit.com/r/Clojure/comments/9p4tto/best_way_to... )
- the_af 8y ago> I know of at least one organization looking into moving away from Clojure for the purpose of having a more attractive portfolio of assets to potential outside investors. Out of curiosity, without naming the organization, can you elaborate on this? I don't understand what kind of portfolio you're talking about here, the codebase? Why would investors care whether it's done in $LANG? I thought they cared more about the business and business-related concerns. Maybe they perceive Clojure as being an impediment for fast delivery of features?
- mschaef 8y ago> Why would investors care whether it's done in $LANG? I thought they cared more about the business and business-related concerns. I think the concern is around how hard long term sustainability of the codebase. If it's built in a relatively minor tool, there's merit to the belief that it'll be hard to find people that know it well. (And this is discounting the possibility that a dynamically typed language might be less suitable than programming in the large than something that has more static checking.) When I was 23 and fresh out of school, I'd probably called this line of reasoning ill-informed at best... after all, a good developer can learn any language, and you'd only want to hire _good_ developers anyway. Twenty years later, I'm a lot more sympathetic. If you're trying to deliver business value under time/budget/risk constraints, adding a known, short-term risk (a minority language) for an unknown, longer-term benefit is a hard sell. I think the Lisp-like languages are particularly prone to this in that they derive so much of their power by providing lots of mechanisms for abstraction. (Higher-order functions, syntactic macros, multi-methods, etc.) If you have the right abstractions in your code it can be great, but getting to that point and maintaining it can be expensive. (And in the meantime, you also have a great deal of power for shooting yourself in the foot.) My general sense of languages like Clojure is they are very good for people with experience and time to very carefully consider their problem space. However, that's not necessarily a great description of the modern IT profession.
- the_af 8y agoThanks for the answer. What you say makes a lot of sense to me. I prefer functional but statically typed languages for many of the same reasons. I just find it surprising that investors care about this :)