¿Cuáles son algunas aplicaciones bien conocidas escritas en F #? [cerrado]

13

Como parte de una búsqueda continua de conocimiento, pasaré un tiempo esta semana aprendiendo los conceptos básicos de F # como una introducción a la programación funcional. Creo que estoy entendiendo la construcción de software bajo este modelo y algunos de los beneficios propuestos, pero todavía estoy un poco confuso en los casos de uso del mundo real.

Esperaba que las historias de éxito de F #, o al menos algunas aplicaciones con las que estaría familiarizado, pudieran aclarar un poco más cuándo F # (o cualquier lenguaje de programación funcional) sería apropiado para un proyecto.

Volviendo a la pregunta, ¿cuáles son algunas aplicaciones bien conocidas que usan F # o un lenguaje de programación funcional similar?

Por cierto: también estoy abierto a escuchar sobre algunas aplicaciones menos conocidas, pero si menciona una, explique los aspectos básicos de la aplicación y por qué el idioma utilizado fue la opción adecuada.

JohnFx
fuente
Tengo curiosidad por esto bien. Pensé que F # era un lenguaje del Departamento de Investigación MS orientado a las matemáticas. Sería interesante ver si hay algún programa que lo use que sea reconocible. Sin embargo, dudo que haya programas 'bien conocidos' que sean completamente F #.
Kavet Kerek
1
Esta pregunta parece estar fuera de tema porque es una pregunta basada en encuestas.
jet.com, la startup de comercio electrónico inicialmente escrita en F # fue comprada por Walmart hace un par de años por $ 3 + miles de millones
KolA

Respuestas:

8
  • Todo el sistema F # (compilador, bibliotecas y herramientas)
  • IronJS (ya mencionado)
  • El algoritmo XBox Live TrueSkill, así como todo el sistema de Logros, el sistema de clasificación y el sistema de emparejamiento que lo rodea

Supongo que la razón principal por la que no hay aplicaciones "conocidas" escritas en F # es porque lleva años, incluso décadas, convertirse en "conocidas" y F # simplemente aún no es tan antiguo.

Sin embargo, la gran mayoría de las aplicaciones no son "bien conocidas". Solo hay un PowerPoint, pero hay literalmente millones de pequeñas aplicaciones personalizadas de nómina personalizadas escritas a mano.

Y F # ciertamente se usa internamente en muchas compañías financieras, haciendo computación científica y numérica en, por ejemplo, biotecnología o greentech, haciendo estadísticas que Dios sabe dónde, etc. Estas aplicaciones no son bien conocidas, ya sea porque simplemente no son "sexys" o porque las compañías consideran a F # su arma secreta que les da una ventaja competitiva. (OCaml, Smalltalk y APL cumplen funciones similares. Muchas compañías financieras usan APL, por ejemplo, pero no lo publicitan ampliamente. De hecho, a menudo los usuarios de APL ni siquiera son programadores, y por lo tanto ni siquiera sabrían dónde y cómo para publicitarlo incluso si quisieran).

Jörg W Mittag
fuente
1
Según Wikipedia, F # tiene 8 años. PHP, Java, C # se usaban en aplicaciones conocidas mucho antes de que llegaran a esa edad. C #, por ejemplo, salió en 2001. Y está bastante claro que F # está más de un año atrás de C # en términos de uso.
GrandmasterB
55
@GrandmasterB: Eso podría no ser exactamente una evaluación justa. F # fue solo un proyecto experimental hasta que se productivizó en VS2010, aunque fue viable en 2008. Por lo tanto, no lo llamaría exactamente 8 años.
Robert Harvey
3

Hay Tabbles . Un administrador de archivos y organizador, con muchas características. Proporciona un sistema de etiquetado que incluso puede compartir con otros. Es un producto comercial.

Kaveh Shahbazian
fuente
1

Me he preguntado lo mismo por un tiempo. Realmente me gusta F # pero no he visto nada en el ámbito de una aplicación comercial. Lo que he escuchado (y con bastante frecuencia) es que F # se ha utilizado mucho en el ámbito financiero.

¿Qué marcos web decentes existen para la programación funcional? tiene algunos ejemplos de marcos web para lenguajes de programación funcionales y sé que http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspx es un artículo sobre cómo escribir un ASP.Net MVC 2 Aplicación web en F #.

