You have to know about persistent data structures (August Lilleaas' blog)
The first thing I look for when checking out a new programming language is immutable persistent data structures. This is an injury I've gotten from Clojure, which has them out of the box. I tend to structure my whole app around these kinds of data structures. They are smart, fast, efficient, immutable and amazing. In this post, I'll try to make you feel the same way about them. I'm not going to try to sell this one. Because it's a tough sell. As in, I know a few people that don't like immutable values, and I have no idea how to sell it to them. Personally, I like to use something that fundamentally eliminates a whole category of bugs from my code. Sorry. Couldn't resist being snarky. I don't want to trash talk those who don't like immutability. But I just don't get it. Let's say you have an immutable hash map or something. It's implemented using some kind of tree structure under the hood, like a lot of data structures are. The problem happens when we want to add a key to this map. The
The first thing I look for when checking out a new programming language is immutable persistent data structures. This is an injury I've gotten from Clojure, which has them out of the box. I tend to structure my whole app around these kinds of data structures. They are smart, fast, efficient, immutable and amazing. In this post, I'll try to make you feel the same way about them. Axiom: immutability is good I'm not going to try to sell this one. Because it's a tough sell. As in, I know a few people that don't like immutable values, and I have no idea how to sell it to them. Personally, I like to
Explore this link on the map →related reading
- Bringing Clojure programming to Enterpriseblogit.michelin.io
- The Clojure Style Guideguide.clojure.style
- Good examples of Clojure macros usage which demonstrate advantages of the language over the mainstream? - Stack Overflowstackoverflow.com
- abseil / Performance Hintsabseil.io
- Immutable object - Wikipediaen.wikipedia.org
- Build Your Own Databasenan.fyi
- Reading 11: Recursive Data Typesweb.mit.edu
- CRDTs go brrrjosephg.com
- Reddit - Please wait for verificationreddit.com
- Radarjuxt.pro
- Val on Programming: What makes a good REPL?vvvvalvalval.github.io
- Immutability in React: Should you mutate objects? - LogRocket Blogblog.logrocket.com