Hi, I'm definitely not a top 1% developer and I use Clojure. Because I'm not a top 1% developer, I have found some success by picking tools that were a bit "on the outside looking in" and trying to essentially use these tools as leverage to be more personally productive.
I have attended the conj in the past and taken a bit of training in Clojure-based tools (Cascalog). These days, I am using Clojure for online programming challenges and various learning activities.
The Clojure community is like others - some people are very humble and welcoming. Some less so. But it feels like an open community in most cases and I say that as a true introvert.
My take on the idea of "top 1%" devs in Clojure is that there is a clear set of top Clojure hackers who are also invested in the craft of coding. It doesn't seem to be particularly ego-driven, but there are some incredibly hard-working devs in that group. I have observed a few, well-known names in that community invest a ton of time in reading academic papers, trying ideas out with Clojure implementations, and then quite publicly sharing the results. I think this was more what was being shared rather than chest-thumping of "oh, I'm at the Conj and you're not" perspective.
You completely read that into the post. At no point did the author include themselves in the one percent. They were commenting on that there are many programmers their that they consider one percenters in the clojure community.
I think it says much more about you that you read that into the post, than it says about the lisp community.
fwiw I only program as a hobby and while I think clojure is great to write in, it's a severe pain in the ass to figure out what the hell someone else was thinking when they wrote their code.
The problem with clojure and all lisps, as I see it, is that they make it easy on the author, hard on the reader. It's so simple to create your own special DSL that everyone does it. Now i have to learn a thousand languages.
> The problem with clojure and all lisps, as I see it, is that they make it easy on the author, hard on the reader. It's so simple to create your own special DSL that everyone does it. Now i have to learn a thousand languages.
This is a bit of a problem in Clojure because Lisp gives everyone the ability to play at being a language designer, but there's a reason that most language designers are extraordinarily experienced computer scientists: designing easily readable languages is hard.
Where, in my opinion, Lisp's DSL abilities shine especially well is when the Lisper is just taking a well understood domain with well understood terms and translating those terms into Lisp. Where Lisp's DSL abilities can shoot the Lisper in the foot is when the Lisper creates a DSL for a problem domain that's less understood, and where the terms used in the DSL will be less immediately obvious.
A good example of Lisp's DSL abilities really shining through is Hiccup, the HTML compiler. For instance:
is understandable because we understand the concepts of 'htmlness' 'bodyness' 'divness' 'h1ness'. We understand what it means for something to be a 'body' in the terms of HTML. However, when the domain the DSL is modelling isn't well known to the reader, then the DSL becomes significantly harder to understand than normal procedural code.
So yeah, Lisp can be a bit of a double-edged sword, but it's also possible to see how it acts as a gigantic force multiplier for small teams who understand their problem domain really, really well. This is why I believe it makes such a fantastic startup language: to write really good Lisp, you have to understand the problem you're trying to solve really freaking well, and that's a big part of running a successful startup.
> It's so simple to create your own special DSL that everyone does it. Now i have to learn a thousand languages.
Every library you use in any language is a DSL that you have to learn.
Lisps give you more power when defining a DSL, which means people can make them harder to use and understand, but it also means they have the power to make it easier to use and understand.
FWIW, I'm at Clojure/west too, I've met a disproportionate number of outstanding programmers, measured by both knowledge and productivity, and I definitely don't feel like I'm in the 1%.
Claiming that a community you belong to is full of smart people doesn't mean you're claiming to be one of them.
If it were really the language of the "really good top 1%" why is it so easy to use? Why is it so popular? I'd expect a more hellish experience from smart people. Maybe that's the point of koans http://clojurekoans.com/ ?
Agreed. Every group you speak to always thinks they are somehow the smartest people on earth. The funny part is they don't seem to realize that with every other group believing the same thing, maybe their subjective opinions aren't quite enough to gain them the title?
But no, of course Clojure people are all the smartest programmers and are making all the biggest advancements in computer science.
2 years in a clojure shop here, previous years spent in .NET shops. I wouldn't say it's not exclusively the top 1% of developers. It's that you are more likely to find those top developers in a community like that.
I'm not top 1%. I'd like to get there but I'm not there yet. Part of getting there is being in a community where 1-percenters (relative to software as a whole) are 1-in-10 or 1-in-5 as opposed to the 1-in-100 (by definition) of the industry at large.
Says someone part of the Clojure community. How does it feel to be one of these top 1% developers?
This kind of attitude is why the Lisp community has had a terrible reputation for five decades.