Traducción de Haskell Hero

Introducción

Una parte muy importante de los estudios de informática es la programación funcional. Sin embargo, a los estudiantes no les gusta mucho aprender este tipo de programación y a muchos de ellos les parece muy difícil y también bastante inútil.

En la Universidad Masaryk en la República Checa muchos estudiantes suspenden la asignatura de la programación funcional. Un estudiante consiguió aprender la programación funcional de una manera simple – las funciones y las estructuras de datos las ha comparado con cosas de la vida real. Después pensaba que sus comparaciones podrían ayudar a muchos estudiantes y empezó a enseñar la programación funcional con el método de cajas, creando el manual Haskell Hero. Ya que este manual tenía mucho éxito en la Universidad Masaryk, se empezó el proyecto dedicado a la traducción de este manual al español para que también los estudiantes españoles pudieran aprovechar este método de enseñanza visual y atractivo.

Haskell Hero (la versión checa)

Haskell Hero (www.haskellhero.grifart.cz) es un manual interactivo de Haskell. Los estudiantes que se registran en la página web pueden marcar su progreso y también pueden evaluar las partes del guía individuales.

Haskell Hero está utilizado por la mayoría de los estudiantes de la asignatura de la programación funcional en la Universidad Masaryk en la República Checa. Es muy útil y en comparación con el manual de Haskell popular, ¡Aprende Haskell por el bien de todos!, no es tan extenso y es más amigable con el estudiante sin experiencia.

Autor y su motivación

Este manual lo escribió un estudiante checo Standa Novák de la Universidad Masaryk como su tesis de bachillerato. El motivo para este manual fue la asignatura de programación funcional y el gran número de los estudiantes que han suspendido el examen de esta asignatura. Standa Novák quería crear un guía para todos a los que la programación funcional parecía muy difícil e imposible para comprender. Quería que el manual les ayudara no solo a aprender, pero también a apreciar este tipo de programación y a aprovecharse de su conocimiento.

Haskell y la programación funcional

Haskell es un lenguaje de programación funcional. La programación funcional es diferente de la programación imperativa porque en la programación funcional no es importante cómo llegar hasta el resultado, sino qué es el resultado. Ya que es suficiente escribir en el programa solo el resultado, los códigos fuente son a menudo mucho más breves y elegantes que por ejemplo los códigos fuente de lenguajes como Pascal, C++ o Java. Sin embargo, para este tipo de programación se necesita un pensamiento más abstracto.

Método de cajas

El autor creó su propio método de explicación de los elementos básicos. El método lo llama “el método de cajas” y además de las cajas él usa también por ejemplo el modelo de tren para la explicación visual de algunos conceptos. Según los estudiantes que ya han usado el manual es el método muy comprensible y ayuda mucho a los que tienen problemas con los conocimientos de Haskell fudamentales.

En el método de cajas las expresiones se enuncian en general con varios cuerpos geométricos (un cilindro, un prisma, un tren, etc.). Las funciones se representan con cajas. Más exactamente con una caja en la que se introduce algo, la caja se agita y después cae el contenido de la caja. Un tipo es una caja que contiene cajas de la misma forma. Una lista se representa por un tren. Es un tren donde elementos son representados por coches, el operador (:) por un guión entre coches y la lista vacía por una locomotora.

Traducción

La versión española de Haskell Hero (www.haskellhero-es.grifart.cz) es una traducción completa del manual. Contiene todas las lecciones, imagenes y elementos interactivos. En la página web se puede también encontrar una información sobre el proyecto del manual checo y sobre el autor. En el manual se omitieron solo informaciones que fueron útiles solo para estudiantes de la Universidad Masaryk.

Referencias

Documentación completa: Documentación – Dropbox

Haskell Hero – versión checa

Haskell Hero – versión española

Otro manual de Haskell: ¡Aprende Haskell por el bien de todos!