Y creo que los visuales son una gran parte de cerrar esa brecha entre nuestro mundo humano encarnado y el mundo de la máquina desencarnada en el que estamos tratando de programar. Entonces, aquí está el plan. Vamos a explorar este tema a través de tres preguntas.
Primero vamos a preguntar qué está mal con el texto, luego exploraremos qué pueden hacer los visuales que el texto no puede hacer, y finalmente haremos un breve recorrido histórico para averiguar por qué ya hemos intentado esto? Después de todo, no hay ideas nuevas bajo el sol y muchas, muchas personas en el pasado han explorado formas de hacer la programación más visual. Vamos a ver qué se ha intentado ya y qué oportunidades aún quedan por delante.
Entonces, primero, ¿qué está mal con el texto? Esta es una pregunta importante que hacer porque todo lo que hacemos en la programación se expresa en texto. Cada aplicación en la que has trabajado se ve así, ¿verdad? Es texto dispuesto en líneas que van de izquierda a derecha y de arriba a abajo. Aquí está cada sitio web de documentation que has usado. Aquí está cada entrada de blog que has leído. Todos nuestros lenguajes, herramientas y documentation de programación actuales son abrumadoramente centrados en el texto. A veces te encuentras con diagramas aquí y allá, pero son realmente escasos. Si tuviera que adivinar el equilibrio entre texto y visuales en nuestra industria, apostaría a que estamos en un 98% de texto y un 2% de visuales. Esto no se basa en una encuesta oficial y no pude encontrar a nadie que haya hecho una encuesta oficial, así que esto se basa simplemente en mi experiencia personal en la community de web development. Pero si te tomas un minuto y piensas en todo el code y la documentation con los que interactúas a diario, apuesto a que vas a llegar a una estimación similar.
Si miramos la historia de la programación, está bastante claro cómo terminamos en un mundo tan cargado de texto. Este es un ordenador, circa 1970. Notarás la falta de pantalla. Tenías un teclado y un montón de tarjetas perforadas, y lo único que podías hacer era escribir texto lineal para crear programas. Esta restricción de design significaba que todos nuestros primeros lenguajes de programación eran basados en texto, y una vez que estableces el texto como el paradigma principal de un campo, se vuelve realmente difícil alejarse de él. Especialmente en una industria donde confiamos tanto en las abstracciones de nivel inferior creadas por todos los programadores que nos precedieron. También hay muchas razones lógicas por las que confiamos tanto en el texto en la programación. Las palabras escritas y la sintaxis son un medio ideal para expresar la lógica abstracta. Es rápido de crear, es flexible, y es fácil de mover entre aplicaciones a través de copiar y pegar sin preocuparse por la compatibilidad. Puedes empaquetar una gran cantidad de información en un espacio muy pequeño, y puedes ser muy específico sobre lo que quieres decir, lo cual obviamente importa cuando estamos hablando con ordenadores que no tienen sentido de la sutileza.
Hasta ahora, el texto ha funcionado muy bien para nosotros en la programación. Pero algunas de las mayores fortalezas del texto también son sus mayores debilidades. La naturaleza abstracta del texto es lo que lo aleja de nuestras experiencias encarnadas en el espacio y el tiempo. Cuando hacemos code, estamos escribiendo un conjunto de instrucciones hipotéticas para ejecutar en la máquina de otra persona en algún momento en el futuro en un tiempo y lugar que nunca conoceremos. Este nivel de abstracción elimina las cualidades físicas, espaciales y encarnadas que los humanos dependen para entender el mundo que nos rodea. Esto puede ser bueno en algunos aspectos, ¿verdad? Si queremos escribir una función como fetch user data, no tenemos que definir el tamaño, la forma, o el color de la misma.
Comments