Como he estado buscando artículos sobre F # y muchos ejemplos y elogios de la gente han llegado en forma de analizadores de registros. Pero eso siempre se sigue con una advertencia de algo como "No se me permite usar el idioma en el trabajo" (parafraseado, por supuesto). Trataré de encontrar más ejemplos.

He estado jugando con la idea de crear un MUD (Multi-User Dungeon) basado en texto en F #, pero parece que nunca tengo tiempo.

Jetti
fuente
MUD == Mazmorra multiusuario?
Robert Harvey
@Robert Harvey, eso sería correcto. Lo editaré para aquellos que no lo saben.
Jetti
Olvidé agregar WebSharper. Permite a los desarrolladores crear sitios web completamente en F #.
Jetti
0

Miré brevemente a F # cuando quería escribir un analizador SQL, que terminé implementando en Haskell. Dicho esto, podría usar F # en cualquier lugar donde usaría C #, pero ¿valdría la pena? Si va a hacer mucha programación funcional, valdrá la pena usar F #, ya que la sintaxis para las construcciones funcionales es más amigable. Si está haciendo principalmente OO, probablemente sea mejor quedarse con C #.

Larry Coleman
fuente
Estoy de acuerdo con Larry Coleman. ¿Por qué alguien haría algo en F # cuando puede hacerlo en C #? Creo que es seguro decir que la mayoría de las veces que F # es beneficioso sobre C # no está en una situación de aplicación comercial.
Jetti
1
Creo que esta es en gran medida la perspectiva de la EM también. C # y VB.NET se presentaron como / o entre sí, pero creo que el objetivo con F # (y, en menor medida, lenguajes como IronPython y Boo) es fomentar la programación políglota: usar diferentes lenguajes con características únicas para resolver diferentes tipos de problemas
CodexArcanum
@Jetti F # es muy bueno para cualquier tipo de procesamiento de datos, para análisis y para cualquier campo pesado de cálculo donde la corrección sea importante. La programación funcional en general ofrece un nivel de expresividad que hace que muchos tipos de programas sean muy fáciles de escribir. Nada de eso es muy visible, cosas de front-end como un sitio web o una aplicación GUI, áreas donde C # sobresale. Puede usar LINQ para obtener algo de FP en C #, pero F # es un lenguaje más natural para expresar dicho código.
CodexArcanum
@CodexArcanum: estoy completamente de acuerdo con usted. Supongo que estaba confundiendo "Aplicación comercial", debería haber dicho "Aplicación de consumo diaria (es decir, Office, Firefox, etc.)"
Jetti
1
@Jetti: recomendaría Haskell sobre F # si estás interesado en aprender programación funcional. Lo aprenderá más rápido porque no podrá realizar procedimientos u OO en él.
Larry Coleman
0

Hierro JS .

Personalmente, creo que es extraño que la única aplicación que conozco que esté escrita en F # sea algo que le permita escribir en un idioma que no sea F #.

Para mí, eso dice mucho sobre el verdadero valor de la programación funcional. La gente puede celebrar cuán "bello" es todo lo que quieren: si fuera tan bello, la gente lo usaría más.

Riwalk
fuente
No estoy de acuerdo con tu última declaración. Las personas SÍ usan F #, de hecho, lo usan tanto que se ha convertido en parte de Visual Studio 2010. F # ha sido adoptado en el sector financiero al igual que Erlang en telecomunicaciones. El hecho de que pueda escribir una aplicación en F # no significa que lo haga. ¡El lenguaje (y los idiomas FP en general) tienen sus puntos fuertes y débiles, por lo que serán ampliamente utilizados en áreas que pueden beneficiarse de su fuerza!
Jetti
@Jetti, claro. Han pasado más de 30 años desde que se concibió la programación funcional, pero estoy seguro de que está obligado a eliminar la programación procesal de su pedestal en cualquier momento. No digo que no tenga algunos méritos, algunas cosas se pueden hacer de manera elegante con funcional. Lo que estoy diciendo es que nunca dominará.
Riwalk
@ Stargzer712 - Estoy de acuerdo en que nunca dominará y por una buena razón también.
Jetti