¿Podemos imaginar la programación visual, un mundo sin sintaxis?

Por supuesto, esto es posible: una notación gráfica es solo otra forma de representar la lógica; este es solo otro idioma. Las anotaciones gráficas se utilizan de manera intensiva en software crítico y este es el lenguaje utilizado para construir aviones, trenes o automóviles.

Lo primero que se debe considerar es definir qué es “programación visual”. Un lenguaje gráfico no es más que la representación de su algoritmo. Un lenguaje de programación captura su algoritmo utilizando una especificación textual. Si logra representar gráficamente un lenguaje de programación, tiene todo para hacer lo que llama “programación visual”.

Una de las respuestas se refiere a UML, un lenguaje de modelado para capturar algunas características de su software (como la relación entre clases, herencia, etc., caso de uso), pero es muy ambiguo y difícil de usar para describir todas las características de un programa. Puede generar código desde UML, principalmente esqueleto de código. Pero no puede generar el código completo (incluido el comportamiento, la implementación, etc.)

El ejemplo más interesante es SCADE, un lenguaje de programación gráfico que se ha utilizado para diseñar sistemas críticos para la seguridad, como los aviones A380 o A350. Se usa también en aplicaciones automotrices, militares o de trenes. Puede ver sus historias de éxito, el software se utiliza en todo el mundo en aplicaciones críticas. Por otro lado, es un lenguaje de programación muy restrictivo y no admite algunas construcciones o bibliotecas que ves en aplicaciones móviles o aplicaciones de escritorio.

Hay muchos otros idiomas, como Simulink, populares y también sistemas automotrices. ¡La lista es larga!

También puedes probar MaxMSP. Es un lenguaje de programación completo destinado a la programación de medios (música, video, luces de escenario, etc.)

Max es un lenguaje de programación visual para medios.

UML también cae en esta área de la que estás hablando.

La razón por la que cosas como lo que quieres que imaginemos no es muy común es que dibujar una imagen en una computadora lleva mucho tiempo. Especialmente cuando la gran mayoría de las cosas que haces en la programación son pura fabricación. Por ejemplo, ¿cómo se ve una taza llena de merge? ¡Nada! La clasificación por fusión es un concepto abstracto.

Además, limita la ampliación. Incluso si pudiera imaginar un tipo de taza de fusión, su tipo de fusión sería un grano de arena en una perla en una ostra en el océano cuando habla de programas no triviales. 250,000 líneas de código es mucho más fácil de manejar (buscar, modificar) que 250,000 imágenes, la mayoría de las cuales son abstractas.

No.

Incluso la “programación visual” tiene una sintaxis, tal como se define por el significado de iconos, líneas, imágenes, colores … Esas son las sintaxis de un sistema visual.

Los usa en todas partes: los íconos en los baños, los íconos en las advertencias en la carretera … Los íconos constituyen un lenguaje, con sintaxis basada en el contexto en que se usan los íconos.

El problema con una programación visual es que estás MUY limitado en lo que puedes decir, hasta que lo reduzcas a los iconos utilizados para los archivos de texto …

Y luego estás de vuelta donde empezaste.

Programación significa tener orden en algo. Los programas de televisión son un orden de programas que se transmiten de manera específica y predefinida. Por lo tanto, se puede decir que es un flujo lógico de un punto a otro.

La sintaxis es la especificación de los términos y el orden para que algo pueda comprender la entrada dada.

Si carece de sintaxis en un lenguaje de programación, de cualquier tipo, entonces no hay forma de ejecutar el programa. El intérprete estaría confundido en cuanto a lo que le estás lanzando.

La forma más simple de reducirlo es la sintaxis de los ordinales: esto afecta a lo siguiente que afecta al siguiente y así sucesivamente. Por lo tanto, esa sintaxis debe existir.

La sintaxis permanecerá.
El uso de símbolos se puede optimizar.

Si podemos imaginar el movimiento de los paquetes de información, también podemos comenzar a generar imágenes de una especie de cadena de información.
Algo similar se propone en Tensorflow.
Y si podemos diseñar una cadena de suministro de bienes, también podemos imaginar una de información.

Una forma de verlo puede ser considerando que incluso los sistemas físicos podrían imaginarse como sistemas de información.
Hacemos planes y esquemas de diseños de máquinas físicas.
Podría haber un lenguaje que permita imaginar una imagen completa de un proceso y un grupo de ellos como engranajes y pistones.
Tiene que haber uno.

Checkout LabVIEW, por National Instruments \ U0001f609.