Que es F#?
F# (pronunciado F Sharp) es un lenguaje de programación multiparadigma de código abierto,1 para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y orientada a objetos.
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 y 2013.2
F# es un lenguaje fuertemente tipado que utiliza inferencia de tipos. Como resultado, los tipos no necesitan estar declarados explícitamente por el programador; estos serán deducidos por el compilador durante el proceso de compilación. Sin embargo, F# también permite la declaración explícita de tipos de datos. Por ser un lenguaje .NET, F# soporta los objetos y tipos de .NET; F# 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. También facilita enormemente la creación de código asincrónico y paralelo, cosa que en otros lenguajes de .NET nos tomaría mucho más tiempo.
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 y 2013.2
F# es un lenguaje fuertemente tipado que utiliza inferencia de tipos. Como resultado, los tipos no necesitan estar declarados explícitamente por el programador; estos serán deducidos por el compilador durante el proceso de compilación. Sin embargo, F# también permite la declaración explícita de tipos de datos. Por ser un lenguaje .NET, F# soporta los objetos y tipos de .NET; F# 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. También facilita enormemente la creación de código asincrónico y paralelo, cosa que en otros lenguajes de .NET nos tomaría mucho más tiempo.
Que es F#?
Reviewed by Unknown
on
15:59
Rating:
Hola:
ResponderEliminarYa que se llama Visual F#,en vez de F# a secas. Cada vez que creo un proyecto con Visual Studio Community 2017, solo creo programas en modo consola.
¿Con Visual F# existe la posibilidad de crear formularios aunque sea a base de códigos?
PowerShell lo hace.
Un cordial saludos.
Hola de nuevo:
ResponderEliminarHe creado una palicación en consola F# de abrir y cerrar la bandeja del DVD-ROM y quiero hacerlo visual F# de verdad.
Código F#:
open System
open System.Runtime.InteropServices
open System.Text;
// importar librería o dll externo.
[]
extern int mciSendString(string lpstrCommand, StringBuilder lpstrReturnString,
int uReturnLength, IntPtr hwndCallback)
let rt = StringBuilder(127)
// Evento.
let DoEvents (transition:string) =
Console.SetCursorPosition(0, 6)
Console.Write transition
//let action state transition (mensaje:string) =
// Console.SetCursorPosition(0, 6);
// DoEvents transition;
// mciSendString(state, rt, 127, IntPtr.Zero) |> ignore
// Console.SetCursorPosition(0, 6)
// Console.Write(" ")
// Console.SetCursorPosition(0, 6)
// Console.Write(mensaje)
// Código de abajo más simplificado.
let action state transition (mensaje:string) =
let reset (text : string) =
Console.SetCursorPosition(0, 6)
Console.Write text
reset transition
mciSendString(state, rt, 127, IntPtr.Zero) |> ignore
reset " " // Reemplace esto y la siguiente línea con solo
reset mensaje // escribir más borrar como `reset (mensaje +" ")`.
// Pulse letra A para abrir bandeja o C para cerrar bandeja.
let rec loop() =
match Console.ReadKey(true).Key with
| ConsoleKey.Escape -> ()
| ConsoleKey.A -> action "set CDAudio door open" "Abriendo..." "Abierto."
loop()
| ConsoleKey.C -> action "set CDAudio door closed" "Cerrando..." "Cerrado."
loop()
| _ -> loop()
[]
let main argv =
// Título de la ventana.
Console.Title <- "Visual F# 2017"
// Tamaño ventana consola.
Console.WindowWidth <- 29 // X. Ancho.
Console.WindowHeight <- 8 // Y. Alto.
// Cursor invisible.
Console.CursorVisible <- false
// Posición del mansaje en la ventana.
Console.SetCursorPosition(0, 0)
Console.Write(@"Control bandeja del lector:
A - Abrir bandeja.
C - Cerrar bandeja.
===========================")
loop()
0 // Devolver un código de salida entero.
Saludos.