sábado, 3 de agosto de 2024

F#: un lenguaje funcional

F# (Efe sharp) es un lenguaje de paradigma funcional desarrollado por (la malévola empresa) Microsoft.

Presume de una simplicidad y facilidad para ser aprendido (y usado).

A primera vista nos recuerda a lenguajes como Powershell, Javascript, Perl, Python o Ruby.

F# tiene una sintaxis ligera que requiere muy poco código para compilar software.

Está respaldado por un sistema de tipos eficaz, una biblioteca estándar cómoda y un entorno de ejecución de .NET en el que puede confiar para crear software crítico que sea correcto, rápido y confiable.

La extensión de un programa en F# puede ser *.fs o *.fsx.

Si no tienes instalado Dotnet ve este sitio:

https://dotnet.microsoft.com/en-us/download

Al tenerlo ya instalado, te permitirá crear programas y aplicaciones F#.

Escribamos el clásico "Hola, mundo" en este lenguaje:

holamundo.fsx

printfn "Hola, mundo!!"

Para ejecutar podemos usar dotnet:

dotnet fsi holamundo.fsx

Salida:

Hola, mundo!!

Crear un proyecto F#

Para crear un proyecto F# deberás teclear esto:

dotnet new console --language F#
dotnet run

Se generará un proyecto F# y se ejecutará.

Variables en F#

F# es un lenguaje fuertemente tipado que utiliza inferencia de tipos (int, float, string, bool, etc.). Por lo que deberás cuidar el tipo de dato a declarar. Aunque existe la inferencia de tipos en caso de que no quieras definir el tipo.

variables.fs

// Tipos de datos
let numeroEntero = 23
let (numerico: int) = 32
let (cadena: string) = "FERROCARRILERO"
let (isOk: bool) = true
let real = 90.43

Hemos declarado algunas variables y definido sus tipos. Imprimiremos sus valores de la siguiente forma:

printfn "numeroEntero: %i" numeroEntero
printfn "numerico: %i" numerico
printfn "cadena: %s" cadena
printfn "isOk: %b" isOk
printfn "real: %f" real

Tambien podemos introducir datos, usando las liberías de .Net

entrada.fs

open System

printfn "Introduce tu nombre:"
let nombre = Console.ReadLine()
printfn "Hola, %s" nombre

Ejecutamos (dotnet run):

Introduce tu nombre:
Thomas Muller
Hola, Thomas Muller

En F# todas las variables son inmutables, es decir, no cambian de valor. Si requieres que una variable cambie su valor deberás usar la palabra ``mutable``, esto similar a lenguajes como Rust.

// Variables mutables
let mutable contador = 0
printfn "Contador: %i" contador
contador <- 1
printfn "Contador: %i" contador 

Esto es todo por hoy. En próximas entregas continuaremos con este tema.

Enlaces:

https://fsharp.org/
Vídeos sobre F#
https://es.wikipedia.org/wiki/F_Sharp
https://dotnet.microsoft.com/en-us/learn/dotnet/in-browser-tutorial/1

No hay comentarios:

Publicar un comentario

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog