Pregunta

Estoy escribiendo algunos materiales de lección para un curso que comienza en un par de semanas.Elegí el Clojure como un nuevo idioma para que los estudiantes aprendan.Me gustaría dedicar un capítulo para refactorizar el código imperativo al código funcional.Para esto me gustaría tener un conjunto de problemas prácticos que no estén alejados por los cuales podría mostrar cómo se comparan las soluciones imperativas y funcionales.Preferiblemente, los problemas no tienen énfasis en las matemáticas, como el Proyecto Euler, pero son problemas de que un programador promedio debe lidiar con regularidad. ¿Quién tiene algunas buenas fuentes para esto?

Respuesta parcial: una de esas fuentes es http://langref.org/ .Más buscado!

¿Fue útil?

Solución

Aunque no es realmente práctico (porque los problemas prácticos lo suficientemente cortos como para ser presentados en una clase tienden a ser un poco aburridos), la programación del juego de la vida es una de mis formas favoritas de aprender un nuevo idioma.Como bono, el enfoque funcional es bastante diferente (y más elegante) que las soluciones imperativas.Además, cualquier tipo de problema en el que esté manipulando secuencias de datos (digamos, analizando una secuencia de tweets para la frecuencia de palabras, o algo así) hace ejemplos geniales.

Otros consejos

Es una vieja castaña, pero solo la implementación de una función factorial de diversas maneras es bastante iluminadora.Otro ejemplo común es un generador de números prime, que puede ser un poco más grande.

Me doy cuenta de que ambos son ejemplos de matemáticas, sino que solo requieren conocimientos básicos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top