HackerTube

Clojure Concurrency - Rich Hickey

ClojureTV5 HN recommenders · recommended in 5 months, 2013–2023
YouTube
talk · intermediate · evergreen · 2013–2023 on HN

Rich Hickey's long presentation on Clojure and concurrency covers locking and immutability, then goes in depth on refs, transactions and agents. It ends with a multithreaded ant colony simulation demo.

Seen as the definitive explanation of why traditional concurrency is hard and how Clojure's model addresses it, with some commenters crediting it with changing their careers.

9 comments from Hacker News

@cmiles742023-08 · in “(Next Rich)”

Rich presented Clojure to our local software development group in 2008, I've been working with Clojure (both as a hobbyist and eventually professionally) ever since. ▶ this video At that time I had been working with Java for years, both the conciseness of the code and the interactivity were flat-out amazing to me. It's saved me time and made me 100 times more productive. Congratulations to Rich, I am also extremely grateful for his work!

Strongly recommends View on HN
@dominotw2020-05 · in “Optimising for Concurrency: Comparing the BEAM and JVM virtual machines”

I started to write a response but remembered rich hickey talk I went to where he lays out problems with java style concurrency Clojure Concurrency - Rich Hickey ▶ this video Even though the talk is called clojure concurrency, first half of the talk is about the problems clojure solving in traditional concurrency. one my favorite talks I ever went to.

Strongly recommends View on HN
@cellularmitosis2023-04 · in “REBL”

> I have yet to encounter a single problem that is solved more elegantly in Clojure than the equivalent Pythonic solution. A good place to start would be implementing Rich Hickey’s ant colony demo in both Python and Clojure. ▶ this video

Recommends View on HN
@jwr2013-12 · in “Why Johnny Can’t Write Multithreaded Programs”

> No, no, no. If you are writing multithreaded programs, you _will_ have locks, period. The question is whether you explicitly use them or if they are hidden somewhere in your libraries, frameworks, etc. Actually, the latter are much more difficult to debug. You say that and then proceed to call the article ridiculous. Well, I write and maintain large applications in Clojure. The code uses a multitude of threads for various purposes, with different lifetimes. And I've yet to see a single explicit lock. What's more important, though, is that I've yet to see a race condition, a deadlock, or data corruption, which I find pretty impressive. I do agree that you need to understand what is happening — but I disagree with your assumption that the basic tools are all on the same level. They are not, which Clojure clearly demonstrates. I won't go into details, because Rich Hickey explains it much, much better than I ever will be able to — here's an example of his talk: ▶ this video

Recommends View on HN
@bachback2013-07 · in “Why bother learning Clojure?”

I like Rich talks and his main point for his invention seems to be: to get concurrency right. Clojure Concurrency ▶ this video

Recommends View on HN