Mon point de vue est que remplacer un langage aussi riche et mature que C# serait très cher . Donc, par exemple, au moment présent C# est absolument le meilleur choix pour le développement WinForms si l'utilisation du concepteur Visual Studio WinForms peut vous donner un avantage : F# n'a pas de concepteur WinForms.
C# a également un meilleur support LINQ-to-SQL pour le moment. Je suis sûr qu'il existe de nombreux autres exemples de ce type.
Ensuite, il faut demander à toute la main-d'œuvre qualifiée en C# de mettre à jour ses compétences en F#, tout en préservant les compétences en C# pour la maintenance des applications, ce qui est également coûteux.
Enfin, C# est un excellent langage doté de nombreuses fonctionnalités, dont certaines sont absentes de F#, comme les génériques à variantes co/contra et la prise en charge immédiate de la programmation dynamique contre le DLR (F# ne dispose que d'un opérateur non implémenté).
Ainsi, en ne s'attendant pas à ce que F# remplace C#, F# peut évoluer dans de nouvelles voies au lieu de passer tout son temps à rattraper des domaines déjà bien couverts.