(no title)
solaxun | 3 years ago
- Very consistent, easy to keep the whole language in your head
- Stable, core rarely changes ("accretive only" mindset).
- REPL
- Focus on a handful of data structures which will solve 95% of the problems you face, rather than a deluge of complicated abstractions.
- Excellent concurrency primitives
- Access to Java libraries if a Clojure equivalent doesn't exist
- Macros
The only blemish for me was horrifically bad error messages.. other than that it's near perfect.
rawoke083600|3 years ago
japanman425|3 years ago
Is that not all programming languages. Practically have identical syntax for the problem they are solving. The thing which differs is “standard” libraries, which is not part of the language but a side effect of.
danuker|3 years ago
- functions
- classes
- list comprehensions
- generators
- inheritance
- operators
- string interpolation (a handful of syntaxes)
- module system hard to wrap your head around
- async (I think async is a workaround for getting more done with one thread because of the GIL). Pointless on machines with increasing number of cores. Just get multithreading right (and I want to learn Clojure's model - focusing on immutability) and you will not need async. Python can barely share memory across threads. I'm not sure you can get by without serialization.
postsantum|3 years ago
epgui|3 years ago