vigilarías usar una qué que programacion porque mejor integración integracion informatica estrategia establecer empresariales elementos desventajas cual aplicaciones c# f#

c# - usar - que es angular en programacion



¿Cuáles son las ventajas de F#sobre C#para el desarrollo de aplicaciones empresariales? (3)

Posible duplicado:
¿Cuáles son los beneficios de usar C # frente a F # o F # frente a c #?

Mi equipo actualmente usa C # .NET para desarrollar aplicaciones empresariales para nuestra empresa. Tenemos un historial de desarrolladores de Winforms, pero ahora nos estamos moviendo hacia SilverLight.

Mi jefe recientemente vio un video en F # y pensó que se veía muy emocionante, y me pidió que lo revisara. Mi pregunta es esta: ¿qué ventajas tendría un lenguaje funcional (como F #) sobre un lenguaje OO (como C #) en el ámbito del desarrollo de aplicaciones empresariales?

Realmente quiero ver si hay alguna razón convincente para siquiera comenzar a contemplar un cambio. También es bueno ver algunos códigos de comparación F # y C #.


Acabo de ordenar Manning '' Real World Functional Programming '', que hace un trabajo fantástico al explicar todos los rincones de la programación funcional F #, y especialmente cómo se compara con C # y OOP

A lo que me refiero es que la programación funcional en general aumenta el ''rigor'' de sus programas, suponiendo que se ajusten a los principios de las funciones libres de efectos secundarios y la inmutabilidad.

Además, parece haber beneficios para pensar en el código en un sentido declarativo, en lugar de un sentido imperativo. En OOP tiendo a pensar en los pasos necesarios para lograr algo, pero en FP parece que le preocupa más cómo quiere aplicar funciones a los datos para obtener resultados.


Puede expresar muchos conceptos mucho más concisamente en un lenguaje funcional como F #.

Las funciones son objetos de primera clase y se pueden aplicar directamente a las colecciones para realizar transformaciones / filtros de manera mucho más eficiente.

Se fomenta la inmutabilidad en los lenguajes funcionales, y esto hace que (por ejemplo) el código multiproceso sea mucho más confiable (usted sabe que las estructuras de datos no cambian con usted).

Al poder escribir código de subprocesos múltiples de forma más confiable y más fácil, es mucho más fácil aprovechar múltiples procesadores / núcleos (cada vez más importante ahora la ley de Moore no se aplica tanto).

Tenga en cuenta que puede usar sus objetos C # existentes dentro de F #. Como tal, es posible que desee escribir ciertas partes de su código en F # y otras partes en C #. Debería poder mezclar y combinar según sus requisitos y la idoneidad de cada enfoque.


en primer lugar, usted pregunta "lenguaje funcional (como F #) entregue un idioma OO (como C #) i" f # es funcional y OO. cualquier cosa que escribirías en c # se puede traducir directamente a f #. F # es un lenguaje multi paradigma, pero la ventaja proviene de la parte funcional en mi opinión. f # y otros lenguajes funcionales son un claro ganador cuando se trata de escribir aplicaciones de múltiples hilos debido a las mayores posibilidades para el compilador de razonar sobre qué se puede ejecutar de forma segura en paralelo.

Cuando se trata de desarrollo web, f # tiene un kit de herramientas muy bueno que le permite escribir todo el código (como en el lado del servidor y del lado del cliente) en el mismo idioma alias f #. el lado del cliente se traducirá a JavaScript mediante el kit de herramientas web.