Live data from Hacker News

Official Clojure Documentary page with Video, Shownotes, and Links

clojure.org

71–80 of 127 posts

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#71

Earlier quoted context omitted.

Sure, so once a week or so you need to restart the process if you end up like that. What I've seen people do, is restart the process after each change like you typically do in other languages, rather than evaluating the current form...

The thing that happens to me is that I'll get something working in the REPL, then try to deploy it and it breaks—because unbeknownst to me, I had gotten my REPL into some state where everything was working, but a cold start doesn't look the same. Is this a skill issue? Absolutely. Do I still restart the REPL frequently (not after every def, but often) just to make sure I'm working with the same environment my program…

Couldn't you have one test that requires your -main and runs it?

Just fire that off every now and then?

Basically the same thing, but you don't lose repl state

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#72

The double belt buckle is a pretty classic diffusion model artifact — it struggles with symmetrical accessories because it's essentially pattern-matching textures rather than understanding "this person is wearing one belt." Same reason you see six-fingered hands. The repeated code on the steps is actually the more interesting tell to me. An artist would vary that deliberately for visual interest. A model just tiles w…

It was hand drawn by an artist. Indiana Jones (the obvious inspiration) wore two belts, one for his pants, one for his whip/holster. The code was provided by Rich.

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#73

is clojure still relevant in the post agentic coding reality that opens up pretty much all esoteric languages to everyone ? back in the day used to use clojure to write a fintech app but not sure if it is still relevant has uses vs other langs that have emerged

This is like asking if violins are still relevant because we have cars now.

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#74
post #20

Earlier quoted context omitted.

Clojure had lousy error messages, agents deal with this well. Clojure is capable of producing some of the most dense code I’ve ever seen, so manual code reviews really start to feel like a bottleneck unless your goal is to level up.

> Clojure is capable of producing some of the most dense code I’ve ever seen, so manual code reviews really start to feel like For me it's the opposite, the dense code is easier to review, because the proposed changes are almost always smaller and more informative. Contrast a change in a typical TypeScript project where changes propagate across tens of files, that you need to jump in-between just to understand the co…

Couldn't agree more. And I actually kind of like Typescript, but man, typical Typescript projects are so verbose and sprawling, it's crazy.

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#75

Earlier quoted context omitted.

> What surprised me the most in working with Clojure commercially is how many commercial developers did not get the ethos of the language or have watched the rich hickey talks or use the REPL Yeah, this continues to stick out. The amount of people I've come across who do Clojure development and restart the application (really, the JVM process, kill it and launch it again, over and over!) is way too high, considering…

Yes, but without a clean REPL you can't easily be sure that your var definitions are what you think they are.

> Yes, but without a clean REPL you can't easily be sure that your var definitions are what you think they are.

vars and functions too. It's the biggest issue: the inevitable mismatch after a while.

As soon as I've got any doubt there might be a stable cache or a mismatch, I'll just "nuke the current CIDER buffers and relaunch cider-jack-in-clj&cljs". And it takes 1.3 seconds.

I'll also regularly spawn, from a terminal next to my Emacs, all the unit tests related to what I'm working on, in its own JVM / process(es). I'm not talking about running tests on commit (which I can do too). I'm not talking about running tests when I modify a function.

I was there 3000 years ago when Java 1.1 was using green threads on Linux and using Java on Linux required a serious leap of faith (but I knew... I knew it'd take the world... And I knew great things like Clojure would then come).

Now a JVM starts and exits in 40 ms.

Emacs starts and exit, with 4 000 lines of elisp customization I created over the years, in 1.1s.

I cider-jack-in-clj&cljs spawning both a CLJ and a CLJS REPL in 1.3s.

Clojure devs definitely should modify vars and redefine functions at runtime and use the REPL etc.

But there's no need to let a REPL live for one week like GP is suggesting. I can launch my entire app, including Emacs and two REPLs, in 2.5s. While at the same time having all my unit tests being launched in another process.

At 2.5s to "restart the world", there's no reason not to do it more than once a week.

P.S: also stale caches are a thing in this world. It's sad but it's simply how it is. How it's always been. Restarting the whole world, while in dev, helps also deal with a great many stale caches issues that may not be related to Clojure but to other things (e.g. I didn't invent the "disable cache" button in browsers' developer tools and there's a reason it's there).

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#77

I've always enjoyed using Clojure. Unfortunately, most of the things I do require interacting with the C world, so it has never been a real option as my primary language.

I also interact a ton with C and C++, but it's easy today to have Claude write a Project Panama wrapper and then put a nice Clojure veneer on top of the Java.

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#78

I've always enjoyed using Clojure. Unfortunately, most of the things I do require interacting with the C world, so it has never been a real option as my primary language.

You might be interested in https://jank-lang.org/ - still early days but full C/C++ interop is the plan.

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#79

Earlier quoted context omitted.

Personally this is a hidden trick I use. Ask AI to build something. By default it will use python. Sometimes js or typescript. Ask then to do the same thing in Clojure. The result is generally an order of magnitude better. Shorter, easier to read for both humans and llm. Easier to adapt to changes.

Not to mention that changes are easier to review, because there is less of them. Same semantic diff for JavaScript and Clojure looks vastly different, and I'll favor to review Clojure changes any day of the week.

Autochrome [0] make reviewing Clojure diffs from AI really easy.

[0] https://github.com/ladderlife/autochrome

Re: Official Clojure Documentary page with Video, Shownotes, and Links

#80

I’ve been using Clojure since 2013, and can say that it has been an enormous positive force in my life. I’ve been a very unorthodox user, most of my artworks were built using Clojure in some way. But I’ve also worked in industry, and there I think Clojure helped me avoid burnout on more than one occasion. Especially when running a startup built half on it :) It’s also been a privilege to participate in the community.…

I'm not sure what you use ti for, but your website is beautiful and your work is really striking.
Post reply on HN