Este artículo proviene de un motor de traducción automática.
Nota del Editor
Un enfoque en F#
Keith Ward
F# es un lenguaje de programación cada vez más importante y en crecimiento. Muchos desarrolladores están usando todos los días; muchos más deben ser usando de forma regular.
Ser tipos ocupados, no obstante, puede resultar difícil encontrar tiempo para aprender un lenguaje nuevo, resulta difícil suficiente obteniendo todos los días trabajo realizado. Por eso he pedido a Don Syme, el creador de F# y su equipo crack para responder a algunas preguntas comunes de F# escucho gente que le pregunta.
¿Por qué F# creado? ¿Necesidad de qué sirve?
La empresa moderna tiene una gama de necesidades de software que no se ajustan a la tradicional "aplicaciones de negocios" modelo de TI. Por ejemplo, modelado financiero implica a expertos de dominio de finanzas cuantitativas ("quants") que deban escribir e implementar modelos de analizan el valor y el riesgo de las posiciones de mercado. Estas personas se puede considerar como un ejemplo de un programador orientada al dominio.
Hay muchos ejemplos similares en las empresas modernas y nuevas empresas, incluidos a expertos de aprendizaje de máquinas, estadísticos, paralelos, científicos y algorítmicos; Estas personas son a menudo en el núcleo de los equipos de software moderno.
Los programadores de dominio siempre están en una búsqueda de herramientas que mejoran la productividad, performance y solidez en saldo y suelen utilizar lenguajes de secuencias de comandos analíticas como parte de su trabajo. Los lenguajes de secuencias de comandos con tipos son grandes de muchas maneras, pero pueden dar lugar a problemas reales. Por ejemplo, puede conducir a problemas como las aplicaciones crecen en tamaño. A menudo, no tienen buenas herramientas visual, por ejemplo, no IntelliSense, y no puede ser muy eficaz cuando se escribe código nuevo en el lenguaje. Por último, los componentes no viven en aislamiento y en última instancia deben implementarse como componentes de software encapsulada en el contexto de mayor.Sistemas de red.
Al observar ejemplos a través de la industria, la necesidad común es para una forma sencilla, concisa, eficaz y con tipo lenguaje que permite orientadas en matemáticas y expertos de dominio funcione en su dominio con problemas, en lugar de perderse en un mar de orientado a objetos código orientado a la clase de (OO), al tiempo que contribuye aún los componentes de software profesionales que interactúan bien. Que es donde F# encaja. En última instancia, este tipo de herramienta hace que a los expertos de dominio estarán más contentos y productivos de los miembros de los equipos de software.
Lo especial de F# es la que administramos obtener la mayoría de los beneficios de lenguaje dinámico (desarrollo rápido y concisión) mientras todavía también conserva los beneficios de idiomas con establecimiento inflexible (solidez, rendimiento y herramientas visuales), todo en el contexto de una plataforma altamente interoperable.
¿Cuáles son los escenarios más comunes para el uso de F#?
F# se puede utilizar para prácticamente cualquier cosa, pero se destaca en lo que llamamos "desarrollo de componentes analíticos". Esto incluye los motores de análisis de informes financieros y mercado (incluidos los controlada por eventos), los componentes de aprendizaje de máquinas de lado del servidor y otros análisis ricos en datos. Existen varios ejemplos de caso práctico en los sitios Web de Microsoft.
Algunos ejemplos interesantes fuera de interés son los usos de F# en transacciones, Bing energéticas de publicidad, proyecto de Emporia (un servicio de selección personalizada de noticias basado en aprendizaje de técnicas de máquina) y en el motor de inteligencia artificial de la "ruta de acceso de Go" de juego. All of these show where F# excels: analytical engines in the context of professional .NET software delivery.
¿Cuáles son las principales ventajas que tiene la F# sobre C# y C++?
F# difiere en muchos aspectos importantes de C#. Técnicamente hablando, algunas de las cosas que observará son las características de metodología y lenguaje funcional primero (como tuplas, listas y coincidencia de patrones); el fuerte enfoque en datos inmutables; la inclusión de la clave escritura características relevantes para científicos y numérica programación (incluyendo F# unidades de medida); el creciente uso de expresiones como una forma de reutilización de software (incluyendo características del lenguaje, como expresiones de objeto); la representación concisa de la programación OO; el modelo declarativo y composición de la programación asincrónica (una versión de los cuales es que aparece en la siguiente versión de C#); y la inclusión de un compilador interactivo dinámico denominado F# interactivo para secuencias de comandos.
F# puede ser sorprendentemente intuitivo para los programadores de c y C++. Quizás lo que se dará cuenta de más es la inmediatez de la programación con F# interactiva, algunas personas de C++ se sorprenden que es tan fácil tener acceso a datos y jugar con él en un lenguaje con establecimiento inflexible, mientras disfrutan de gran rendimiento. Software vuelve divertido y exploración.