Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There's a handy chart in "The Joy of Clojure" that I refer to whenever I'm trying to tackle concurrency problems:

    |              | ref | agent | atom | var |
    | coordinated  | x   |       |      |     |
    | asynchronous |     | x     |      |     |
    | retriable    | x   |       | x    |     |
    | thread-local |     |       |      | x   |
Turns out I have never needed coordinated, synchronous stuff. I have dabbled with agents, but just for an Advent of Code problem.

I do like that 63% (!!) of clojure repos have no mutable references at all - that tracks very strongly with my experience. And that the average number of mutable references is less than 2! Immutability can carry you a long ways, and I love that I can trust that contract. On the other hand, it's nice that I can opt in to mutation really easily if I need it.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: