Ogólne zalety programowania funkcyjnego w porównaniu z językami imperatywnymi:
Możesz sformułować wiele problemów znacznie łatwiej, bliżej ich definicji i bardziej zwięźle w funkcjonalnym języku programowania, takim jak F #, a Twój kod jest mniej podatny na błędy (niezmienność, mocniejszy system typów, intuicyjne algorytmy rekurencyjne). Możesz zakodować to, co masz na myśli, zamiast tego, co komputer chce, żebyś powiedział ;-) Znajdziesz wiele takich dyskusji, kiedy to wyszukasz w Google lub nawet wyszukasz w SO.
Specjalne zalety języka F #:
Programowanie asynchroniczne jest niezwykle łatwe i intuicyjne dzięki async {}
-wyrażeniom - nawet w przypadku ParallelFX odpowiedni kod C # jest znacznie większy
Bardzo łatwa integracja kompilatorów kompilatorów i języków specyficznych dla domeny
Rozszerzanie języka według potrzeb: LOP
Jednostki miary
Bardziej elastyczna składnia
Często krótsze i bardziej eleganckie rozwiązania
Spójrz na ten dokument
Zaletą języka C # jest to, że jest on często dokładniejszy w zastosowaniach „imperatywnych” (interfejs użytkownika, algorytmy imperatywne) niż funkcjonalny język programowania, a platforma .NET Framework, której używa, jest zaprojektowana w sposób imperatywny i że jest bardziej rozpowszechniona.
Co więcej, możesz mieć F # i C # razem w jednym rozwiązaniu, dzięki czemu możesz połączyć zalety obu języków i używać ich tam, gdzie są potrzebne.