El jueves es la próxima Activación Mutante y elegimos el concepto “palabra” para esta íntima velada de experimentación sonora. Dentro del Ensamble, yo trabajo con código que procesa audio digital en tiempo real, lo que comúnmente se denomina “lenguaje” de programación y no es que esté mal llamarlo de ese modo pero la ocasión me tienta a profundizar un poco…
Me encanta el canal de YouTube de Computerphile y el otro día vi un episodio muy interesante acerca del parsing:
Parsing es una especie de análisis sintáctico, muy importante para los lenguajes de programación ya que es necesario para traducir, interpretar y ejecutar instrucciones. En – ¿todos? – los lenguajes humanos, podemos encontrar tres componentes elementales: sujeto, verbo y objeto.
Por ejemplo, tomemos la oración “el niño patea la pelota”. El sujeto es quien realiza la acción (el verbo) a/hacia/con/etc. el objeto. Entonces, “el niño” es el sujeto, “patea” el verbo y “la pelota” el objeto. En esta oración, el orden es SVO (sujeto, objeto, verbo). Por supuesto, existen muchos otros elementos y clasificaciones pero concentrémonos en estos tres. En muchos lenguajes, el orden puede ser otro, como SOV, VSO, VOS, OVS u OSV y esto es parte del trabajo lingüístico de Noam Chomsky (de hecho, esta última permutación – OSV – resulta ser el modo predilecto de el Maestro Yoda).
Como sea, mientras miraba este episodio, recordé un cuento de Borges. “Tlön, Uqbar, Orbis Tertius” es uno de mis cuentos favoritos y también uno de los más conocidos de Borges donde se describe un mundo en el que no existe la sustancia. ¿Qué tiene que ver? Bueno, además de ser un ensayo acerca del lenguaje, deberíamos saber que es la idea de sustancia lo que subyace o sostiene algo así como un sujeto, en este caso: algo que existe y se mantiene idéntico a sí mismo, independientemente de cómo sea percibido. Hegel dice, directamente, «la sustancia es sujeto».
Borges sostiene que el lenguaje estructura al pensamiento. También Lacan actualizó la formulación aristotélica “pensamos con el alma” por “pensamos con el lenguaje” (de hecho, podemos rastrear hasta Aristóteles el análisis de la estructura sujeto/sustancia-predicado). Esto significa que un lenguaje sin sustancia no sería tan sólo una curiosidad literaria sino realmente otro universo. Hay tantos lenguajes en el mundo, con tantas diferencias, sin embargo, ¿existe alguno que no suponga la sustancia? ¿sería posible pensar sin ella? ¿es la sustancia una estructura necesaria para nuestra percepción (como desarrolla Kant) o es algo real, algo que existe independientemente de nuestra percepción?
Algunas notas:
– Todo esto también me recordó a una discusión en torno a la posibilidad de un lenguaje no imperativo de programación. Esta discusión se dio en el marco de un encuentro de código creativo. Un lenguaje no imperativo de programación podría falsearse del mismo modo que se falsea una función aleatoria. Pero la última palabra respecto de la aleatoriedad es una pregunta ontológica (¿existe el azar? ¿es posible escapar de la cadena de causalidades?) mientras que un lenguaje de programación no imperativo es, creo, a muchas luces imposible. Un microprocesador es una cosa que trabaja con instrucciones (“instrucciones” es, además, el término técnico que se utiliza), no veo cómo un lenguaje de programación podría de alguna manera superar la arquitectura electrónica concreta en la cual se ejecuta.
– A esta altura creo que sería justo mencionar que ningún lenguaje de programación es de hecho un lenguaje. No porque sea falseado, como se falsea la aleatoriedad, sino porque llamamos lenguaje de programación precisamente a un conjunto de instrucciones. La ambigüedad, por ejemplo, puede ser constitutiva del lenguaje y, sin embargo, es mencionada en el episodio de Computerphile como algo ‘malo’ para un lenguaje de computación, ya que una instrucción es algo muy claro y concreto. Todo esto nos conduce a decir que: como no existe ningún lenguaje – propiamente hablando – de programación, tampoco existe algo así como una traducción, un intérprete o una interpretación, porque interpretar es, por ejemplo, decidir a pesar de (o debido a) las ambigüedades.
Comentarios
Genial vos sabes que justo eso me pedían unos amigos poetas, no hice el análisis pero algunos lenguajes funcionales o las declaraciones ubicuas como con DDD https://docs.behat.org/en/v2.5/guides/1.gherkin.html pueden llegar a tener algún tipo de forma, no sé se me ocurre se puede hacer algun tipo de analisis un dia con algún lenguaje de livecoding?
Hola! Interesante, lo que pusiste parece más relacionado con el «nivel» del lenguaje. Es decir, en su semejanza con el lenguaje «natural» hablado. Respecto de lenguajes de live-coding, hay otro artículo en este blog que quizás te interese sobre bytebeat.