3 ms·
This was an interesting tidbit as well from another analysis [1]: This year’s survey also included a question about how long people had been programming profes
by yogthos 8y ago
This was an interesting tidbit as well from another analysis [1]:
This year’s survey also included a question about how long people had been programming professionally. 1 in 10 Clojure users have over 20+ years of developing experience; 49% had over 10+ years of experience. In comparison, only 42% of JVM developers have that much programming experience.
Clojure having a higher than average percentage of experienced developers directly contributes to the quality of the language and the ecosystem around it.
[1] https://jaxenter.com/clojure-2019-java-8-functional-155236.html https://jaxenter.com/clojure-2019-java-8-functional-155236.h...
- Scarbutt 8y agoThe reason for the clojure user base having an experienced majority is that is overwhelming and tedious for an inexperienced programmer to use Clojure to accomplished things, the "you already should know how that works and how to do that, roll your own" mantra dominates, in contrast to JS/Python, where there are good learning resources for almost everything you want to accomplished (for things that have already been done). There is just way more hand holding in these massive communities (JS/Python). Another big reason is that if you want to write production level code in Clojure, you have to know Java and its APIs well, the same for Clojurescript and Javascript, making the barrier to entry much bigger. So yes, IMO, right now Clojure is a language meant for experienced developers and my guess is that will remain so. The good thing is, Clojure and Rich brought some good concepts to mainstream use. He did a good marketing job.
- cmiles74 8y agoI'd like to highlight that knowledge of Java makes working with Clojure a lot easier. I think you can probably get pretty far by picking the right libraries and being careful, but eventually a mistake will be made and understanding Java makes it that much easier to track down the issue. I can't go back and test my theory (I've been doing Java for what feels like a century) but I feel like it will be difficult for people without a Java background to get a production Clojure project off the ground.
- saosebastiao 8y agoClojure was my first JVM language. It indeed was a nightmare. The java underpinnings affect everything you touch. Trying to use a library that didn't have a stable wrapper was terrible...you have to essentially learn two languages at the same time.
- agumonkey 8y agoMaybe a positive feedback loop. Clojure made experienced developers feel right at home with something neither too esoteric but concise, fast enough, safe enough. Hickey had 20~ years in the field too, I guess he shared the same concerns.
- darksaints 8y agoPercentages don't create software, people do. Absolute numbers are definitely more important for ecosystems. I'd wager that for every 1 clojure dev with 20+ years experience, Java has 100. I'd always consider language power to be an amplifier of experience...a 20+ year veteran that knows clojure like the back of his hand is going to be more productive than a java dev of similar experience. But the community size gap is huge. I deal with this as a scala programmer quite a bit. The ecosystem is pretty great for how small it is, but it's never going to be as good as java devs have it.
- yogthos 8y agoYou can directly leverage everything from Java and Js ecosystems with Clojure. So, I'm not sure I follow the argument here. If a useful library comes out, I can still use it from Clojure while enjoying the benefits of a much better language.
- saosebastiao 8y agoYou were the one to make the comparison to other JVM developers. Not sure why you would make the comparison if your whole point was that you can use both. Of course that point is spurious at best. Clojure devs can use java libraries about as well as java devs can use C libraries: it's an unidiomatic nightmare with tons of unsafe sharp edges. And java devs can even use clojure libraries, but they don't and probably never will. Using java libs from scala is a hell of a lot easier than using them from java, but I still avoid them like the plague. If we're comparing the relative merits of ecosystems for different languages, it makes sense to compare the ecosystems developed natively in that language, not lumping in the thousands of other ecosystems that technically can interop with it. My point is that the clojure ecosystem is weak in comparison to other more popular languages because experience in absolute quantities matter far more than percentages. The Arc ecosystem basically consists of a single 20+ year veteran, Paul Graham. That's 100% veteran composition. According to your line of argument, they surely must have the world's greatest programming language ecosystem. Does it? At best, the clojure ecosystem can claim to be good enough for most uses. That's certainly a lot better than the vast majority of languages. I'd be overjoyed if SML, Pony, MiniZinc, or Mercury had the ecosystem that clojure enjoys. But compared to Javascript, Java, Python, C++, C, Javascript, Swift, Ruby, etc., it's not even close.