4 ms·
This analysis is spot on. The author is annoyed about the absence of many things that, in most programming languages, would be seen as outright absurd. People h
by discardable_dan 4y ago
This analysis is spot on. The author is annoyed about the absence of many things that, in most programming languages, would be seen as outright absurd. People have come to realize multi-methods, monkey-patching, and mutable interfaces break down when writing code at scale, across a large team. It's no surprise that Racket has internalized these lessons, and someone in love with Common Lisp would see these as shortcomings. A Haskell programmer could similarly rant about Python's lack of closures, a C++ programmer about JavaScript's lack of templates, and so on. There are many reasons to hate many languages, but "that language isn't this language" is a rather petty one.
- eru 4y agoMinor nitpick: Python actually has closure as far as I can tell. But, no worries: Haskell programmers still have plenty to rant about Python. And vice versa.
- discardable_dan 4y agoEr, I rather meant that Python doesn't have a first-class lambda definitional form. You are right that you can get the python runtime to make closures.
- eru 4y agoYou are right that the syntax for making closures is a bit wonky. You either have to give them a name (with 'def'), or you only get a restricted subset of syntax (with 'lambda'). In practice, giving them a name is not too much of a hassle.