Cómo empezar con F#?

18 de septiembre de 2009

Hola a todos! En esta ocasión vamos a dejarlos con un mini-tutorial para que puedan escribir sus primeros scripts con la versión beta de F#, el nuevo lenguaje multiparadigma (imperativo, objetos y funcional) que saldrá en la versión de Visual Studio .NET 2010 y el .NET Framework 4.0, pero con el cual ya podemos ir practicando un poco. Demostraremos como ejecutar nuestra primera aplicación, paso a paso, desde cero.

¿Qué necesitamos?


Para los usuarios que ya tienen instalado Visual Studio versión 2008, pueden descargar la actualización en:

Para los que no lo tienen instalado, pueden descargar Visual Studio Beta 2010 (que incluye F#) en:

La instalación es del tipo next next next así que no creo que tengan muchos problemas aquí.

Pasos a seguir


1. Una vez instalado, abrir el visual studio, clic en File > New > Project, para que aparezca la siguiente ventana:


Imagen1

Le damos un nombre a la solución, en mi caso es Tutorial0. La localización que elegí es C:\Aplicaciones, pero puede ser cualquiera. Al darle clic en OK nos quedara así:


Imagen2


2. Perfecto! ahora lo siguiente es activar el FSI (F Sharp Interactive) que es una ventana de depuración adicional que cumplirá dos funciones fundamentales:
     a. Mostrar el resultado de las comandos de F# que vayamos escribiendo (parecido al Inmediate Window), y
     b. Mostrar los tipos de datos que se usan en dicho comando.

Este ultimo punto cumple un rol didáctico importante ya que, como les comenté en el articulo anterior, F# maneja nuevos tipos de datos que son muy, muy "diferentes" (al menos a todo lo que había visto hasta ahora, personalmente).

Sigamos, clic en View > Other Windows > F# Interactive, o simplemente Ctrl+Alt+F

La ventana nos queda asi:


Imagen3


3. Pues bien, ahora sí estamos listos para ingresar nuestras primeras lineas de código!!! empezaremos dandole el honor al que ya es todo un clásico, el popular HOLA MUNDO que no podía faltar en nuestro tutorial.

Para poder visualizar el resultado de cada linea de manera independiente, sombrear la linea y luego hacer clic derecho > Send to Interactive para ver el resultado en la ventana FSI, tal como muestra la imagen:

System.Console.WriteLine "Hola Mundo!"
printfn "Hola Mundo!"


Imagen4


Cosas para notar:

La primera linea es la forma estándar de C# de enviar una cadena de caracteres al "stream" por defecto, que en este caso es la ventana del FSI (o la pantalla de la PC, cuando ejecutamos la aplicación).
La segunda es la forma estándar para el lenguaje F#

Y bueno qué rayos significa val it : unit = ( ) ??? pues es la descripción del modelo o patrón que está utilizandose en esta sentencia de F# en particular... mmm osea es como una descripción de los tipos de datos que intervienen, y la relación que tienen. Sí, lo mismo pienso... pero espero darles mejores explicaciones pronto...


4. Para evitarnos problemas con futuros ejemplos mi consejo es que agreguen las referencias a las siguientes librerias (clic en Project > Add Reference)

System.Windows.Forms
System.Net

Asimismo, importar las librerías base al inicio de nuestras aplicaciones en F#:


open System
open System.IO
open System.Net

Imagen5



con lo que nuestro HOLA MUNDO se vería así:


open System
open System.IO
open System.Net





Console.WriteLine "Hola Mundo!"
printfn "Hola Mundo!"




Para terminar


¿Qué creen que pasará cuando ejecuten las siguientes líneas?


let f = new System.Windows.Forms.Form(Visible=true, Text = "Hola Mundo!")
f.Text <- "No Me Gusta Programar"
f.Click.Add( fun _ -> printfn "Click!" )




Oh! este código me trae algo de nostalgia, puesto la sentencia LET es la primera que aprendí a utilizar cuando me enseñaron lenguaje BASIC, hace muuuchos años :_( ... en ese entonces también servía para asignar valores a variables, algo así como en LET X = 10

Weno ya dejándonos de cosas... pues prueben ustedes mismos a ver qué pasa (pueden adjuntar sus resultados).

Pues bien gracias por seguirnos hasta aquí, y plsss por favor espero sus comentarios!

Saludos a todos.

0 comentarios:

Publicar un comentario