Saludos, Ya te mandaron varios enlaces.. históricamente todo este movimiento comenzó con el lenguaje LISP que es simplemente "demasiado" poderoso, un lenguaje "programable" que puedes extender sin cambiar de compilador, solo agregando más librerías, pero bueno.. eso es otro rollo..
Eso si.. no hay que confundir la "programación funcional" con la "programación concurrente".. muchas veces van de la mano porque se complementan muy bien pero son dos cosas distintas. La programación funcional viene del "cálculo de lambda", un tipo de álgebra que opera sobre funciones y su composición y descomposición que inventó el matemático norteamericano Alonso Church en los años seminales de la computación. Si bien es cierto aprender Haskell es un excelente ejercicio académico yo te aconsejaría entrar por cosas más concretas y más aplicables. No quiero decir que no existan programas comerciales en Haskell pero el enfoque que tiene de programación funcional pura lo hace un poco más complicado y algo difícil de consumir. Yo te aconsejaría comenzar con Scheme, un dialecto de LISP diseñado justamente para aprender a programar y con posiblemente uno de los libros más importantes de la historia de la programación, el famoso "Structure and Interpretation of Computer Programas" o también conocido "libro de los magos" (por la carátula) aunque es posible que salgas hecho un "mago de la programación" si lo lees :) http://mitpress.mit.edu/sicp/ El libro completo está disponible de forma gratuita como HTML y además hay videos en Internet sobre cursos completos basados en ese libro. Solía ser el libro de texto para comenzar a aprender programación en el MIT. Ahora lo han cambiado por Python por razones completamente distintas que alguna vez el propio Stallman me explicó en persona porque el había conversado con el Prof. Sussman, uno de los autores de SICP y que tenían que ver básicamente con algo mas pragmático: ahora no enseñan a programar sino a hacer "ingeniería" y en ese curso también hacen robots y ven otro tipo de cosas y Python era un lenguaje mucho más vigente, con más librerías y mucho más mainstream que Scheme. Lo bueno es que todo lo que aprendas con SICP es directamente aplicable a Clojure e incluso a Javascript. Este recurso es bien interesante y útil porque te explica muchos de los conceptos de SICP usando Javascript en lugar de Scheme (LISP): http://stevelosh.com/blog/2013/03/list-out-of-lambda/ Otro libro conocido, que podrías tomar como un paso a previo a estudiar con SICP es "The Little Schemer". No tengo un link a la mano pero si lo buscas lo vas a encontrar completo. Acá el famoso programador y autor de libros de Javascript, Douglas Crawford desarrollo todo el libro pero nuevamente usando Javascript y no Scheme: http://javascript.crockford.com/little.html Y es que pocos lo saben pero el propio Brendan Eich, el creador de Javascript, explica que el lenguaje originalmente iba a ser básicamente Scheme en el browser, pero que la gente marketing de Netscape convenció a la gerencia de que pidieran que le pusiera una sintaxis similar a Java conservando la semántica de Scheme y así nació Javascript. Literalmente se colgaron de la fama de Java que estaba creciendo como la espuma por esos días. En cuanto a la programación concurrente, es un tema distinto que tiene principalmente sus orígenes en el trabajo de Tony Hoare y otra álgebra que el creó que se llama CSP o "Communicating Sequential Processes". De ese trabajo de los años 70's es de donde salen principalmente las ideas que sirvieron pra que otros creen languages como Erlang y Occam y toda una tradición que termina más recientemente con la creación por Rob Pike del lenguaje "Go" en Google. Sin embargo, no te rayes con ambas cosas a la vez. Ataca lo de la programación funcional primero que cada vez es más relevante y al parecer podría llegar a dominar, combinada con la programación concurrente el "dia a dia" de la programación en los próximos años. Suerte, Antonio El día 13 de julio de 2013 10:49, Clever Flores <[email protected]> escribió: > La programación funcional es un paradigma que ha renacido y se usa en la > computación moderna para multiproceso y aplicaciones distribuidas, > > Lenguajes tienes varios de los que destacan: > Lisp, Erlang, Haskell > Scala, Clojure (se ejecutan sobre JVM) > F# (se ejecuta sobre CIL) > JavaScript > > Puedes buscar manuales de cualquiera de ellos y un buen sitio de noticias > realacionadas es > http://www.reddit.com/r/programming > > > El 13 de julio de 2013 05:56, Alfonso de la Guarda <[email protected]> > escribió: > >> Hola, >> >> Ya te recomendaron Haskell, es un excelente lenguaje, lo he empleado para >> un par de proyectos en clusters y su manejo de multiprocesos es precioso, >> los convierte en algo trivial, además su rendimiento que algunos benchmarks >> lo colocan casi a la par con JAVA (compilado), el problema es que mucho lo >> tienes que hacer a mano, aunque ya existen incluso frameworks web. >> >> Documentación libre en: >> http://www.etnassoft.com/biblioteca/?search_term=haskell&books_category=all&books_criteria=post_date_DESC&lang=all&since=all >> >> >> >> Saludos, >> >> -------------------------------- >> Alfonso de la Guarda >> Twitter: @alfonsodg >> Redes sociales: alfonsodg >> Telef. 991935157 >> 1024D/B23B24A4 >> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 >> >> >> 2013/7/12 raul agustin navarro almeida <[email protected]> >>> >>> Estimado amigos de la lista, tengan un buen día, tengo material sobre >>> programación funcional, quisiera saber su opinión de uds, sobre este tipo de >>> programación, y si tuvieran información sobre esto se los agradecería. >>> >>> Gracias >>> >>> _______________________________________________ >>> Lista de correo Linux-plug >>> Temática: Discusión general sobre Linux >>> Peruvian Linux User Group (http://www.linux.org.pe) >>> >>> Participa suscribiéndote y escribiendo a: [email protected] >>> Para darte de alta, de baja o hacer ajustes a tu suscripción visita: >>> http://voip2.voip.net.pe/mailman/listinfo/linux-plug >>> >>> IMPORTANTE: Reglas y recomendaciones >>> http://www.linux.org.pe/listas/reglas.php >>> http://www.linux.org.pe/listas/comportamiento.php >>> http://www.linux.org.pe/listas/recomendaciones.php >>> >>> Alojamiento de listas cortesia de http://cipher.pe >> >> >> >> _______________________________________________ >> Lista de correo Linux-plug >> Temática: Discusión general sobre Linux >> Peruvian Linux User Group (http://www.linux.org.pe) >> >> Participa suscribiéndote y escribiendo a: [email protected] >> Para darte de alta, de baja o hacer ajustes a tu suscripción visita: >> http://voip2.voip.net.pe/mailman/listinfo/linux-plug >> >> IMPORTANTE: Reglas y recomendaciones >> http://www.linux.org.pe/listas/reglas.php >> http://www.linux.org.pe/listas/comportamiento.php >> http://www.linux.org.pe/listas/recomendaciones.php >> >> Alojamiento de listas cortesia de http://cipher.pe > > > > > -- > Clever Flores > Perú Linux SAC > Tel: 640-5800 Anexo 104 > Blog: http://www.perulinux.pe/blog/clever > > _______________________________________________ > Lista de correo Linux-plug > Temática: Discusión general sobre Linux > Peruvian Linux User Group (http://www.linux.org.pe) > > Participa suscribiéndote y escribiendo a: [email protected] > Para darte de alta, de baja o hacer ajustes a tu suscripción visita: > http://voip2.voip.net.pe/mailman/listinfo/linux-plug > > IMPORTANTE: Reglas y recomendaciones > http://www.linux.org.pe/listas/reglas.php > http://www.linux.org.pe/listas/comportamiento.php > http://www.linux.org.pe/listas/recomendaciones.php > > Alojamiento de listas cortesia de http://cipher.pe _______________________________________________ Lista de correo Linux-plug Temática: Discusión general sobre Linux Peruvian Linux User Group (http://www.linux.org.pe) Participa suscribiéndote y escribiendo a: [email protected] Para darte de alta, de baja o hacer ajustes a tu suscripción visita: http://voip2.voip.net.pe/mailman/listinfo/linux-plug IMPORTANTE: Reglas y recomendaciones http://www.linux.org.pe/listas/reglas.php http://www.linux.org.pe/listas/comportamiento.php http://www.linux.org.pe/listas/recomendaciones.php Alojamiento de listas cortesia de http://cipher.pe
