At least a dozen big companies are running on large Clojure codebases: Apple, Cisco, Walmart Labs, Funding Circle, Nubank, Metabase, CircleCI, Grammarly, to name a few. Many smaller companies built their entire businesses using Clojure stack.
The days when Clojure was just "a toy to impress your friends" are long gone. It's a mature ecosystem for the serious craft.
Today it's the most widely used FP language; it has gained popularity and doing better than OCaml, Erlang/Elixir, Elm, Haskell, F#, and even Scala.
Clojure is slowly but steadily growing. Without any support from the big players. I think the core Clojure team has fewer people than teams at Facebook and Google for front-end libraries like React and Angular. Podcasts are being recorded, books published, conferences organized.
Skeptics often criticize "not growing, small but very vocal community", they call it "a cult of Rich Hickey" and pronounce the language to be dying. The truth is - many companies realizing the incredible pragmatism of ideas behind Clojure.
I follow Clojure quite closely and am a huge booster of it, I even donate to a few projects, but I do think that the attitude of the community seems a bit too dismissive of questions about its adoption in the face of what seem to be pretty clear trends. A quick look on any job search site will show you that there are more positions asking for Elixir, and about 20x as many postings mentioning Scala. Of the positions I find on LinkedIn, even maybe half of the positions mentioning Clojure are mentioning it generally as in "experience with FP languages like Haskell/Elm/Clojure/Scala is a plus" rather than directly seeking Clojure devs. It's also lost about 80% of its search traffic in the last 3 years according to Google Trends (https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...).
It looks like despite how awesome Clojure is, there is something keeping it from achieving growth in adoption and the community should look at how to address that rather than look the other way.
Clojure is a Lisp. Lispers simply failed to convince the younger generation of programmers how powerful and versatile Lisp can be. Any Lisp dialect these days gets rather automatically rejected. Of course, Clojure (or any other Lisp dialect) currently would struggle to gain momentum and compete with other non-lispy languages.
But if you look at the stuff that Lispers are capable of incubating, you'd be amazed. Today Clojurists figuring out interop with Python, Julia and R. They've built Clojure-like PLs for other language ecosystems: Golang, Lua, Erlang, etc. They are pushing Clojurescript on microcontrollers. They're building neural networks, graph databases, and mobile apps. They're borrowing good ideas from other languages, frameworks, and tools.
This isn't a sprint, it's a marathon. Look at the bigger picture. Notice things like Idris, which uses Chez Scheme for its backend. Chez Scheme is almost 40 years old!
And within various Lisps, Clojure is undoubtedly a resounding success. If anything at this point truly could de-throne Clojure, it won't be something like Elixir. It would be a better, faster, perhaps more efficient fork of Clojure.
What's keeping it from achieving growth in adoption is not something internal to Clojure. Or something that Clojurists can turn around. It's the fact that it is a Lisp. And that's not going to change. In fact, before Clojure, Lisps seemed to be getting out of fashion. Clojure made Lisp (somewhat) popular again.
If the Clojure community had rallied round a single framework like Rails or Django the adoption story would be different. Instead we see fragmentation and one-man projects like Fulcro. It's nothing to do with Lisp syntax.
Ah, here we go again. No, you don't need frameworks for a programming language to gain popularity.
I could use SQL and Emacs Lisp as examples (of languages doing fine with no frameworks). Still, you'd probably say something like: "I meant in the context of general-purpose languages".
Python has not become popular solely because of Django, or Java because of Spring, or Javascript due to Angular, or C# because of ASP.Net. Rails leading to broader adoption of Ruby is rather an aberration than normalcy.
What is a framework but the collection of prescriptive "recipes" that are not always so easily compatible with other frameworks?
There aren't many Clojure frameworks because the Clojure ecosystem itself is a framework with many interchangeable parts. Nothing is stopping you, for example, from incorporating both, Fulcro and Re-frame in the same app. Or using Integrant, Trapperkeeper, and Mount - all in one project. But have you ever tried using both, Angular and React in the same Javascript app? It's a glorious nightmare.
Everyone is biased; people who trained to write in Rails would want to see "a framework"; those who come from Racket perhaps would wish for a better macro system, those who like static-type systems may argue that Clojure needs one, some want better error messages, some proper tail-recursion, etc.
There's no tool, library, framework, or language with no deficiencies, and Clojure is not an exemption. It just goes to personal preference, and there are many, many programmers who absolutely love building things with Clojure. I think the language has passed the threshold of "critical mass", there's way too many people and companies invested heavily in it; it's not going away anytime soon. It may not expand rapidly and gain wide adoption and that's fine. It steadily, slowly keeps growing.
Yes, and that framework is called GNU Emacs. Emacs Lisp doesn't have "Rails-like" frameworks. Yes, Emacs has different distributions like Spacemacs and Doom, and perhaps someone may argue that those are precisely fit the term "framework", but then if we accept it's okay to get wishy-washy with the term, I can probably find you at least several Clojure libraries, each could be considered "a framework".
The framework for Emacs Lisp is a library to work with text, I/O, threads, buffers/windows/frames, textual UIs, graphic UIs, etc. See the entries in the Emacs Lisp reference manual:
> The truth is - many companies realizing the incredible pragmatism of ideas behind Clojure.
My employer is moving away from cljoure after 100% of the stack on clojure/clojurescript for over 10 yrs. All the companies that you mentioned ( with the exception of nubank) adopted Clojure years ago. Curious to know if there are new companies picking clojure, your comment seems to imply so.
I'm not an investor or someone whose job is to track companies and their tech stacks (I can't list them here), but there are many, many medium and small startups that adopted Clojure not too long ago (especially in European countries). Pitch.com was founded in 2018, Clubhouse.io, Metabase in 2014; Ladder in 2015; Flexiana, Watchful.io in 2016. Mind that these are official dates when the companies were established, some took at least a year, two, or even more to get going.
Your case is anecdotal, and I bet it has little to do with Clojure itself and primarily is driven by some other factors.
There are tons of talks from various Clojure conferences on Youtube, where the speakers come from different startups.
Scala is on the curveball trajectory and might be at the start of a backslide. Many Scala projects reportedly are moving away from Scala, choosing new projects to be built in Kotlin and sometimes Java (since newly added features).
Right, and Google was using Golang extensively internally - but that doesn't mean it made the impact that docker's use did.
I was curious about specific products/projects, seems like you may be able to answer my question. Do you know of any large product/projects in particular that are written in clojure and very popular?
>Today it's the most widely used FP language; it has gained popularity and doing better than OCaml, Erlang/Elixir, Elm, Haskell, F#, and even Scala.
I find it very hard to believe that clojure is beating out F#. F# has been included in the .NET runtime. Anyone who has c# automagically has f# available to them.
Look, I'm not trying to bash on F#. It's a good programming language. To be honest, I wish it gained more traction and popularity, and I wish C# was abandoned (like VB.net), and more people moved to F#. But that's simply not happening. It's not happening for the past 15+ years. I used to write programs for .Net, I'm not a complete outsider. Unfortunately, F# is still small, even within .Net. You may throw random words at me, if it makes you feel better, I don't care. People get emotionally attached to the tools they use and that's understandable.
You may like F#, OCaml, Haskell more, or you may just hate Clojure (it's okay), but that is the truth - among other languages with a strong FP emphasis, Clojure currently is the most widely used in the industry. It doesn't make it better or worse.
May I remind you though, the use of FP langs as a whole is still so small compared to Python, Javascript, Java, that it almost makes no difference, beyond the fact that FP languages are huge influencers and affect the evolution of other PLs.
Your source doesn't say anything about Clojure's popularity relative to Scala's. In any case popularity != adoption. Indeed.co.uk has 702 Scala jobs and 82 Clojure jobs for the UK.
Add to this a lot of people are changing jobs and pushing for using more alternative languages or exploring new languages and as a result many people are building in what they want instead of what they are forced to use at work. The sibling comment about roam is a good example as they have had a lot of press lately.
Lisps are cool, Clojure is cool but that's about it, just like Scheme is cool.
HN probably has the biggest crowd of devs that know (and like) Lisps, even if they don't use it for everyday things. Anything about Lisps gets upvoted quickly but if you look at Clojure posts here in HN, you'll see that all the comments don't really have any substance (also, look at the point to comments ratio of Clojure posts.).
I'm curious if there is a particular larger project that is using clojure that's driving a lot of this?
Or particular JVM application like Kafka?