Es realmente difícil hacer un sistema de programación visual que sea más que un juguete. Muchos vendedores han intentado escalar esa colina a lo largo de los años, pero ninguno lo ha logrado.
Personalmente, creo que es más valioso enseñar un proceso de varios pasos en la programación. Enseñe a los estudiantes a diagramas de flujo de su código en papel para resolver problemas de diseño, luego pasar a un lenguaje de programación adecuado para realizar la implementación y las pruebas detalladas. Este ha sido mi enfoque de la programación profesional durante muchos años, y lo recomiendo encarecidamente.
La ventaja del diagrama de flujo es la simplificación. Puede eliminar algunos de los detalles finos, como la declaración de tipo y la validación de argumentos, y centrarse en el flujo general del código. Si intenta hacer que sea ejecutable, no lo está haciendo más útil, posiblemente lo esté haciendo menos útil, forzando demasiados detalles en el diagrama de flujo. Mientras tanto, los diagramas de flujo consumen una gran cantidad de espacio en pantalla en comparación con el código basado en texto, lo que hace que sea más difícil “ver” la ejecución en lugar de más fácil.
Esta mañana, estoy trabajando en un pequeño pico, para descubrir una representación de datos compleja. Estoy usando Ruby y rspec para evolucionar el código usando Test-Driven Design. ¡Ya son un par de cientos de líneas, y Ruby es un lenguaje muy conciso! Incluso un poco trivial de descarte es demasiado complejo para representarlo fácilmente con un diagrama de flujo con detalles reales y ejecutables.
- ¿Cuál es la falacia lógica más sorprendente y por qué?
- ¿La ciencia afirma que el tiempo tiene un punto de creación? Si es así, ¿cómo podría haberlo precedido lógicamente?
- ¿Por qué los organismos son un mal método de controversia?
- ¿Qué significa el teorema de incompletitud de Godel y cómo se puede generalizar para hacer afirmaciones epistemológicas sobre cuánto o cuán poco los humanos pueden esperar comprender sobre la realidad?
- ¿Cuál es la relación entre la enseñanza de idiomas y la pragmática?
De todos modos … en lugar de tratar de hacer que el diagrama de flujo sea ejecutable, enseñe a los estudiantes a usar diferentes herramientas para pensar sobre su software en diferentes niveles. Use un diagrama de flujo para visualizar un flujo general simplificado, y use herramientas de prueba de unidad para crear un código real demostrablemente correcto.