Lenguaje F# de Microsoft

F# es un lenguaje de programación universal para escribir código conciso, sólido y eficaz.

F# le permite escribir código despejado y autodocumentado, donde su enfoque permanece en el dominio de su problema, en lugar de los detalles de la programación.

Lo hace sin comprometer la velocidad y la compatibilidad: es de código abierto, multiplataforma e interoperable.

open System // Gets access to functionality in System namespace.
// Defines a list of names
let names = [ "Peter"; "Julia"; "Xi" ]
// Defines a function that takes a name and produces a greeting.
let getGreeting name = $"Hello, {name}"
// Prints a greeting for each name!
names
|> List.map getGreeting
|> List.iter (fun greeting -> printfn $"{greeting}! Enjoy your F#")

F # tiene numerosas características, que incluyen:

  • sintaxis ligera
  • Inmutable por defecto
  • Inferencia de tipos y generalización automática
  • Funciones de primera clase
  • Tipos de datos potentes
  • La coincidencia de patrones
  • Programación asíncrona

En la guía del lenguaje F#

se documenta un conjunto completo de características.

Tipos de datos enriquecidos

Tipos como Registros y Uniones discriminadas le permiten representar sus datos.

// Group data with Records
type SuccessfulWithdrawal =
{ Amount: decimal
Balance: decimal }
type FailedWithdrawal =
{ Amount: decimal
Balance: decimal
IsOverdraft: bool }
// Use discriminated unions to represent data of 1 or more forms
type WithdrawalResult =
| Success of SuccessfulWithdrawal
| InsufficientFunds of FailedWithdrawal
| CardExpired of System.DateTime
| UndisclosedFailure

Los registros F# y las uniones discriminadas no son nulos, son inmutables y comparables de forma predeterminada, lo que los hace muy fáciles de usar.

Corrección con funciones y coincidencia de patrones.

Las funciones de F# son fáciles de definir. Cuando se combinan con la coincidencia de patrones , le permiten definir el comportamiento cuya corrección es aplicada por el compilador.

// Returns a WithdrawalResult
let withdrawMoney amount = // Implementation elided
let handleWithdrawal amount =
let w = withdrawMoney amount
// The F# compiler enforces accounting for each case!
match w with
| Success s -> printfn "Successfully withdrew %f{s.Amount}"
| InsufficientFunds f -> printfn "Failed: balance is %f{f.Balance}"
| CardExpired d -> printfn "Failed: card expired on {d}"
| UndisclosedFailure -> printfn "Failed: unknown :("

Las funciones de F# también son de primera clase, lo que significa que pueden pasarse como parámetros y devolverse desde otras funciones.

Funciones para definir operaciones sobre objetos

F# tiene soporte completo para objetos, que son útiles cuando necesita combinar datos y funcionalidad. Los miembros y funciones de F# se pueden definir para manipular objetos.

