F Sharp (lenguaje de programación)


F # (pronunciado fa sostenido ) es un funcional-en primer lugar, de uso general, inflexible , multi-paradigma de lenguaje de programación que abarca funcional , imperativa y programación orientada a objetos métodos. F # se usa con mayor frecuencia como un lenguaje Common Language Infrastructure (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 plug-ins que soportan F # para muchos editores ampliamente utilizados, más notablemente la extensión Ionide para Visual Studio Code , e integraciones para otros editores como Vim y Emacs .

F # es un 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 está gestionado por Don Syme de Microsoft Research como el dictador benevolente de por vida (BDFL) para el diseño del lenguaje, junto con la F # Software Foundation. Microsoft y Microsoft Research diseñaron versiones anteriores del lenguaje F # mediante un proceso de desarrollo cerrado.

F # se origina en Microsoft Research , Cambridge, Reino Unido. El lenguaje fue diseñado e implementado originalmente por Don Syme , [6] según quien en el equipo de fsharp, dicen que la F es por "diversión". [34] Andrew Kennedy contribuyó al diseño de unidades de medida . [6] Microsoft ha desarrollado Visual F # Tools para Visual Studio. [6] La 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 admite características orientadas a objetos disponibles en C #, F # es un lenguaje funcional primero fuertemente tipado con una gran cantidad de capacidades que normalmente solo se encuentran en 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 mezclar estilos funcionales y orientados a objetos.