1. 21
  1.  

  2. 9

    I have seen several people suggest that there is declining interest in the language.

    This diminished excitement always happens as something shifts from “new and innovative” to “mature and maintainable.” It’s why politicians would rather build a new road to a new neighborhood rather than invest in an old one. It’s the fallacy of growth that often drives poor thinking.

    Clojure is more than fine. It’s exciting. Old code runs. Newer initiatives like Spec2, deps.edn, Datomic Ions attempt to address long-standing issues around error messages, deployment, and safety checks. I’d much rather use Clojure 1.10 than 1.4. It’s a better language. Amazingly, I can still run my 1.4 code in 1.10 with no problems. But running old code doesn’t seem to move the needle.

    The non-tech issues, such as how slowly the core team accepts community contributions, are probably the most concerning. But that’s the tradeoff of a language created with very strong opinions. The extreme alternative is Common Lisp. CL is amazing but I find it far less practical.

    1. 4

      Since 2017 the interest for Clojure dropped significantly, almost to zero, to a 2008 level (the language was created in 2007): https://trends.google.com/trends/explore?date=all&q=%2Fm%2F03yb8hb

      This sounds scary. No one would invest in such a curve.

      More, the founders / the company behind Clojure were bought up last year by a bank. We all know what this means in other areas.

      And so on.

      I’ve started learning Clojure a month ago. And these are my back-thoughts on it.

      1. 9

        The trends chart for Apache Spark shows interest in that technology near a 5-year low and trending downward. Interest in SQL, Java, JavaScript have been on downward trajectories for 15+ years, and are currently at an interest level metric very near to Clojure.

        Would it be fair to call it scary to invest in those technologies?

        1. 8

          Since 2017 the interest for Clojure dropped significantly, almost to zero, to a 2008 level (the language was created in 2007): https://trends.google.com/trends/explore?date=all&q=%2Fm%2F03yb8hb

          This sounds scary. No one would invest in such a curve.

          If you think that’s scary, wait ’til you see the same graph for Java!

          https://trends.google.com/trends/explore?date=all&q=%2Fm%2F07sbkfb

          Or C#!

          https://trends.google.com/trends/explore?date=all&q=%2Fm%2F07657k

          Or JavaScript!

          https://trends.google.com/trends/explore?date=all&q=%2Fm%2F02p97

          Or C!

          https://trends.google.com/trends/explore?date=all&q=%2Fm%2F01t6b

          Or C++!

          https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0jgqg

          I used to think Google Trends correlated with language popularity, but these are pretty strong counterexamples.

          1. 5

            Right, G Trends shows even React is in a serious downward spiral.

            Point taken, thanks for everybody clarifying this.

          2. 5

            More, the founders / the company behind Clojure were bought up last year by a bank. We all know what this means in other areas.

            I don’t. What’s the concern about being owned by a bank?

            1. 3

              More, the founders / the company behind Clojure were bought up last year by a bank. We all know what this means in other areas.

              This also happened to Elixir and it seems to be doing fine?

              1. 3

                Google trends isn’t really a useful metric. What’s more interesting is that there are more and more companies using Clojure commercially. For example, we had Clojure/north conference in Toronto where lots of people presented from companies that are entirely built on Clojure stack. There are lots of new companies popping up doing innovative stuff with Clojure every year. Roam Research being a good example.

                The communities on Slack, Reddit, and Clojureverse are very active, and constantly growing.

                There are now projects like Clojurists Together for funding open source ecosystem and ensuring that it’s sustainable. Incidentally, one of the first things that happened from Cognitect being bought by Nubank was that they started funding open source developers on Github.

                Clojure is a mature language, with a large ecosystem around it, and a very active community. It’s not a hype driven language, but it’s very much sustainable and has been for many years now.

                1. 1

                  Definitely, I choose Clojure/Script as an alternative to JavaScript web dev due to all the above.

                  However I still don’t feel safe, because of the language popularity. For example on the 2020 Stack Overflow Dev Survey (https://insights.stackoverflow.com/survey/2020#technology) Clojure didn’t hit the list. A presence there would be reassuring.

                  I see Clojure a one way path: take a deep breath, go down into the rabbit hole (yes, Clojure learning is not simple at all, Clojure is unlike others) and never look back.

                  1. 2

                    This seems like a pretty limited perspective… Learn more languages and you’ll see that Clojure is easier to learn (and better to use) than most if not all.

                    If the syntax, style, or ideas seem foreign, than all the better! You can write (C, Lisp, Cobol) in any language, and learning the pros and cons of each style is never time wasted.

                    1. 1

                      Clojure is the 9th language I’m learning.

                      So far I find it so strange like Assembly. And functional programming such a shift when I transitioned from procedural programming (C) to object-oriented programming (C++).

                      These makes one cautious.

                      For example, with React was no question to learn it, to invest in. It was the solution for the problem I was waiting for ages.

                      On Clojure I can’t see really that clear path. Functional programming, for example, is solved elsewhere more thoroughly and in a simpler way (https://github.com/MostlyAdequate/mostly-adequate-guide).

                      That’s why language popularity would be a good indicator whether to adopt it, or not.

                      However, on HN, the comments on this same article are more alarming: https://news.ycombinator.com/item?id=27054839

                      It seems to explain why the language popularity is dropping. Clojure starts as a nice promise, then problems rise, people flock away.

                      1. 12

                        Been writing Clojure professionally for a little over nine years, both on teams of hundreds and as a solo engineer. I can’t speak to popularity, but Clojure has been (and remains!) an exceedingly nice language choice for long-running services and desktop applications. It combines a well-designed standard library, reasonable performance, an emphasis on immutability and concurrency-safety without being dogmatic about evaluation semantics, just the right amount of syntax, excellent JVM interop, and access to a huge swath of Clojure and other JVM libraries. It’s a generally mature, stable language which solves data-oriented problems well. The major drawbacks, in my view, are a lack of static typing (though I’ve used spec, schema, and core.typed to some avail here), unnecessarily unhelpful error messages, slow (~5 to ~20s) startup times, and that working with JVM primitives efficiently is more difficult than one might like. And, of course the usual JVM drawbacks: garbage collection, for instance.

                        None of this is really new per se. I wouldn’t worry too much about popularity metrics or library churn rate–one of the nice things about Clojure is that it’s fairly stable, and libraries from a decade ago tend to work basically unchanged. After Scala, that was a breath of fresh air for me. What I’d ask, were I in your position, is whether the language’s ergonomics, libraries, and speed are suitable for the kind of work you’re trying to do.

                    2. 2

                      My team’s been using Clojure for around a decade now, and things have only been getting better all around in that time. I think the most important part is that there are a lot of companies using it nowadays as their core platform. There is a lot of commercial interest in keeping the language and its ecosystem alive and active. I don’t think Clojure will ever get big like Java or Python, but I really don’t see it going away either at this point.

                      It’s also worth noting that Clojure can be sustainable with a smaller community because it piggy backs on JVM and Js runtimes. We have access to entire ecosystems from these platforms, and can seamlessly leverage all the work from the broader community.

                  2. 2

                    I’m not so sure about Google trends as real data point… but there seems to be less buzz, but people are still using it.. and I don’t think there ever was a real hype.

                    I had noticed that my personal interest had diminished a bit and when most of the people from the irc channel migrated to Slack I didn’t join them. Stuff still seems to get regular updates and as just a casual user no Clojure release really excited or disturbed me - that could be because I’d neber used it to its full potential (likely) or that they were just iterating in small steps and not being revolutionary (also likely). I don’t think I’ve had to do meaningful changes over the years to the codebases I started between 2011 and 2013 and they run on the lastest Clojure version…

                  3. 2

                    If you’re a professional Clojure developer, or want to be, my team at Apple in Austin is hiring