What are the benefits of using C# vs F#?
Answers (1)
Add AnswerGeneral benefits of functional programming over imperative languages:
You can formulate many problems much easier, closer to their definition and more concise in a functional programming language like F# and your code is less error-prone (immutability, more powerful type system, intuitive recursive algorithms). You can code what you mean instead of what the computer wants you to say 😉 You will find many discussions like this when you google it or even search for it at SO.
Special F#-advantages:
Asynchronous programming is extremely easy and intuitive with async {}-expressions – Even with ParallelFX, the corresponding C#-code is much bigger
Very easy integration of compiler compilers and domain-specific languages
Extending the language as you need it: LOP
Units of measure
More flexible syntax
Often shorter and more elegant solutions
Take a look at this document
The advantages of C# are that it’s often more accurate to “imperative”-applications (User-interface, imperative algorithms) than a functional programming language, that the . NET-Framework it uses is designed imperatively and it’s more widespread.
Furthermore, you can have F# and C# together in one solution, so you can combine the benefits of both languages and use them where they’re needed.