Estoy buscando un libro que explique la programación funcional de manera accesible. También preferiría uno que no sea demasiado aburrido y que no use un lenguaje esotérico.
Idealmente, utilizará ejemplos que demuestren situaciones en las que la programación funcional conduce a soluciones más elegantes o más simples que los enfoques imperativos.
Tengo una cantidad razonable de experiencia en programación, pero no tengo conocimientos de programación funcional. Gracias por cualquier sugerencia
books
functional-programming
Antonio2011a
fuente
fuente
Respuestas:
Yo sugeriría comenzar con " The Little Schemer " (y tal vez " The Reasoned Schemer " después de eso).
Si cree que Scheme es demasiado esotérico, o si le gusta Javascript, Douglas Crockford ha traducido muchos de los ejercicios a Javascript: http://javascript.crockford.com/little.html
Si disfruta de C #, la " Programación funcional del mundo real " de Tomas Petricek sería un excelente lugar para comenzar. También sirve como una buena introducción a F #.
fuente
Si le gustan los idiomas y [paréntesis] estáticamente escritos:
Haskell, aunque es bastante pesado en la pureza del paradigma de programación, tiene una de las mejores introducciones a un lenguaje que aún he visto en forma de "¡Aprende Haskell por un gran bien!". El formulario de libro es opcional ya que el sitio web es gratuito, pero este es un autor que no me decepcionó en absoluto. Real World Haskell es bueno, pero realmente es mejor tomarlo como seguimiento de [Learn..Good]. RWH también es gratis con papel opcional.
Desde Haskell, puede pasar fácilmente a otras variantes de ML como F # u OCaml, las cuales son más utilizadas. Para el borde sangrante ATS .
Si lo desea (y paréntesis de tipaje dinámico):
Scheme es el más funcionalmente orientado de los dos dialectos principales de Lisp, más pequeño y más puro que Common Lisp pero menos utilizado en la industria. Personalmente, me gusta The Structure and Interpretation of Computer Programmes, pero es un libro bastante pesado en teoría, que si bien es un poco difícil de tragar, te convertirá en un mejor programador.
Si prefiere Common Lisp, Practical Common Lisp o Land of Lisp parecen buenas inversiones, la primera es gratuita en línea y la segunda es bastante barata y, lo que es más importante (para algunos), se centra en el juego. Es más poderoso aunque menos puro que Scheme.
De estos, puede expandirse a Clojure si lo desea. Es Lisp para la JVM, por lo que es más fácil de implementar y puede defenderse mejor de los cargos de ser "académico". Clojure puede implementarse en .NET y también pasar a Javascript. Para .NET nativo, prueba IronScheme .
También puede dividir la diferencia y aprender ambas cosas a la vez con Write Yourself a Scheme in 48 Hours in Haskell.
fuente
Mi fuente favorita es la Introducción Gentil a Haskell . Leí parte de Learn you a Haskell and the O'Reilly Real-World Haskell and Simon Thompson's Craft of Functional Programming , pero honestamente me está yendo mejor con la suave introducción. Es algo así como el K&R de Haskell: un documento delgado producido por los creadores del lenguaje. No es prolijo, no condescendiente, pero tampoco intenta abrumarte con su erudición.
fuente
http://hop.perl.plover.com/ incluye un libro que puedes descargar gratis. Explica cómo usar muchas técnicas funcionales en Perl.
La mayor parte de lo que dice se puede traducir fácilmente a JavaScript, Ruby o Python.
fuente
Actualmente estoy aprendiendo programación funcional yo mismo. Sin embargo, estoy aprendiendo a usar Haskell.
Aquí hay un par de libros en línea (también puede comprarlos en iirc de tapa dura)
Haskell no es esteroico y se está volviendo más convencional (posiblemente no tan convencional como LISP o Erlang). Sin embargo, es un lenguaje funcional puro y lo obligará a aprender el paradigma de programación funcional. A diferencia de un enfoque mitad imperativo mitad funcional que obtendrá usando un lenguaje no puramente funcional.
La gente ha desarrollado servidores web, clientes de Bittorrent y algunas aplicaciones del mundo real utilizando haskell. Sin embargo, lo estoy usando personalmente para aprender los conceptos y luego aplicarlo a C # y F #, que hasta ahora ha funcionado fantástico.
Disfrutar.
fuente
Escuché cosas buenas sobre "Estructura e interpretación de programas de computadora" varias veces. Es un libro real, por lo que es posible que también desee obtenerlo en papel, consulte http://www.amazon.co.uk/Structure-Interpretation-Computer-Electrical-Engineering/dp/0262510871 .
Está disponible gratuitamente aquí http://mitpress.mit.edu/sicp/ ( http://mitpress.mit.edu/sicp/full-text/book/book.html ) e incluso hay videos de las conferencias ( http: //groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ )
fuente
Programación en Haskell
Puede que no decidas comprarlo, pero la página de inicio del libro (ver arriba) enlaza con 13 videos del canal 9 en la programación de Haskell.
fuente