> All the examples above are from Reason, Swift, Kotlin and Dart. However, many of the ideas above can already be found in much older languages such as Lisp (1958), Smalltalk (1972), Objective-C (1984), Haskell (1990), OCaml (1996) and many more. So while the examples are from modern languages, the ideas in this article are actually very old. (*)
> You could say that those “modern” languages are trying to popularise old ideas. They put the idea in a different more common syntax while also leveraging older ecosystems. All the languages in this article use the popular C-style syntax. For example, Reason is OCaml in a C-style/Javascript-style syntax while also leveraging the JavaScript and OCaml ecosystem and Dart is heavily influenced by Smalltalk and leverages the Javascript ecosystem.
Rubbish. The examples are good. The author comes across as enthusiastic. The writing style is fine and engaging. A couple of the examples are from a modern variant of an older language but so what? That small oversight and you completely bash the effort?
You could have said,
"The writing didn't do it for me and the author has more to learn about the subject" but you came out with the big stick instead. You come across like a typical elitist functional programmer. Blah, blah, blah, Lisp had that _forty_ years ago, lame!
I thought the language features were interesting. I'd read up on Kotlin but overlooked the it keyword, I'd love if Ruby got that. In fact, I was trying to figure out which features Ruby has the whole time. Ruby blocks (closures?) are cool with the || operator but having a default it keyword, we should totally steal that. In total I think Ruby has #5 Destructuring, #7 If Expressions, #10 Method Extensions (called Open Classes in Ruby I think) – correct me if I'm wrong. Ruby kind of does pattern matching with the case statement/expression. The Pipeline Operator looks cool. I don't think Ruby has anything like the Cascade operator either.
This is a personal attack that's entirely uncalled for.
Also, the OP never said anything about Lisp. It is really not productive to bring such loaded assumptions into a comment thread.
Your attack is completely non-sense, I don't know lisp and I don't like it. Furthermore in my day to day job I write only OO code (sadly). And I certainly don't think that my post is rubbish given that I explained the reasons for my criticism.
It's super great that more and more people are learning about these cool features that have actually been around for a while.
It's super disappointing that none of this was new to me. Oh well.
The post is indeed uninformed and poorly researched. I would rather not see it posted.