Tuesday, July 13, 2010

F#

F#
Las personas encargadas de Microsoft Research han liberado una nueva versión de F#. ¿Y que es F#? pues es un lenguaje 100% matemático y está orientado a la programación funcional, además utiliza el compilador de .Net para crear los runtimes de ejecución del mismo. En este caso la gente de Research ha ido un poco más allá y ha liberado esta versión para que también sea compatible con Mono.
F# es un lenguaje fuertemente tipificado 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.
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.

4 comments:

  1. Es un lenguaje de programación, que proporciona la mejor combinación de seguridad, rendimiento y script, con todas las ventajas de ejecutarse en un runtime moderno. Se ejecuta sobre el Framework de .NET. Es un lenguaje de programación de script, funcional, imperativo, orientado a objetos usado para muchas practicas científicas, tareas en web, es una base fantástica para realizar diversidad de tareas dentro de la programación:

    • Script interactivo como Phyton,
    • Ambiente interactivo de visualización de datos como MATLAB
    • Fuerte inferencia de tipos y seguridad de ML
    • Compilación compatible compartida con el lenguaje popular OCaml
    • Un perfomance como C#
    • Fácil acceso a todas las librerías de clases base que tenemos en .NET así como herramientas de acceso a datos.
    • Manejo de esquemas
    • Una integración con Visual Studio
    • La velocidad de ejecución de código nativo, ya sea portable, o distribuido.
    • F# es una variante de ML que comparte un lenguaje administrador con OCaml.
    • Los programas hechos en F# programs corren sobre el .NET Framework.

    ReplyDelete
  2. Instalación de F#
    Disponible como descarga gratuita en research.microsoft.com/fsharp/fsharp.aspx, F# instala no sólo todas las herramientas de línea de comandos, sino también un paquete de extensión de Visual Studio® que ofrece sintaxis resaltada en color, plantillas de proyectos y archivos (incluido un ejemplo muy detallado de código de F# a modo de guía de inicio) y compatibilidad con Intellisense®. Existe también un shell interactivo de F# que se puede ejecutar dentro de Visual Studio, y que permite a los desarrolladores tomar las expresiones de las ventanas de archivos de código fuente, pegarlas en la ventana del shell interactivo y comprobar los resultados inmediatos del fragmento de código, dentro de lo que se podría describir como una ventana Immediates mejorada.

    ReplyDelete
  3. Visual Studio 2010 es la primera versión que apoya directamente la programación funcional mediante el lenguaje de programación F#.

    F# es un lenguaje de .NET de alta producción que combina la programación funcional y la programación orientada a objetos y es ideal para el desarrollo paralelo, algorítmico y desarrollo técnico y exploratorio.

    F# es el resultado de una estrecha asociación entre Microsoft Research y el equipo de Visual Studio. F# trae muchas características nuevas a Visual Studio de 2010, abarcando todo desde escribir código con tuplas y funciones para simplificar el código, programación asincrónica libre de errores y tipos seguros para código de punto flotante.

    Sintaxis simple y precisa

    F# es un lenguaje fuertemente tipado como C#, pero con una sintaxis sencilla a menudo vista en un lenguaje dinámico como Python. Esto hará sus programas ligeros, parecidos a funciones matemáticas.

    Programación paralela y asíncrona

    .NET Framework 4 y Visual Studio 2010 contienen grandes bibliotecas y herramientas para el fácil desarrollo de aplicación paralela. F# las complementa con características del lenguaje diseñadas para facilitar la programación paralela y asincrónica más intuitiva. Esto incluye características fundamentales del lenguaje como inmutabilidad y funciones de primera clase y modelos de programación potentes, tales como flujos de trabajo asincrónicos, que le permiten escribir código asíncrono con el mismo estilo lineal del código síncrono al que está acostumbrado.

    Integrado con Visual Studio 2010 y .NET 4

    La integración de F# en Visual Studio 2010 incluye plantillas de proyecto, soporte IDE, IntelliSense e integración de la ventana de herramientas interactiva de F#. F# puede utilizarse para desarrollar aplicaciones y componentes destinados a .NET 2.0 a través de .NET 4 y Silverlight. Como un lenguaje. NET, F# puede usarse cómodamente junto con C# y Visual Basic.NET. En .NET 4, los tipos de núcleo que F# utiliza, como Tuple, Lazy y BigInteger, ahora forman parte de .NET Framework y pueden utilizarse en todos los lenguajes de .NET. La ventana interactiva de herramientas de F# permite un estilo de desarrollo exploratorio dentro de Visual Studio.

    Unidades de medida

    Una característica innovadora de F# es las unidades de medida, que permiten anotar su punto flotante del código con unidades, como por ejemplo, metros y segundos. Esto es fácil de hacer, y los errores se muestran en el desarrollo cuando el código combina unidades incorrectamente. Lo que proporciona la comprobación en tiempo de compilación del punto flotante del código exacto sin sacrificar el rendimiento.

    Estas son, algunas de las características más interesantes de F#.

    ReplyDelete
  4. F# es un lenguaje de programación funcional. Como era de esperar, las funciones son una parte importante de la lengua, y el dominio de ellas es el primer paso para convertirse en un eficaz promotor F # ya que tiene un número de incorporados en estructuras de datos que incluyen las tuplas, registros, listas, los sindicatos, y un número de otros.

    F# es un "impuro" lenguaje de programación, lo que significa que permite a los programadores a escribir funciones con efectos secundarios y el estado mutable, muy similar al estilo de programación que utilizan los lenguajes de programación imperativo como C # y Java; sin embargo es un CLI / .NET lenguaje de programación. CLI es una plataforma orientada a objetos.

    F# proporciona un potente conjunto de herramientas que pueden ser apreciadas por los desarrolladores experimentados. Esta sección describe contructs sintácticas y técnicas avanzadas de uso frecuente en los programas de F#.

    ReplyDelete