Incluso si nunca terminas usando la programación funcional, aprenderla te enseña nuevas formas de pensar .
Para aprovechar al máximo esto, sugiero elegir el idioma con la perspectiva más diferente: Haskell. Recomiendo Haskell porque es un lenguaje sorprendentemente profundo y básicamente la única opción que pone primero la programación funcional. También tiene una filosofía particular en su comunidad y bibliotecas que es muy difícil de encontrar en cualquier otro lugar.
Cuando menciono la programación funcional a partir de ahora, estoy hablando principalmente de Haskell.
Contrariamente a las impresiones populares, la programación funcional no es solo “programación imperativa sino menos”. De hecho, es una base diferente para el cálculo. Programar funcionalmente no es un subconjunto de programación imperativamente; en cambio, los dos estilos son en realidad en gran medida desarticulados.
- ¿Puede la IA aprender a hacer el tonto para extraer más información?
- ¿Es cierto que cuanto más aprendes, más ganas?
- ¿Qué hábito cambió tu vida?
- ¿Puedes aprender a programar hardware por tu cuenta?
- ¿Hay algún sitio en línea donde pueda aprender el uso de FLUENT en CFD?
De hecho, ni siquiera puede traducir las características una a una: es probable que una única característica imperativa (por ejemplo, for-loops) se asigne a un conjunto de características funcionales diferentes (recursión, pliegues, estructuras de datos diferidas) y viceversa. versa (por ejemplo, las listas de Haskell pueden actuar como estructuras de datos y control de flujo).
Es una nueva perspectiva. Y el aprendizaje de perspectivas radicalmente diferentes le ayuda a abordar los problemas desde nuevas direcciones, lo que podría conducir a soluciones novedosas. Considere, por ejemplo, los “Clasificadores algebraicos”, que es un documento ICML cuyo enfoque central se inspiró en el estilo de programación de Haskell.
Además, aunque muchas técnicas y funciones de programación funcional aún están bloqueadas en los lenguajes funcionales (especialmente Haskell), otras muchas ya se han filtrado a los lenguajes más populares “multiparadigm”: cualquier cosa, desde Scala a C # a C ++. Puede usar ideas que haya aprendido para escribir de forma más limpia y concisa en los idiomas que ya está usando.
Además, no hay nada que decir que no podrá utilizar Haskell o un lenguaje similar en proyectos futuros. Siempre es bueno mantener tus opciones abiertas. Si conoce Haskell, puede evaluarlo razonablemente en el futuro; después de todo, ¡ahora mismo ni siquiera sabes lo que te estás perdiendo! Haskell es en realidad una muy buena opción para una amplia gama de proyectos, incluido mi tipo favorito: análisis estático, DSL, etc.
Finalmente, hay algunas empresas excepcionales que utilizan la programación funcional y son excelentes lugares para trabajar. Hay algunas opciones interesantes en finanzas como Standard Chartered Bank, S&P Capital IQ y Jane Street. También hay algunas de las empresas más interesantes técnicamente fuera de la academia como Galois. Por lo tanto, la programación funcional también podría ser una “entrada” para algunas compañías grandes pero muy selectivas.
Entonces: aprender funcional principalmente para obtener una nueva perspectiva . Pero también tenga en cuenta que puede usar funciones funcionales en otros idiomas, usar un lenguaje de funciones en un proyecto futuro o incluso trabajar en una empresa funcional . Un valor bastante bueno sobre todo, creo.