¿’Learn You a Haskell for Great Good: A Beginner’s Guide’ es un buen libro para comenzar o hay uno mejor para principiantes?

Es viable pero lejos de ser ideal. Si eres el tipo de persona que le gusta aprender de los libros, es un buen lugar para comenzar. Al mismo tiempo, se siente más como una referencia que como una introducción narrativa al lenguaje: las imágenes son agradables, pero no tiene un plan de lección coherente. Demasiado rápido, entra en la lista de características o funciones estándar con demasiado detalle en lugar de ayudar a construir su intuición para el idioma. Aprendí un montón de idiomas de este estilo de recurso, pero no funcionará para todos.

De hecho, comencé con Learn You a Haskell (LYAH). Me ayudó a comprender algunos conceptos básicos del lenguaje: aprendí la sintaxis y las ideas básicas y pude jugar en el REPL lo suficiente como para comenzar a hacer las cosas por mi cuenta. Sin embargo, lo encontré bastante seco y me aburrí rápidamente. Esto no fue del todo inesperado: a menudo aprendo usando libros y tutoriales como trampolín para trabajar en mi propio proyecto, completando todo lo que me falta en la documentación normal. Pero esto sucedió antes en LYAH que en otros libros que leí: ni siquiera me sobrepuse a la programación independiente y productiva de Haskell antes de renunciar al libro. Creo que dejé de leer los capítulos 5 o 6 antes de tratar algunos de los conceptos clásicos como las mónadas. Esta fue una experiencia bastante diferente de la mayoría de los otros lenguajes y marcos que he aprendido, con la notable excepción de C ++, probablemente el lenguaje más complejo y difícil que se usa actualmente.

Lo que realmente me hizo “superar la joroba” fue asumir un proyecto más grande en forma de “Escríbete un plan en 48 horas”. Esto tenía todas las piezas que necesitaba para armar un programa completo por mi cuenta. Después de eso, podría trabajar en cosas completamente por mi cuenta, leyendo al azar cosas en línea mientras intentaba resolver problemas específicos en mi código. Es mi enfoque normal.

Si te gusta aprender en un estilo similar al mío, este es realmente un camino decente: lee lo suficiente de LYAH para aprender ideas, sintaxis y vocabulario básicos de Haskell y luego salta y haz lo tuyo. No hay necesidad de terminar el libro o incluso leer la mayor parte del tiempo, siempre y cuando comience. Después, puede encontrar recursos relevantes por su cuenta: hay excelentes explicaciones para todo tipo de cosas que flotan, simplemente no organizadas en un solo libro o plan de lección. Y si no puede encontrar nada, siempre puede preguntar en línea, ya sea en StackOverflow o / r / haskell o incluso aquí. He encontrado que Haskellers responde constantemente a las preguntas en línea.

Si prefiere aprender de una manera más estructurada, y muchas personas lo hacen, entonces esta opción es bastante débil. No recomendaría LYAH en absoluto. Por lo que he escuchado, una buena opción es el curso CIS 194 de UPenn que tiene todas sus conferencias y recursos disponibles en línea. No puedo decir mucho más, además porque mi propio aprendizaje tiende a ser significativamente desestructurado , por lo que generalmente no uso recursos como este.

Realicé un curso en línea sobre edX Introducción a la programación funcional por Erik Meijer y eso me hizo cambiar de opinión, me recomiendan programar en Haskell, pero solo el curso en línea y Learn You a Haskell for Great Good! es suficiente para comenzar, (bueno, quizás este documento también: http://www.cs.nott.ac.uk/~pszgmh …), ¡lo bueno del curso es la cantidad de ejercicios que tienes que hacer! Realmente es un muy buen lugar para comenzar.

No sé si hay uno mejor para principiantes, ya que este es el único que he leído. Sin embargo, LYAH es un muy buen libro para principiantes. Es muy fácil de seguir y el estilo de escritura y las ilustraciones son muy agradables. También está disponible de forma gratuita en línea, por lo que es otra ventaja. Te recomendaría que comiences a leerlo. Buena suerte y disfruta :).