F Sharp (lenguaje de programación)


F# (pronunciado F sostenido ) es un lenguaje de programación funcional primero, de propósito general, fuertemente tipado y multiparadigma que abarca métodos de programación funcionales , imperativos y orientados a objetos . F# se usa con mayor frecuencia como un lenguaje de infraestructura de lenguaje común (CLI) multiplataforma en .NET , pero también puede generar JavaScript [9] y código de unidad de procesamiento de gráficos (GPU). [10]

F# es desarrollado por F# Software Foundation , [11] Microsoft y colaboradores abiertos. Un compilador multiplataforma de código abierto para F# está disponible en F# Software Foundation. [12] F# es un lenguaje totalmente compatible con Visual Studio [13] y JetBrains Rider . [14] Existen complementos compatibles con F# para muchos editores ampliamente utilizados, en particular la extensión Ionide para Visual Studio Code y las integraciones para otros editores como Vim y Emacs .

F# es miembro de la familia de lenguajes ML y se originó como una implementación de .NET Framework de un núcleo del lenguaje de programación OCaml . [6] [7] También ha sido influenciado por C# , Python , Haskell , [5] Scala y Erlang .

F# utiliza un proceso de ingeniería y desarrollo abierto. El proceso de evolución del lenguaje lo administra Don Syme de Microsoft Research como dictador benévolo de por vida (BDFL) para el diseño del lenguaje, junto con F# Software Foundation. Las versiones anteriores del lenguaje F# fueron diseñadas por Microsoft y Microsoft Research mediante un proceso de desarrollo cerrado.

F# se origina en Microsoft Research , Cambridge, Reino Unido. El lenguaje fue originalmente diseñado e implementado por Don Syme , [6] según quien en el equipo de fsharp, dicen que la F es para "Diversión". [34] Andrew Kennedy contribuyó al diseño de unidades de medida . [6] Las herramientas de Visual F# para Visual Studio son desarrolladas por Microsoft. [6] F# Software Foundation desarrolló el compilador y las herramientas de código abierto de F#, incorporando la implementación del compilador de código abierto proporcionada por el equipo de Microsoft Visual F# Tools. [11]

Si bien es compatible con las funciones orientadas a objetos disponibles en C#, F# es un primer lenguaje funcional fuertemente tipado con una gran cantidad de capacidades que normalmente se encuentran solo en los lenguajes de programación funcionales . Juntas, estas características permiten que los programas de F# se escriban en un estilo completamente funcional y también permiten que se mezclen estilos funcionales y orientados a objetos.