The Moore’s law has found a new way of surviving much longer than the physics could allow without the use of multi-core processors. However the increased processor power due to multiple cores may not necessarily translate to faster software because the majority of the tools that developers use currently were never designed with parallel programming in mind. The problem is more pressing than that since most of the developers are not trained in ways of designing and developing software that include parallelism. One of the ways to enhance parallelism in software development is the use of functionally programming languages which lend themselves easily to concurrent capable software development.
The inclusion of F# into a widely used platform like .NET means that it would be more accessible to developers and hopefully spur an interest in how functional programming languages work among the general developer communities. It recently occurred to me that of all the programming languages that I am conversant with, all of them are based on imperative programming and ever since my interest in concurrency and functionally programming has increased. I have had an interest in Haskel and Erlang as my learning tools in this area however, I need to understand the theoretical foundation of functionally programming languages generally. F# is a welcomed addition to my reading list. There is an increased realization of the importance of parallelism in computing hence most computer science faculties are including functional programming in their curriculum.
Of course the strategic advantages that this provide to Microsoft is enormous working from the assumption that parallelism is here to stay.