Microsoft открыла исходные коды собственного языка программирования F#

Корпорация Microsoft накануне опубликовала полные исходные коды функционального языка программирования F#. Компания сделала вторую версию языка F# полностью открытой, включая исходники компиляторов и ключевых библиотек по условиям лицензии Apache 2.0

По словам Дона Сайма, старшего технического специалиста по разработке Microsoft F#, открытие языка говорит о том, что Microsoft намерена придать в будущем ему бОльшую популярность среди независимых разработчиков.

Начиная с февраля этого года, исходники F# были доступны по условиям ограниченной лицензии Microsoft, а бинарные версии были доступны бесплатно на сайте компании как самостоятельные продукты и как плагин для среды Microsoft Visual Studio. Сейчас же в Microsoft говорят, что в свободном доступе открываются абсолютно все документы, касающиеся F#, включая технические моменты, касающиеся создания языка.

Код доступен в рамках проекта F# PowePack - https://fsharppowerpack.codeplex.com/

F# — это функциональный язык программирования общего назначения. В настоящее время его разработку ведет Microsoft Developer Division, и распространяется вместе с .NET Framework и Visual Studio как часть Visual Studio 2010. Структура F# во многом схожа со структурой OCaml с той лишь разницей, что F# реализован поверх библиотек и среды исполнения .NET. Некоторые задачи решаются значительно проще и яснее с использованием F# (по сравнению с решениями на господствующих ОО-языках), особенно те, что используют математический стиль программирования. Например, написание компилятора требует работы со структурами данных и преобразованиями над ними.

Microsoft интегрировала среду разработки F# в Visual Studio 2010. Microsoft планирует активно внедрять данный язык в разработку программных систем, которые сами с течением времени смогут масштабироваться, например в зависимости от количества пользователей, данное достоинство нельзя просто реализовать в императивных языках программирования.

Код на языке F# является безопасным в отношении типов, часто бывает более компактным, чем аналогичный код C#, за счёт выведения типов. Такие возможности, как обобщенное программирование и функции высших порядков позволяют писать абстрактные обобщенные алгоритмы, которые управляют параметризованными структурами данных (например, массивами, списками, графами, деревьями).

Одна из основных идей F# заключается в том, чтобы удостовериться, что имеющийся код и типы в функциональном языке программирования могут быть легко доступны из других .NET-языков. Программы на F# компилируются в сборки CLR (файлы с расширениями .exe и .dll), однако, для их запуска необходима установка пакета среды исполнения дополнительно к .NET Framework.