Craving For Language Expressiveness
What I’ve been missing in C# for years is expressiveness. For example, which construct is more natural?
if (collection.Count == 0) ... if (collection.IsEmpty) ...
Some steps were already taken in 2.0, which is the case with
if (s != null && s != "") ... // the 1.x way if (!string.IsNullOrEmpty (s)) ... // the 2.0 way
In both cases the latter construct is much more readable and natural. It’s closer to the human language.
What I’m really looking forward to are extension methods in 3.5. Can’t wait to have a way to augment some of the blandness. I’m also wondering when we’ll start seeing commercial or open source “extension packages”. It’s enough to look at Python or Ruby, for example, to really start craving for expressiveness.
To me, it’s not even about verbosity. I don’t mind it because I hate guessing what’s behind cryptic names (again, as in Python or Ruby). A Fluent Control Container, for example, may look a bit verbose at first sight, but it’s way better than the rut of instantiating controls one by one and stuffing them with properties.
This just in
Whoa! I may have my wish granted sooner. End of this month? ScottGu for, uuummm, president!