| C# switch are just syntactic sugar. nice for sure. But if you compare F# with C#, is not just LINQ .Select vs List.map And i am not speaking about function, who is just a part of why i like F#, not the best one Is the different defaults who matter, who guide you to an easier code who highlight the domain - structural comparison vs reference comparison
- expression vs statement based
- immutability C# will catchup with some features for sure. Lot of new C# feature remove boilerplate (file scoped namespace, etc) and is a good trend But the core defaults will be the same. That will not push to a single direction (if fact you have LOTS of way to write the thing in C#) while F# try to push to the same way To do so, C# continue to add thing to the LANGUAGE.
Now is a lot more complicated than .NET 2.0 While F# try to do the same, but the language doesnt change. An example: the async/task. C# added the async as keyword, plus all needed to make it work, and the compiler generate special code. F# has built that from the general computation expression feature and (recently) the state machine support. |