Earlier quoted context omitted.
Obligatory quibble: Java and Lisp take care of memory safety issues, but not thread safety issues.
I'll quibble back several things: Clojure has immutability on top of atoms/refs/agents, so while Rust is doing Nerf mutation with the borrow-checker, Clojure avoids it in the first place. That, and generally I think threads are overused. Mostly because spawning a new process has been needlessly slow in the past (especially on Windows). Even in C-land, I've seen so many cases where forking and IPC would be more than f…
ripgrep benefits from both having multiple threads and badass SIMD instructions.