type Set<'T when 'T: comparison>(elements: seq<'T>) =
member s.IsEmpty = // Implementation elided
member s.Contains (value) =// Implementation elided
member s.Add (value) = // Implementation elided
// ...
// Further Implementation elided
// ...
interface IEnumerable<‘T>
interface IReadOnlyCollection<‘T>
module Set =
let isEmpty (set: Set<'T>) = set.IsEmpty
let contains element (set: Set<'T>) = set.Contains(element)
let add value (set: Set<'T>) = set.Add(value)

En F#, a menudo escribirá código que trata los objetos como un tipo para que las funciones los manipulen. Las características como interfaces genéricas , expresiones de objetos y el uso juicioso de los miembros son comunes en los programas de F# más grandes.

¿Cómo empezar con el lenguaje F#?

Existen varias guías sobre cómo instalar y usar F# por primera vez en su máquina. Puede usar la siguiente tabla para ayudar a tomar una decisión:

SISTEMA OPERATIVO PREFIERO VISUAL STUDIO PREFERIR EL CÓDIGO DE VISUAL STUDIO PREFERIR LÍNEA DE COMANDO
Windows Introducción a Visual Studio Comience con el código de Visual Studio Introducción a la CLI de .NET
Mac OS Comience con VS para Mac Comience con el código de Visual Studio Introducción a la CLI de .NET
Linux N / A Comienza con el código de Visual Studio Introducción a la CLI de .NET

En general, no hay ninguna guía específico que sea mejor que el resto. ¡Es recomendable ojear todas las formas de usar F # en tu máquina para ver cuál te gusta más!

Comienza online

Si prefiere no instalar F# y .NET en su máquina, también puede comenzar con F# en el navegador:

  • Introducción a F# en Binder es un cuaderno Jupyter alojado a través del servicio gratuito de Binder . ¡No es necesario registrarse!
  • Fable REPL es un REPL interactivo en el navegador que usa Fable para traducir el código F# a JavaScript. ¡Vea las numerosas muestras que van desde los conceptos básicos de F # hasta un videojuego completo que se ejecuta en su navegador!

Contenido recomendado

Relacionado

ForEach de Javascript: Array para bucles

Como una de las estructuras de control básicas en la programación, los bucles son casi una adición diaria al código que escribimos. El bucle forEach clásico es uno de los primeros fragmentos de código que aprendemos a escribir como programadores. Si fueras un desarrollador de Javascript, sabrías que Javascript no es ajeno a la iteración a través de los elementos de una matriz o un mapa ¡SEGUIR LEYENDO!

10 Mejores alternativas de Sci-hub para descargar artículos de investigación gratis

Como sabemos, Sci-hub es un sitio web increíble con millones de artículos de investigación para todos los estudiantes universitarios y académicos. El sitio web de Sci-Hub se encarga de obtener los artículos de investigación y artículos de pago utilizando las credenciales que se filtran. La fuente de credenciales utilizada por este sitio web no está clara. Sin embargo, se supone que muchas de ellas son donadas, ¡SEGUIR LEYENDO!

10 Características Sorprendentes de Windows que Deberías Conocer en 2024

Aunque haya sido usuario de Windows durante décadas, el sistema operativo es tan amplio y complejo que siempre existen características útiles, pero menos conocidas, que podrían sorprenderte. En este sentido, he identificado diez funciones poco conocidas de Windows que pueden potenciar su eficiencia, comodidad e incluso su experiencia de uso lúdico en su PC.

¡REBAJADO!
Microsoft Surface Go 2 - Portátil 2 en 1 de 10.5 pulgadas Full HD, Wifi, Intel...
  • Procesador Dual-Core Intel Pentium Gold 4425Y (2...
  • Memoria RAM de 8 GB LPDDR3
  • Disco SSD de 128 GB
Todas estas características deberían ser compatibles tanto con Windows 10 ¡SEGUIR LEYENDO!

10 Criptomonedas con Potencial de Crecimiento de Futuro

El rumor en torno a las criptomonedas no se desvanece por mucho que existan grandes pesimistas alrededor de los malos rumores. Entonces, si consideras invertir en el mundo de las criptomonedas, deberías estar atento a las criptomonedas que se espera que tengan un buen desempeño para el resto de 2021. En los últimos tiempos, los tokens DeFi están recibiendo toda la atención y es más que ¡SEGUIR LEYENDO!

10 Empresas de robótica más importantes del mundo

Los cambios de paradigma revolucionarios debido a los desarrollos de la robótica en todo el mundo están generando nuevos puntos de vista en muchos sectores, entre ellos en los de la industria y la tecnología. Con la ayuda de la Inteligencia Artificial, la tecnología produce resultados innovadores cada segundo y el campo de la robótica define y reconfigura su uso a cada instante. Cada día que ¡SEGUIR LEYENDO!

10 Frameworks que los Desarrolladores de Software deberían Aprender 2024

Bienvenidos desarrolladores web y de software, estamos en los inicios de 2023 y es posible que muchos se esten planteado sus objetivos para lo largo del año. Con anterioridad ya he compartidos las rutas de aprendizaje para un desarrollador front-end, un desarrollador full-stack o un desarrollador back-end entre otros muchos contenidos más. En este artículo, me gustaría compartir algunos de los mejores frameworks y bibliotecas para ¡SEGUIR LEYENDO!

10 Repositorio de GitHub que todo Desarrollador Web debería conocer

GitHub es el lugar que debes buscar cuando intentas mejorar como desarrollador, toda la información que necesitas está disponible en algún repositorio que alguien ya se ha molestado en indexar. Sin embargo, la parte complicado es encontrar el repositorio más adecuado. Es fácil sentirse perdido en todos los repositorios disponibles dentro de GitHub. Para ayudarte, he elaborado una lista de 10 repositorios de GitHub que pueden ¡SEGUIR LEYENDO!

Deja un comentario