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

Responder a