Novedades en Visual Studio 2010: Soporte de F#!

Otra de las novedades interesante de Visual Studio 2010 es el soporte de serie del nuevo lenguaje de programación en plataforma .NET: F#. Este nuevo y joven lenguaje se caracteriza fundamentalmente por ser un lenguaje funcional híbrido:

  • Es funcional porque:
    • Es completamente declarativo.
    • Es un lenguaje expresivo y elegante :-).
  • Es híbrido porque:
    • Es multi-paradigma.
    • Soporta orientación a objetos.
    • Se deriva del lenguaje funcional ML, y como él, permite programar de forma imperativa.

Antes de empezar a probar F#, os dejo algunos enlaces de interés sobre lenguajes funcionales y F#:

Empezando con F# en VS 2010

Para empezar a jugar con F# en VS 2010, lo tenemos realmente fácil:

  • En primer lugar, creamos un proyecto de tipo F# Tutorial en el que podremos ver las nociones básicas de sintaxis de este lenguaje.
  • Una vez familiarizados con la sintaxis del lenguaje, ya estamos listos para hacer nuestras primeras pruebas. Para ello, creamos un proyecto de tipo F# Application y ya estamos listo.
image image image
Para empezar, vamos a ver como trabajar con tipos enteros en F#. Por ejemplo, añadimos el siguiente código al archivo Program.fs:
  • Básicamente, fijaros que la clave para declarar e inicializar tipos enteros pasa por usar la palabra clave let y luego realizar la asignación de forma directa (inferencia de tipos) del valor entero.
  • Lo mismo aplica a la hora de definir operaciones entre enteros.
  • Para sacar por pantalla los valores de los tipos definidos, usaremos la sentencia printfn indicando el tipo de dato de salida (%d indica que se trata de un entero).
  • Como curiosidad, la sentencia Open System nos permite abrir espacios de nombre estándar de .NET Framework y utilizarlos en F#. 

#light  

//open standard namespaces  

open System  

let int1 = 1  

let int2 = 2  

let int3 = int1 + int2   

printfn “int1 = %d” int1  

printfn “int2 = %d” int2  

printfn “int3 = %d” int3

Sin más, comprobamos la salida por pantalla:

image

Otra capacidad interesante de F# es la de que nos permite definir y evaluar funciones matemáticas de forma sencilla medainte let f. Por ejemplo:

//Functions on integers…  

let f x = 2*x*x – 5*x + 3   

// The result of a simple computation  

let result = f (int3 + 4)   

printfn “result = %d” result   

Console.ReadLine()

La correspondiente salida por pantalla es la que a continuación se muestra:

image

La misma filosofía comentada aplica cuando trabajamos con cadenas. De nuevo os destaco que poemos usar funciones de otras librerías .NET en nuestro código C#. Por ejemplo, en este caso estamos usando la función Join para concatenar dos cadenas:

// Strings… 

let stringA  = “Hello”   

let stringB  = “world”  

/// “Hello world” computed using string concatentation  

let stringC  = stringA + ” ” + stringB  

printfn “stringC = %s” stringC   

/// “Hello world” computed using a .NET library function  

let stringD = String.Join(” “,[| stringA; stringB |])  

printfn “stringD = %s” stringD  

Console.ReadLine()

La correspondiente salida por pantalla es la siguiente:

image

Finalmente, todo lo visto aplica cuando queramos trabajar con arrays. Por ejemplo, si tenemos un array de números, podemos calcular de forma sencilla el cuadrado de sus elementos de la siguiente forma:

let square x =x * x   

let numbers =[1 .. 15]   

let squares = List.map square numbers   

printfn “Numbers squared = %A” squares   

Console.ReadLine()  

Y la salida por pantalla correspondiente es:

image

  Y hasta aquí llega lo que os quería contar sobre F#. Espero que el post os haya resultado interesante.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

4 comentarios en “Novedades en Visual Studio 2010: Soporte de F#!”

  1. parece basic viejo por lo q muestras en el ejemplo,.. bueno me acabo de enterar q existe jeje, mas q aprender… o no?
    q podra ofrecer como para pensar en abandonar al querido vb.net?

  2. Me pareció bueno la información sobre F#. Me gustaría ver la posibilidad si le pueden agregar más información sobre las nuevas novedades del lenguaje.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *