Pasar al contenido principal

CREE#: Codificando en Cree

 

Los Pueblos Indígenas han experimentado durante mucho tiempo los efectos del colonialismo, incluido el desplazamiento, la pérdida de tierras y recursos, y la supresión de sus lenguas, prácticas culturales y conocimientos. Cuando pensamos en esos efectos en el contexto del desarrollo de la informática y otras tecnologías, el impacto actual se hace evidente. Las construcciones coloniales, que incluyen lenguajes de programación como Javascript, Python y HTML, continúan priorizando los intereses de las culturas occidentales mientras ignoran las perspectivas y experiencias de los Pueblos Indígenas. La programación requiere un examen crítico de los impactos de este comportamiento y de las posibles soluciones, una de las cuales podría ser la indigenización y la descolonización.

Los actos de indigenización y descolonización tienen como objetivo abordar este legado del colonialismo de dos maneras. En primer lugar, elevando el estatus cultural, económico y político de los Pueblos Indígenas y marginados, y en segundo lugar, desmantelando las estructuras de poder político, económico y coloniales dominantes en la sociedad contemporánea.

Al desarrollar mi propio lenguaje de programación para nehiyawewin (el lenguaje Plains Cree), descubrí que es algo más que la hegemonía del inglés en la programación lo que es un obstáculo. Un obstáculo es la forma en que las computadoras están destinadas a recompensar la velocidad. Las computadoras siguen instrucciones de manera secuencial, donde un código eficiente significa que las acciones se realizan más rápido. Sin embargo, la velocidad y la eficiencia no encajan necesariamente con las cosmovisiones Indígenas del tiempo y el orden, ni reflejan la importancia de las relaciones entre el usuario y el sistema.

Además, siempre he visto la codificación como una forma de contar una historia que una computadora puede entender. Para contar una historia, el narrador no sólo tiene que usar el lenguaje correcto, sino que también debe comprender los significados únicos y la estructura de ese lenguaje. Intentar reemplazar la lógica computacional con terminología nehiyawewin literal sería una forma de apropiación cultural. Por lo tanto, para crear un lenguaje de programación informada por los Indígenas, debemos cambiar fundamentalmente la forma en que pensamos en la programación. Los lenguajes humanos contienen el significado y el conocimiento de una cultura, y los lenguajes de programación pueden funcionar de la misma manera.

img

Sílabas Cree.

Muchos Pueblos Indígenas hablan de lo sagrado y la importancia de sus lenguas, y a menudo afirman: "Nuestra lengua es medicina". Por lo tanto, se deduce que si deseamos usar una lengua Indígena para codificar, debemos tratar el espacio de codificación como sagrado y el acto de codificar como medicinal. La promoción de la cultura se puede utilizar como una forma de agregar representación a los lenguajes de codificación y programación. Sin embargo, esto requiere un cambio en la filosofía informática. Actualmente, la programación funciona en un sistema enfocado en entradas y funciones. En este caso, las metáforas culturales, el conocimiento y las tradiciones podrían actuar como insumos y funciones programáticas. Por ejemplo, en mi lenguaje acimow/CREE#, introduje el sahumerio, el acto de quemar hierbas para purificar y proteger cuerpos y espíritus, como una función computacional. Mediante programación, esta mancha digital borra las memorias físicas y almacenadas en caché, inicializa los periféricos y limpia la pantalla. Esencialmente, prepara el sistema para ejecutar un programa en un entorno libre de datos latentes que podrían impactarlo negativamente.

Además, muchos lenguajes utilizados para la programación de computadoras utilizan construcciones sintácticas típicas, que pueden describirse como un conjunto de mejores prácticas a las que debe adherirse el código. Dos de estas construcciones son el enunciado condicional, a veces llamado "si... entonces", y la instrucción de bucle, a veces llamada "hacer mientras" o "para…siguiente". Una función condicional evalúa si una declaración es verdadera o falsa y la respuesta determina la siguiente acción (o inacción) ejecutada por el código. Las construcciones de bucle se utilizan para ejecutar una secuencia de instrucciones un número específico de veces o hasta que se cumpla alguna condición específica.

El desafío de traducir estas construcciones de programación a las lenguas Indígenas es que muchas lenguas de las Primeras Naciones en las Américas son polisintéticas, lo que significa que sus construcciones de palabras pueden crear palabras muy largas al encadenar varias palabras cortas (morfemas). Por lo tanto, las declaraciones de lenguaje lógico en inglés, como "si a = b entonces c", pueden no ser lógica o sintácticamente válidas en un idioma de las Primeras Naciones. Mi remedio para este problema con la representación lingüística ha sido utilizar metáforas culturalmente relevantes que incorporen el conocimiento Indígena en el mundo de la programación.

Para muchas culturas Indígenas, el agua es vital y sagrada. Las fuentes de agua que fluyen, como los ríos y arroyos, simbolizan la continuidad de la vida. En la programación con acimow/CREE#, se usa la palabra sîpiy, la palabra nehiyaw para "río", en lugar de la inglesa "if … then". En este contexto, el código se presenta como un río de instrucciones que permiten al programador hacer fluir la historia en el código a lo largo de una vía fluvial digital que puede ramificarse en sîpîsisa (ríos o arroyos más pequeños) según sea necesario. Utilizo un proceso analógico similar para representar bucles en el código.

imgLas sílabas nehiyaw para el acto de programación de difuminar en acimow/CREE#, un lenguaje de programación creado por el autor.

En el duro clima invernal del norte de Alberta, de donde soy, los nehiyaw cuentan los inviernos para determinar la edad. Por ejemplo, "niyânanomitanaw nîsosâp nititahtopiponân" se traduce como "Tengo 52 inviernos". La edad, en mi cultura, es una forma de declarar la resiliencia y la fuerza de uno para sobrevivir al duro clima y al frío extremo de la temporada. Además, el invierno es una estación cíclica y progresiva. No soportamos el mismo invierno todos los años; Cada invierno es nuevo y diferente cada año. Este modelo cultural es muy similar a los bucles de programación en la computadora. En un bucle de programa, cada iteración suele hacer avanzar los elementos dentro del bucle de alguna manera, de forma similar a la forma en que cada invierno simboliza el envejecimiento en la cultura nehiyaw. Para la programación en acimow/CREE#, la palabra nehiyaw pipon, y algunas de sus formas conjugadas, que significa "invierno", se utiliza como mecanismo de bucle para la programación. Entonces, en lugar de decir "para x = 1 a 10", un programador escribiría "mitâtaht pipona" o "para 10 inviernos", y el código que sigue esta instrucción se repetiría 10 veces.

En última instancia, la programación informática informada por los Indígenas no se trata solo de dar instrucciones a la computadora. El modelo de interacción persona-ordenador (HCI) debe reformularse como un modelo de interacción parentesco-ordenador (KCI). Toda programación implica una relación entre el codificador y la máquina, pero debe estar especialmente presente en el corazón de una filosofía informática Indígena para respetar los valores de esa cultura. Existe un entendimiento común de que los lenguajes de programación, nuestra forma de comunicarnos con las computadoras, actúan como vehículos para el conocimiento cultural, que se codifica en la máquina a través de la codificación. El resultado es un reflejo digital de la vida y el conocimiento Indígenas. Usando esta perspectiva, transformamos la computadora de un binario de unos y ceros opuestos a un sistema holístico y unario de animacidad cuyo funcionamiento interno digital refleja continuamente visiones del mundo animadas e inanimadas de la cultura con la que se está comunicando. Al hacerlo, creamos tecnologías informáticas impregnadas de representaciones culturales de los creadores detrás de ellas y de los usuarios frente a ellas.


La versión original de este artículo fue publicada originalmente en pinnguaq.com


Jon Corbett (Cree) es profesor asistente de Experiencia Indígena Vivida en la Escuela de Arte y Tecnología Interactiva de la Universidad Simon Fraser en Columbia Británica, Canadá. Su investigación se centra en las formas de expresión Indígenas a través de la "indigitalización", que describe como una práctica creativa computacional que entrelaza las prácticas informáticas Indígenas y decoloniales facilitadas a través de formas de arte expresivo tradicionales y basadas en computadoras.

Our website houses close to five decades of content and publishing. Any content older than 10 years is archival and Cultural Survival does not necessarily agree with the content and word choice today.