Довольно странно, что сама Microsoft для F# выделила лишь небольшую нишу в виде серверных расширений и подобных штучек. На мейнстрим они его не тянут и выразили это изначально тем, что в нем не было поддержки Windows Forms, а также поддержки ASP.NET. Сейчас она вроде уже есть, хотя я не проверял лично. Но сам факт настораживает.
Scala же должна, на мой взгляд, понравиться явистам, потому что позволяет им перейти на новый уровень затащив туда все свои любимые игрушки.
Я и не с читаю, что функциональным должен называть язык, на котором можно извращаться и писать программы в функциональном стиле. К ФП я отношу только те языки, на которых это удобно делать. Которые сами располагают к функциональному стилю. На OCaml люди могут писать и в функциональном стиле и в императивном с одинаковой сложностью. На Haskell или Erlang им придется приложить серьезные усилия, чтобы написать императивный код. Я видел образцы ФП на С, Java и Python. Это ужасно. Про другие языки я сам судить не берусь, потому что не знаю их.
Видимо нельзя просто подключить. Дело в том, что система типов F# ОЧЕНЬ сильно отличается от .Net'овской системы типов и просто так взять и подключить .Net'овские библиотеки не получится. Нужен «переходник». Видимо Microsoft решила, что переходник нужен не везде, потому что F# нишевый язык, хотя и общего назначения.
Сведения эти от некоего Дмитрия Сошникова, который является сотрудником корпорации зла и одновременно с этим преподает в российских ВУЗах ФП на примере F#. Так что, я думаю, он знает о чем говорит.
F# - на мой взгляд сыроват, посмотрю что изменится в F# 3.0 и уровень поддержки в VS, которая выйдет с W8. Если всё будет так, как сейчас, то F# останется лишь полигоном для обкатки свежих идей перед миграцией в C#, имхо.
Всё не совсем так. Если юзать IEnumerable<T>, то интеграцию можно сделать прозрачной, т.к. он автоматом конвертится в seq<T>. Но геморроя слишком много выходит в итоге.
п.с. когда смотрел Scala, то она оч. смахивала на C# современный по возможностям. Чуть лучше, но довольно близко, Reflector и генераторы кода VS, имхо, на данный момент нивелируют разницу и даже делают работу на C# более производительной, имхо. Хотя, повторяюсь, глубоко и серьёзно не копал Scala, т.к. платформу не знаю и в ближайшее время переходить на неё не собираюсь.
Ну Scala > F#, судя по всяким vs в инетах. Плюс там много вещей связанных с параллелизмом, параллельные коллекции и актеры. Можно заниматься написанием фееричных DSL
Не спорю. По мне, так Scala - это логичное продолжение java, хотя некоторые моменты синтаксиса мне не оч. понравились, но это мелочи вообще говоря.
По поводу параллелизма - F# там тоже кое-что может(иммутабельное состояние по дефолту(в Scala есть все возможности так писать, ага) + Async + кое какой сахар для этого), но активно это с ходу не поюзаешь, если честно. Слишком заморочено на мой взгляд, а юзать то, что не понимаешь хорошо - не для меня.
Clojure является сейчас очень плотно развивается. На нем можно использовать весь фреймворк джавы и все ее библиотеки. Плюс своих библиотек там навалом.
Мы сейчас переходим на новых проектах с джавы на кложур. Очень успешно.