4 ms·
F# has downsides too. It's a way more complicated language with way more magic (type providers, custom computation expressions etc.) compared to c#.
by thomasz 11y ago
F# has downsides too. It's a way more complicated language with way more magic (type providers, custom computation expressions etc.) compared to c#.
- MichaelGG 11y agoC# has "computation expressions", except they are hard-coded into the compiler. It has duck typing, but it's hard-coded into the compiler. So instead of understanding a general concept, you learn specific instances. That's certainly less elegant, and I'd guess just as complicated - but I'd say that's more magic on C#'s side since in F# it's just simple concepts repeated. I don't know if type providers are more complicated than partial classes, and they probably should have been some generic macro system instead of just type generators. I don't have a good definition for complicated, but I'd be surprised if C# is actually less complicated. (Something number of core concepts and interactions.) Certainly if we take expressiveness/complication F# come out far ahead.