Clojure: The Documentary, official trailer [video]

(youtube.com)

254 points | by fogus 4 days ago

12 comments

  • jwr 6 hours ago
    I've been running my business for 10 years now, relying on Clojure and ClojureScript. It is amazing to be able to base one's livelihood on a foundation that is so stable and well designed. Clojure has been designed by a very smart and very experienced person, and it shows. It has then been maintained and extended by a team built around a culture of maturity and stability, and the result is something you can rely on.

    The fact that I can use the same language to develop business model code that runs on both the client and the server, or that I don't have to use a different on-the-wire format for sending data between them (EDN does the job great) is just icing on the cake in this context.

    I am very thankful to Rich and the entire Clojure (and ClojureScript) teams for giving me access to all their work (for free!).

    BTW, if you haven't seen any of Rich's talks, go see them — they are worth it even if you do not intend to use Clojure.

    • abyssin 6 hours ago
      Rich's talks have been the apex of my programming career. I didn't like sitting in front of a computer to the extent needed to make a living from it, so I moved on to another industry. And maybe I wasn't smart enough to become competent in Clojure. But I'm thankful for the eureka moments that Rich offered me. He's such a beautiful mind.
    • NeutralForest 4 hours ago
      I would love to use Clojure but there are basically no jobs in my area with the language. Seems like the Nordics like Clojure but I'd need to move.

      The very good backwards compatibility is attractive but as the result of the small community, there's also a lot of abandoned packages and fewer QoL packages (formatters, linters, etc); I know there are some but for example I had setup `cljfmt` in Emacs and it wouldn't work, didn't look further.

      • weavejester 17 minutes ago
        cljfmt is included with both Clojure-LSP and CIDER, so if you have either installed it should work out of the box.

        With LSP mode the standard `lsp-format-region` and `lsp-format-buffer` commands should work, and on the CIDER side `cider-format-defun`, `cider-format-region` and `cider-format-buffer` should also invoke cljfmt.

  • shivekkhurana 1 hour ago
    I have been writing Clojure since 2017. Unlike every other language that helps you achieve a task, Clojure helped me think.

    Clojure for me is a rich vocabulary to talk interact with data. When Jank becomes stable, Clojure will be unstoppable.

  • lukashrb 5 hours ago
    Every time I write another DTO → domain → DB mapping layer in Kotlin/TypeScript, I think about Clojure. I’m pretty grateful I learned it. It really changed how I think about software. Still, it’s a trade: less ceremony, more responsibility.
  • asxndu 1 hour ago
    Where do I actually get the documentary on April 16th?
    • christophilus 1 hour ago
      I think it’ll be on that same YouTube channel.
  • vaylian 7 hours ago
    Clojure is the language that made me "understand Lisp", as originally stated by Eric Raymond and citet by Paul Graham: https://paulgraham.com/avg.html

    It seems like a small thing, but Clojure's choice to open up for other types of parentheses made seeing the structure of lisp programs much easier. This helped me understand how code is data and how macros are functions that can transform both code and data.

    An important design philosophy (which is also hinted at in the trailer) is "simplicity". Clojure is designed to give you the tools to build simple solutions to the problems that you want to solve. It approaches mutability, which is one of the key sources of complexity in programming, with immutable data structures. It's a really clever way to do functional programming where your data is copied a lot but the copies are lightweight.

    I don't write Clojure any more these days. I'm mostly doing Rust. But it is true what Eric Raymond said: Lisp has made me a better programmer.

    Also: XKCD 224 and 297

    • zerr 3 hours ago
      Lisp philosophy is all about inventing languages (libraries), creating abstractions for each problem. Clojure is all about using primitive data types and maps everywhere explicitly.
      • midnight_eclair 1 hour ago
        virtually all abstractions are built on top of primitive data types and mappings
  • midnight_eclair 1 hour ago
    the wonders of visibility algorithm: https://news.ycombinator.com/item?id=47556827
  • boriskourt 4 hours ago
    I am so glad that this has been made! And happy that it features so many familiar faces from the last two decades of Clojure. There is a lot more to a programming language than just the code committed.
  • arikrahman 6 hours ago
    I'm forever grateful for putting me onto this amazing language and even more amazing community. I know many others that feel the same way.
  • coolThingsFirst 2 hours ago
    Is this lang for web dev?
    • embedding-shape 2 hours ago
      Yes, web development is a pleasure with Clojure.

      On the backend side, you start your server once, and whenever you change it locally, you apply what you changed directly to the running process, so you don't lose any state and without having to restart the server at all, so iterating on the program becomes very easy. Bugs are easy to track down too, as you can evaluate parts ("forms") of the program inside the process itself, debugging becomes a breeze.

      On the frontend side, you have ClojureScript that basically enables the same but in a browser environment. Usually I have the browser on the right, my editor on the left, and whenever I "evaluate a function", it runs in the browser context, so again same thing; the frontend keeps the same state even after your changes, so no more "make change -> wait for compilation -> get frontend into the state that reproduces the issue -> output debug info -> make change again", you just change one part, see the page update and then continue changing.

      If you've used React+Redux (or similar) before, it's basically that experience, but much tighter and together with code evaluation inside of the browser context. If I recall correctly, Redux was pretty much directly inspired by ClojureScript and Reagent in the first place, I think Abramov even referenced ClojureScritp/Reagent in the first Redux talk.

    • emoII 2 hours ago
      Yes, as ClojureScript
  • waynesonfire 7 hours ago
    Very cool. My first instinct was to buy a Clojure book.. so for those that had the same,

    Programming Clojure, Fourth Edition 4th Edition is on pre-order scheduled to be released May 2026.

    https://pragprog.com/titles/shcloj4/programming-clojure-four...

    • embedding-shape 2 hours ago
      Same! I think I acquired 2-3 books that I tried to slog through in order to understand Clojure, but never really clicked until I bought and went through "Clojure for the Brave and True", which somehow made it click. Also available for free online, highly recommend: https://www.braveclojure.com/
  • yakshaving_jgt 4 hours ago
    > `a -> a`; `[a] -> [a]`; It means nothing! It tells you nothing!

    — Rich Hickey, Effective Programs[0]

    [0]: https://www.youtube.com/watch?v=2V1FtfBDsLU&t=4020s

    ---

    A disastrously poor take. I used to work at a Clojure company, and there's no chance I'd ever go back to that.

    • embedding-shape 4 hours ago
      I used to work in a Clojure company, but you wouldn't believe how loudly the lead developer chewed when we had lunch, never Clojure again after that.
  • jakeinspace 10 hours ago
    I'll never be as cool as them.
    • gleenn 9 hours ago
      Rich Hickey, Alex Miller, Stu Holloway, Nathan Marz, and the other people in this video are all very impressive, intelligent people. But never undercount how much if their success is due to consistent effort. They worked hard at something they cared about with depth, and also longevity. Anyone can learn Clojure with a bit of skill and tenacity. Anyone can contribute to the community in a meaningful way. It takes effort though. Please join us and contribute back to the community in ways that help you scratch an itch, give it some polish, and then share it. Or join the forums on Clojurians on Zulip. Come to Clojure/Conj, it was fantastic last year.
    • jimbokun 9 hours ago
      Well yeah how can you compete with a programming language created by the 4th Doctor?
    • kqr 6 hours ago
      I feel this way about Common Lisp hackers too. What they have going on is very impressive wizardry. I want that. But whenever I try, it just does not mesh with my brain and I end up going back to Haskell and its compile-fix-compile-run loop instead.
    • ares623 8 hours ago
      But with AI now is your/everyone's chance!
      • vaylian 6 hours ago
        AI might help you with building the thing that you want. But AI can't help you with finding out what is worthwhile wanting.

        See also Rich Hickey's remarks on AI: https://www.youtube.com/watch?v=MLDwbhuNvZo

        • ares623 5 hours ago
          It was sarcasm. My point was that with AI, anyone has a chance to make their name about this "amazing new tech" just like Rich and contemporaries did in the 2010's. Not AI as the means to an end, but as the end in itself.
      • zshrdlu 7 hours ago
        Supposedly. If the productivity boost is good for commercial software it's good for open source.