Although the programming paradigm Imperative be the most popular among programmers [professionals], it is only one among several means of "giving orders" to a computer. Besides it and the Functional, we also have the Programming in Logic (ex.), Dataflow (e.g.: the internal engine of a spreadsheet), Function-Level (programs do not manipulate data, but other programs), etc. And, of course, the most conceptual/theoretical Turing machine - to which all previous paradigms are computationally equivalent.
Each of these paradigms has advantages and disadvantages, and it is common as programming languages "evolve" that they incorporate aspects of other paradigms. The main reason one uses one paradigm or another is its expressiveness: At first, we could all be programming on Turing machines, but beyond the difficulty of reading/writing/understanding such programs they would also be too extensive in relation to what they do useful. Similarly, different paradigms offer a higher degree of expressiveness for specific domains (although the language as a whole is Turing-complete).
As to the F# in particular, I will quote an answer a similar question in Stack Overflow:
My expectation is that F# will be used for parts/parts of some specialized systems - the parts that involve threading complex / math / financial calculations / modeling / etc, where F# fits well. In most other areas (UI, Data Access Layer, etc), a general purpose language like C# seems (in my opinion) preferable.
One of the advantages of F# is that (in theory) you can prove that the code is working instead of just testing it. Support for threading (thanks to the immutability and asynchronous use of !
) is also good (although PLINQ can compete in threading).
(Comment: I disagree with the author of this answer in the sense that it is possible to prove that an imperative program is correct - it is only more laborious...)
I can not comment on our market, since I do not participate in the "ecosystem" Microsoft (preferring to develop in free software), but in general the opening of the minds of Brazilian programmers for functional programming I believe would be very welcome!
I think it’s the same as asking "what are the real cases where I would use mathematics?"
– Guilherme
your question is very broad, and maybe it runs away from the site proposal. But I hope that answer is what you wanted to know.
– Guilherme
To give an idea of the use of functional programming in the industry, see this page here http://www.haskell.org/haskellwiki/Haskell_in_industry
– korbes
@korbes: Cool! Thanks for the link.
– Jônatas Hudler