Comment by nurettin
6 months ago
I stopped using C# 10+ years ago, but I remember wanting to update the framework and use the latest thing (linq to objects) because it made code a lot more concise.
6 months ago
I stopped using C# 10+ years ago, but I remember wanting to update the framework and use the latest thing (linq to objects) because it made code a lot more concise.
I have an observation about this: everybody wants a small upgrade that makes it easy for them to make their code a little more concise;
But somehow, almost no one wants a language that is already super-terse in the first place (like Lisp or APL- family).
And yes, that requires a paradigm change to make the most of it - but so does e.g. LINQ.
It’s about the journey, not about the destination.
I can see someone defending Ruby as concise (having the ability to chain different transformations) and simple to write in (low verbosity). Lisp? Define a class and do some map/filter/reduce. Lisp is verbose. Sometimes even worse than Java21 these days.
Just put the equivalent code side by side and look. You would be surprised at how much verbosity you choose to ignore.
Lisp done idiomatically is terse, incredibly so. It's been a while since I've worked in Lisp, but I never used a class, nor did anyone I worked with.
I purposely type everything when coding[0], which makes me painfully aware of all the verbosity and boilerplate. I last wrote Java about 12 years ago (first wrote Java 25 years ago), and it was among the worst at every point in time; I have very little desire to see what it evolved into, but if you can link to a terse, modern Java codebase I will take a look.
chaining a-la Ruby does not make code terse; good selection of primitives, and good idioms do. APL family including J & K are at the extreme, and nothing else comes remotely close.
[0] need to get on the AI assistant bandwagon .. haven't yet