Info from Oleynickk

Выпущена новая версия Microsoft F#

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Стало известно, что состоялся выпуск новой предварительной версии набора инструментов и языка программирования F#. Как обычно пакет с инструментами выпущен в двух видах: установщик для Windows и Visual Studio и zip-архив со сборками под платформы: Xbox360, Mono, .NET Compact, Windows Phone 7.

В новой версии пакета представлены сборки для работы с новым Silverlight 5 Beta и интеграция с Visual Studio 2010 Service Pack 1.

Я зык F#, недавно пополнивший семейство языков Microsoft® .NET Framework, обеспечивает безопасность относительно типов, неплохую производительность, а также способен выступать в роли языка сценариев — все это в рамках платформы .NET. Это функциональный язык, разработанный Доном Саймом (Don Syme), сотрудником отдела исследований корпорации Майкрософт. F# создавался как синтаксически совместимый вариант OCaml для CLR, однако он довольно быстро перебрался из лабораторий в мир практики.
Поскольку все понятия функционального программирования проникают в основные языки (C#, Visual Basic®) через такие технологии, как обобщенные типы .NET или LINQ, язык F# обязан своим успехом прежде всего сообществу .NET — причем успешен он был настолько, что в ноябре 2007 года корпорация Майкрософт объявила о том, что F# будет переведен в разряд поддерживаемых языков программирования .NET.
На протяжении многих лет считалось, что функциональные языки (ML, Haskell и т. п.) больше подходят для академических работ, нежели для профессиональной разработки. И дело не в том, что языки эти не представляют никакого интереса. В действительности некоторые значительные возможности платформы .NET — обобщенные классы, LINQ, PLINQ и Futures, к примеру — обязаны своим появлением применению принципов функционального программирования к языкам, которые таких методов никогда до этого не использовали. Недостаточный интерес к функциональным языкам объясняется скорее тем фактом, что они предназначались для платформ, не имеющих особого значения для разработчиков, создающих программы под Windows®, недостаточно хорошо интегрировались в базовую платформу или не поддерживали жизненно важные функции (доступ к реляционным базам данных, анализ XML, внепроцессные механизмы связи).
Однако же среда CLR и использованный в ней подход «много языков — одна платформа» неизбежно должны были расширить присутствие функциональных языков в мире Windows. И в равной степени неизбежным должен был стать рост важности функциональных языков для программистов-практиков. F# — один их таких языков. В этой статье мы рассмотрим ряд понятий, лежащих в его основе, и остановимся на преимуществах языка F#. Затем, дабы помочь вам начать работу с ним, мы вместе выполним установку и напишем несколько простейших программ.

Чем хорош F#?
Очевидно, что лишь для малой доли программистов, работающих с платформой .NET, изучение функционального языка .NET Framework станет заметным шагом к написанию программ с большими возможностями. Для остальных же польза F# и вовсе большая загадка. Так в чем же преимущества F# для разработчиков?
В последние три года одной из основных задач стало создание безопасных программ параллельной обработки, поскольку многоядерные процессоры перестали быть редкостью. Функциональные языки помогают поддерживать параллелизм, позволяя задействовать неизменяемые структуры данных, которые можно передавать между потоками и машинами, даже не задумываясь о безопасности относительно потоков или атомарном доступе. Помимо этого, функциональные языки упрощают создание библиотек, поддерживающих параллельную обработку, к примеру асинхронных рабочих потоков F# — их мы рассмотрим чуть позднее.
Возможно, приверженцы объектно-ориентированного программирования и не согласятся с этим, но функциональные программы для решения определенного круга задач зачастую проще писать и обслуживать. Возьмите, к примеру, преобразование документа XML в документ другого формата. Разумеется, можно написать на C# программу, которая будет анализировать XML и, применяя ряд условных операторов, определять, какие действия нужно предпринять по отношению к тому или иному фрагменту документа, и все же с уверенностью можно утверждать, что программа на XSLT будет более удачным решением. Нет ничего удивительного в том, что XSLT имеет в своем запасе определенный пласт функционализма, равно как и SQL.
F# выступает строго против использования значений null и активно поддерживает использование неизменяемых структур данных. В результате снижается риск ошибки в программе, поскольку скоращается объем кода, необходимого для обработки пограничных случаев.
Программы на F# обычно получаются лаконичнее. С какой стороны ни посмотри, «типографии» получается меньше: сокращается не только количество символов, но и количество мест, где компилятор требует указать тип переменной, аргумента или возвращаемых значений. Значит, и обслуживать приходится меньший объем кода.
По производительности F# сравним с C#, однако если сравнивать с языками, которые настолько же лаконичны, как F#, в частности с динамическими языками и языками сценариев, он имеет гораздо лучшие показатели. И так же как во многих динамических языках, в F# имеются средства, позволяющие проверить данные: написать фрагмент кода и запустить его в интерактивном режиме.
Загрузить установочный пакет и архив с дополнительными сборками можно по следующей ссылке ([Ссылки могут видеть только зарегистрированные и активированные пользователи]).
Обсудить у себя 0
Комментарии (0)
Чтобы комментировать надо зарегистрироваться или если вы уже регистрировались войти в свой аккаунт.

Войти через социальные сети:

Vlad@Oleynick
Vlad@Oleynick
Было на сайте никогда
Читателей: 2 Опыт: 0 Карма: 1
все 0 Мои друзья