4 ms·
A few things stand out in this article: 1. Rich Hickey is quoted in the article, Clojure is mentioned in two other instances, yet Clojure itself is never subje
by taylodl 6y ago
A few things stand out in this article:
1. Rich Hickey is quoted in the article, Clojure is mentioned in two other instances, yet Clojure itself is never subjected to the author's evaluation. That seems strange.
2. The quibble about NaN === NaN being false in JavaScript. That's what every language should be doing since that behavior explicitly defined in the IEEE 754 standard. NaN === NaN should always return false and NaN != NaN should always return true. It's in the standard.
3. Dynamic typing is bad. There's pros and cons to dynamic typing. Saying dynamic typing is bad for all circumstances simply reveals a lack of professional maturity and subtlety when selecting tools. Yes, there are many scenarios where the benefits of dynamic typing are outweighed by its cons, but likewise there are many scenarios where the benefits of dynamic typing far outweigh its cons. Literally, YMMV depending upon the problem you're trying to solve.
4. Lack of garbage collection is bad. Like dynamic typing this is not a universal. There are times when you do not want garbage collection. Most of us aren't working in such domains and so yeah, we want garbage collection. The author fails to recognize the existence of domains where garbage collection is harmful to the runtime environment.
Bottom line? It's good to have choice. We're not all programming in the same domains and working on the same challenges. The trade offs we're going to make based off the pros/cons of each feature are going to be different - and that's a good thing!
As for me, I've been programming for nearly 40 years now and my go-to modern languages are JavaScript, Python, Go and Rust. They're modern, have plenty of support and libraries, lots of people know them and want to use them, AND they keep this old-timer's CV up-to-date! I learned long ago the key to success is to be able to get stuff done, not learn a bunch of languages and don't worry about what anyone else thinks is cool.