Cómo diseñar programas intenta hacer dos cosas muy diferentes. Una de ellas es enseñar a las personas que no saben programar. Esto claramente no es algo que necesitas. Pero también hace algo más, que incluso los programadores profesionales, al menos aquellos que están dispuestos a tener una mente abierta y trabajar en un libro que no está realmente escrito a su nivel, han encontrado muy valioso.
Lo que enseña HtDP es el principio del diseño basado en datos. Esta es la filosofía que subyace a la programación tanto funcional como orientada a objetos, pero rara vez se articula de manera clara o bien. Muestra una metodología de diseño de varios pasos que comienza con el análisis de datos, ejemplos de datos, una comprensión abstracta de la funcionalidad, comprensión concreta en forma de ejemplos (también conocidos como casos de prueba ) y una construcción de plantilla de programa a partir de los datos. Usando este principio de diseño estructural, también da una idea del corazón de los algoritmos : qué partes son rutinarias y qué partes requieren saltos de información.
La segunda edición muestra cómo estas ideas se aplican también a la escritura de programas interactivos, a través de pequeños juegos. Incluso los juegos más grandes tienen un modelo de datos enriquecidos subyacentes y transformaciones sobre ellos, y separan de esto las partes “gráficas”. Entonces, una vez que el problema se descompone en estas partes, las mismas ideas pueden aplicarse al modelo. Por lo tanto, la separación de vista de modelo surge de una manera que es natural, liviana e inmediatamente útil.
Todas estas son ideas que los desarrolladores profesionales deberían encontrar útiles en su práctica, y muchas tienen. Incluso los programadores experimentados que conozco tienen esa experiencia de quedar atrapados en medio de algo, dar un paso atrás, aplicar la receta HtDP y salir del caos.
- ¿Qué empresa de diseño web recomendarías para los servicios de desarrollo de Joomla?
- ¿Por qué los diseñadores gráficos solo usan dos herramientas: Photoshop e Illustrator?
- ¿Qué debo hacer para aprender a ser diseñador de tiendas y diseñador de tiendas?
- ¿Cómo me convierto en diseñador de productos?
- ¿Cuál es el mejor lugar para estudiar diseño gráfico?
Finalmente, HtDP también te enseñará a pensar como un programador funcional. Incluso si elige no programar de esa manera posteriormente, (a) notará que sus ideas infectan muchas cosas que hace, incluso en el mundo Python / Java / C ++, y (b) aprenderá una nueva forma de hacer las cosas, uno que será útil en muchos contextos que puede encontrar a lo largo de los años.
Por lo tanto, creo que HtDP tiene algo que ofrecer a los desarrolladores mostrándoles estas ideas reducidas a su esencia. Sin embargo, será un poco lento porque está escrito para personas que nunca han programado.