Язык F#

F# - мультипарадигменный язык программирования. Поддерживает такие парадигмы как функциональная(основная парадигма F#), императивная,объектно-ориентированная. Для созданий приложений на F# требуется поставить Visual Studio 2005, Visual Studio 2008 или Visual Studio 2010(F# не работает с Visual Studio Express). Для Visual Studio 2005, Visual Studio 2008  надо будет установить еще Microsoft F#, May 2009 CTPВ Visual Studio 2010 F# интегрирован. Так же F# возможно установить на Linux с помощью MONO.

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

Особенности языка:
Язык интуитивно похож на математический язык. F# имеет только значения и функции. Функции выполняют набор инструкций и возвращают значения. Имеются аппараты суперпозиций функций, лямбда исчислений. F# имеет жесткую типизацию. Поддерживаются, как стандартные типы (целый, строка, вещественный...), так и типы специфичные для F#: списки, последовательности, пары. Обеспечено взаимодействие с технологиями: ASP.NET, ADO.NET, SQL, XML, Windows Presentation Foundation, Windows Communication Foundation...


Поддерживает некоторые типы вычислений, которые позволяют более рационально использовать ресурсы компьютера:

1.    Параллельные вычисления (Независимые потоки и процессы могут обрабатываться параллельно).

2.    Ленивые вычисления (Lazy Evaluation) - Вычисления производятся тогда и только тогда, когда это требуется


История развития F#:

1.    Lisp

2.    ML (Meta Language)

3.    SML (Standart Meta Language)

4.    Caml 

5.    OCaml

6.    F#

 

Литература по F#:

1.    R.Pickering, Foundations of F#, A-Press, 2008.

2.    D.Syme, A.Granicz,A.Cisternio. Expert F#. A-Press, 2008

3.    J.Harrop, F# for Scientists, Wiley, 2008.