Hay muchas herramientas de programación visual muy ambiciosas como la que usted describe, pero rara vez se usan, por la misma razón que los matemáticos usan la notación matemática y no los ábacos: simplemente no son lo suficientemente expresivos.
La gran mayoría de los problemas de programación son muy abstractos y no se pueden representar de manera eficiente en forma visual. Si bien hay casos en los que una herramienta visual tiene algún sentido, como la capa de secuencias de comandos en Unreal Engine, por ejemplo, la mayoría de la programación es muy abstracta y tiene muchos casos y rutas de ejecución.
Por ejemplo, tome QuickSort, el famoso algoritmo de clasificación. Si cree que los diagramas de flujo son generalmente adecuados para resolver problemas de programación, le sugiero que intente dibujar un diagrama de flujo que describa esto:
- ¿Qué es la codificación?
- ¿Cuánto costaría hacer un sitio web estático con buen hosting?
- ¿Debo aprender Meteor?
- Desarrollé el sitio web de Preguntas y Respuestas, ¿qué debo hacer para ponerlo en línea y trabajar eficientemente como quora?
- ¿Existe una diferencia notable en el rendimiento y la latencia entre el alojamiento de Redis en un servidor de base de datos central y el local en cada servidor web?
Creo que sería posible, pero dudo mucho que sea más adecuado que la mayoría de los lenguajes de programación. Y este es solo un algoritmo muy pequeño: en realidad, el software es mucho más grande. Actualmente estoy viendo un fragmento de código que implementa un componente de desplazamiento para la lista en Spotify. Tiene unos cientos de líneas y el código es bastante expresivo. El conjunto de pruebas automatizadas para él prueba más de 100 rutas de ejecución, y todas son necesarias para cubrir todos los casos. Ese componente, en forma de diagrama de flujo, cubriría una pared completa, y eso es solo una parte muy pequeña de una pieza de software completamente funcional.
Recuerdo un concierto anterior que tuve, donde realmente hicieron algo así en la práctica. Estábamos trabajando para una imprenta en su sistema CRM, y alguien había usado una de las grandes impresoras de plotter para imprimir el diagrama completo de la base de datos (esto era solo la base de datos en su forma estática, sin lógica ni nada) y la cosa Tenía dos metros de largo en un diminuto texto con una miríada de flechas. Te hizo querer acurrucarte y morir.
Plug descarado: si te gustan mis divagaciones sobre la programación en Quora, puedes disfrutar de mi programa de YouTube: funfunfunction