C# may very well turn into the most popular general purpose language after all. It isn’t a big surprise to me because years of very hard work have gone into what we have today and it is clear that the hard work continues. I have been traditionally very hard on C#, mostly because if it’s lack of dynamic typing and meta-programming support and the difficulties that it causes agile developers. It is a language that has attempted to stay “Explicit Typing Only” at my expense, it seemed. It seemed to me that JavaScript, with all if its warts, was running circles around C# and laughing. JavaScript already had closures, lambda functions, and dynamic typing many years ago.
It has long been my opinion that a good general purpose language needs to give the programmer the choice. If the programmer wants to use only explicit typing, then they should have that choice. If the programmer wants to use dynamic typing only, the programmer should also have that choice. If the programmer wants to find a good mix of the two, that sounds great too. C# seems to be the one that will reach this great place if things continue as they appear to be.
I hope to talk a little bit more about what I think is so great about what’s going on with C# in the days to come and how it can help a real software development practitioner.