Пытаясь извлечь выгоду из идей функционального программирования, таких как фокусирование на неизменяемости, и оптимизаций, которые могут быть из этого получены, включая использование хвостовой рекурсии, вы обнаружите, что можно улучшить читаемость кода., улучшая удобство обслуживания.
Но использование языка, такого как F #, упрощает языковое программирование (http://en.wikipedia.org/wiki/Language-oriented_programming), при создании языков, специфичных для предметной области, например,Вы можете написать небольшой язык для химика, где они используют знакомые им термины для написания уравнений или для моделирования молекул, и программа может анализировать их и реагировать на ожидаемое поведение.
Поскольку C # такобъектно-ориентированный, затрудняет простоту использования языка, так как в F # вы можете пропустить '.' в вызовах методов, поэтому Jacob buys 100 shares of IBM
, потому что серия вызовов функций.
Параллелизм проще из-за некоторых конструкций, таких как ранее упомянутая неизменность, поэтому некоторые изсвойства, которые мы видим в F #, вероятно, помогут улучшить C #.
Итак, F # помогает MS проникнуть в такие области, как научное программирование и моделирование, поскольку для них это лучше, чем C #, благодаря этими другие преимущества языка.
Но вы также можете использовать сборки .NET, и если вы хорошо пишете свой код, вы можете выполнять сложные математические части в F # и иметь C # или VB.NET вызвать ваши функции, поэтому мы можем использовать лучший язык для каждой задачи.
ОБНОВЛЕНИЕ:
После прочтения некоторых новых комментариев, одна область, которая сталаПроблема в том, как написать хороший код, который использует преимущества многоядерных процессоров.Таким образом, функциональное программирование стало более популярным, как это видели F #, Scala, Clojure, назвав всего несколько, поэтому MS сделала это, чтобы помочь программистам лучше использовать новые архитектуры чипов.