Love Letter to Clojure
> Contrast LISP to the complicated order of precedence operations you find in almost every other programming language, as well as their huge grammars and syntax. That takes a lot of brain space.I disagree. I rarely find myself slowed down by the grammar or operator precedence in Java and C#. In C++, only when I have to do something rather esoteric (pointer-to-member, member function template specializations, etc.).On the other hand, I critically rely on types. The IDE is able to narrow down suggestions about applicable methods to a handful. But since `js->clj` is a function `string -> map` (a very generic signature), there must be hundreds of them with the same signature. Context-sensitive discoverability with the help of IDE becomes nearly useless.Yes, that's how I learn APIs these days. Types, intellisense + reading the documentation to learn about possible edge cases. I cannot imagine being productive in something like Clojure.I also find Java 11 + VAVR rather pleasant to work with.