Lo que debes de saber sobre F#

Fsharp

Fsharp

¿Que es F#?

F# es un lenguaje de programación multiparadigma de código abierto, para la plataforma .NET. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. F# fue inicialmente desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo desarrollado por la División de Desarrolladores de Microsoft y es distribuido como un lenguaje totalmente soportado en la plataforma .NET y Visual Studio 2010, 2012, 2013, 2015 y 2017.

Este le permite al programador programar de una manera que se asemeja más a como pensamos. Por ejemplo: en la cafetería para pedir un café, nosotros generalmente no le decimos al mesero exactamente los pasos para hacer el café, sólo pedimos un café con ciertas características. De tal forma que tenemos menos espacio para cometer errores, porque simplemente escribimos menos código.

F# es un lenguaje de programación primeramente funcional, fuertemente tipado, que usa la inferencia de tipos. Los tipos no necesitan ser explícitamente declarados por el programador; serán deducidos en proceso de compilación. F# también permite notaciones explícitas de tipos y requiere de esto en algunas situaciones. F# es un lenguaje de expresiones basadas en evaluación impaciente.

Aplicaciones de F#

Es utilizado en la programación web junto con varios frameworks entre los que destacan WebSharper y FunScript en los cuales F# es ejecutado como código .NET y en el desarrollo web para las plataformas Xamarin y Windows Phone.

Características de F#

Uso de expresiones lambda

Funciones como valores

Generalización automática

Aplicación parcial de argumentos

Sintaxis de F#

<pre class="prettyprint">/// Iteración usando un ciclo 'for'
let printList lst =
    for x in lst do
        printfn "%d" x

/// Iteración usando una función de alto nivel
let printList2 lst =
    List.iter (printfn "%d") lst

/// Iteración usando una función recursiva y pattern matching
let rec printList3 lst =
    match lst with
    | [] -&gt; ()
    | h :: t -&gt;
        printfn "%d" h
        printList3 t</pre>

Leave a Reply