Person 1 adds code that uses this with Pandas. Person 2 sees the csvbase:// URIs and copy/pastes them to use with some other library Foozle that uses URIs and it works because Foozle also happens to use fsspec. Foozle migrates off of fsspec to some other filesystem wrapper. 3 years later, after persons 1 and 2 have left the company, person 3 bumps the version of Foozle the project uses and suddenly tests are failing because they can't resolve csvbase:// URIs, but the Foozle release notes say nothing about removing support for csvbase:// URIs.
The opening of the animation has the phrase “A Mickey Mouse Sound Cartoon” on screen. IANAL but I saw on the news that this means the character’s name and old-style likeness are fair game for new content by anybody.
The most common point is that they're safe to share between threads making parallel algorithms easier to invent, understand, and implement correctly.
You can also safely re-use sub-structures without performing a deep copy. For example, if you want to keep a sub-tree around for later you can do that in O(1) time because it's safe to keep a reference to it. If it is a mutable tree you don't know what's going to happen to it so you need to do a deep copy of the entire sub-tree you're holding on to. This can save a lot on memory allocation and copying depending on your use case.
I think starting with Standard ML is a good idea. It is the core of ocaml and really highlights the differences with other approaches to programming. I went from SML to ocaml to Haskell.
I've been using Java since version 1.1 and I've seen features added that required a new version of the language spec to go through committee and get implemented before we got to use them where you could just add these features yourself at the top of any Lisp file and then immediately start using them. For example consider the try-with-resources [0] syntax sugar. So instead of thinking "I never actually ran into a need for them", think of new language features that you have started using: those are the kinds of things you could've added yourself.
Also look at any kind of code-gen tooling like parser generators or record specifications like Protocol Buffers as examples of what you could do within the language.
It's clear he can do it: the ending of Anathem ties up everything very neatly and it is hard for me to imagine any major events happening in the characters' lifetimes that would rival the plot arc they've been through.
I feel that his novels are becoming more and more mainstream friendly, and Termination Shock is my suggestion. The world is very similar to our own, set in the near future (versus The Diamond Age) of our planet (versus Anathem) and is very relatable.
My other suggestions would be REAMDE for people who are into action movies or spy novels, or the first half of Seveneves for space nerds.
A large enough increase in supply could cause property values to level off while also increasing the vacancy rate for rental properties. I think the idea is that those circumstances would make real estate no longer attractive as an investment.
In a Scrabble AI coding contest I discovered the GADDAG which is like a trie but indexes all of the words forwards and backwards from any starting point within the words.