C#/VB werden immer die Hauptsprachen sein, aber F# ist besser für komplexe Probleme. C# ist vielseitiger, während F# besser für IA, Statistik, Wissenschaft (z. B. die Heilung von Krebs) usw. geeignet ist. F# wird C# nie ersetzen, aber es wird .NET ermöglichen, in mehr Bereichen der Informatik zu konkurrieren. Für Data Mining und die Verarbeitung großer Datenmengen ist es besser, direkt in der Datenbank zu entwickeln - wie SQL Server oder Oracle.
Dass F# schwer zu lernen ist, liegt nur daran, dass wir von der imperativen Denkweise der meisten anderen Sprachen "verdorben" wurden. Es ist schwer, etwas zu verlernen, was man 5 Jahre lang macht! Außerdem ist es meiner Erfahrung nach eine Freude, Ocaml und F# zu benutzen. Das einzige, was ich an F#/Ocaml zu bemängeln habe, ist, dass die meisten Leute die Typinferenz überstrapazieren, was den Code unleserlich macht. Ich würde lieber Variablentypen deklarieren, um die Wartung zu vereinfachen.