Una nueva forma de programar
En esta entrada del blog, hablaré acerca del artículo “The Promises of Functional Programming” por Konrad Hinsen. Algo interesante de este artículo, fue que a pesar de que la programación imperativa es más fácil para compilar para una computadora, la programación funcional ha ido en crecimiento, debido a su robustez más alta y fácil de probar que la imperativa. Y el mayor uso de este tipo de programación es en el Matemática, pero esta área no es usada comúnmente para hacer programas esenciales complejos.
Me llamo mucho las diferencias principales con la programación imperativa es sobre la asignación de variables y sobre la omisión del loop, pero lo que más me interesó o me pareció el mayor diferenciador fue el llamado “chain call” para poder probar el comportamiento de la mejor manera posible, donde podíamos ver realmente como evoluciona el programa.
La forma de programar en los lenguajes funcionales es el salir un poco de la caja, de la forma a la cual nos han estado enseñado a programar desde que estábamos, haciendo referencia a un concepto llamado “high-order functions”, donde funciones toman como parámetro a otras funciones, algo completamente nuevo y difícil de asimilar para mí.
El aspecto que me pareció más relevante en comparación a otros lenguajes es el poder usar el paralelismo y la concurrencia, debido a que los paradigmas de programación anteriores, hacían realmente difícil poder usar estos conceptos de manera adecuada sin que el programa realice comportamientos incorrectos. Obviamente este concepto, esta lejos de poder hacerse realidad, pero ya se mostró el camino adecuado para llegar a la paralelización de forma automática, los compiladores de nuestros tiempo, no nos permite por sus capacidades pero en un futuro no tan lejano podríamos llegar a unos programas con la paralelización semiautomática.
Los lenguajes funcionales están siendo algo retador debido a que se tiene que ver la programación de una forma distinta a la que estamos acostumbrados.
Comentarios
Publicar un comentario