Interesting features from various modern programming languages
Some thoughts as I read through this (I&#x27;m far from an expert in PL, so... forgive me any naivety, please).<p>I can&#x27;t decide if I like the pipeline operator (1). Is it really better? Perhaps I&#x27;m just used to chaining multiple function calls together.<p>Pattern-matching (2) is my favorite language feature, or at least it&#x27;s pretty high up there. Super useful. I always wish I had it in Python (my go-to language most of the time).<p>Not sure I really &quot;get&quot; reactive programming (3).<p>With regard to implicit names (4), I think I actually prefer writing lambdas with my own variable names, and I particularly like Haskell&#x27;s syntax for it.<p>Even Scala&#x27;s usage of the underscore seems a little better than this &quot;it&quot; business, if only because the underscore doesn&#x27;t see much use elsewhere so it&#x27;s an indicator that &quot;Hey, something&#x27;s going on here!&quot;<p>But using a regular-looking variable name seems a bit unintuitive for somebody unfamiliar. Though I suppose they may not be the people for whom this sort of code is written.<p>Isn&#x27;t destructuring (5) just an effect of ADTs? Which are also what produce (2) pattern-matching, so perhaps really what the author enjoys is ADTs. Or maybe I don&#x27;t know things.<p>No strong feelings on (6). Maybe I&#x27;d need more exposure.<p>Are if-expressions (7) actually on this list? In the comments they practically suggest that the ternary conditional is the &quot;regular&quot; way of handling such things, which is... silly. The rest of this list seemed interesting, so I&#x27;m confused why these make the cut. Perhaps the author was just being cheeky.<p>Try-expression (8) are nice and all, but the best is when you can eschew them completely. I like the way optionals are wrapped into so much in Swift; almost makes obsolete all the try-expressions (except for certain cases, such as whenever you call into an older Obj-C library or something).<p>Definitely a fan of auto-currying (9).<p>Is method extension (10) similar to overriding the &quot;magic&quot; double-underscore methods in Python, such as `__add__`? That definitely seems useful.