«Entonces Dios dijo: «Que exista la luz». Y la luz existió.»
Génesis, 1:3
El rol del lenguaje en la historia
Se suele decir que la “historia” de la humanidad no comenzó hasta la aparición del lenguaje escrito cerca del 4000 a.C. Hasta ese momento vivíamos en la “prehistoria” y gracias a la tecnología del lenguaje escrito empezamos a poder capturar nuestras realidades en forma de conceptos escritos, palabras: No sólo registrar lo que pasaba, además poder aprender de ello.
El lenguaje escrito nos permitió, además, compartir nuestras realidades, captadas en conceptos, con las siguientes generaciones. Gracias a esta herencia, una generación podía elegir qué conceptos conservar y cuáles transformar, o adoptar nuevos para mejorar su realidad y llegar a la siguiente.
Es entonces que el lenguaje no sólo fue una forma de registro del pasado, también se convirtió en una herramienta para modificar la realidad del futuro que se pasa de generación en generación y permite evolucionar la realidad colectiva, lo que se conoce como cultura.
Construcción de sistemas con lenguajes
Esta noción de construir realidad con el lenguaje no es ajena a cualquier persona que programa. Utilizamos múltiples lenguajes escritos para crear sistemas informáticos que, hoy en día, afectan nuestras vidas de una manera que nunca se vió en la historia.
Nunca fue tan claro que a través de los lenguajes se puede modificar la realidad.
Una de las principales lecciones que aprendí cuando pasé de programar en C a hacerlo en Smalltalk, fue la importancia de contar con buenos nombres en los métodos, clases, variables y objetos. Pasé de tener variables con nombres como “x”, “n” o “var1” a otros más descriptivos como “estadoCansado”, “cantidadDeEnergia” o “estudiantesOrdenadosAlfabeticamentePorNombre”.
Este concepto es lo que se llama “intention revealing” (revelación de intención), y es una de las ideas que más me marcó cuando cursé “Paradigmas de programación” en la Universidad.
Intention revealing es un patrón que justamente propone “revelar” la intención al programar, es decir, buscar ser lo más explícito posible y decir el “qué” se quiere hacer cuando se está escribiendo código.
Según Kent Beck en el libro “Smalltalk best practice patterns”, intention revealing es “nombrar las cosas de forma tal que comuniquen qué es lo que van a hacer en lugar de cómo lo van a hacer. Es cómo comunicas tu intención (como persona que programa) cuando implementas algo. Comunicación. Es reconocer que lo más importante es que el código está ahí para comunicar.”
Escribir código no es más que comunicarse. Puede ser con la computadora, con otra persona que programa, e incluso comunicarse con mi yo del futuro.
Y como personas que desarrollamos software sabemos la importancia de esa comunicación y de tener buenos nombres cuando codeamos, para que el sistema final sea más fácil de entender y adaptar.
Cuando terminé de cursar esta materia, donde aprendí Smalltalk, esa “obsesión” por pensar y buscar los mejores nombres o palabras para describir las cosas se me contagió. Y no se quedó sólo en la programación, trascendió a otros aspectos de mi vida, como pasa con muchas ideas buenas. Este fue uno de los primeros momentos en que me dí cuenta el poder que tienen las palabras y el lenguaje. Y cómo este lenguaje puede ser usado de forma más o menos expresiva, más o menos declarativa. Cómo el lenguaje crea realidades y las visibiliza. Y si bien sabemos que pensamiento y expresión son dos procesos que van atados, entendí que es sumamente importante plasmar lo que estás pensando con palabras para poder comunicarlo y visibilizarlo.
A mi criterio Wittgenstein lo expresa increíblemente genial en su obra Tractatus Logico-Philosophicus cuando dice: «los límites de mi lenguaje significan los límites de mi mundo» («Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt»). Lo que no se puede decir, no se puede pensar.
Por eso, la forma en que hablamos construye realidades. Por eso es muy importante ponerle nombre a las cosas y tomarse el tiempo para esto cuando programamos, porque nombrarlas las crea. El asignarle un nombre me permite hablar de eso, me permite verlo, me permite pensar y comunicarlo mejor. Ponerle un nombre a algo es el primer paso a hacerlo visible. Las palabras y el lenguaje tienen la capacidad de ser transformadoras de la realidad.
Incluso existen muchos estudios científicos que hablan de cómo nuestra percepción puede estar condicionada a nuestro lenguaje diario. Y de cómo el lenguaje influye en el pensamiento. Esto es lo que plantea a grandes rasgos la hipótesis Sapir-Whorf (versión no determinista): “la semántica puede afectar al modo en que los hablantes perciben y conceptualizan el mundo”1.
Uno de los experimentos que demuestra esto es el de la científica Lera Boroditsky y los colores azules rusos. El idioma ruso tiene diferentes palabras para diferenciar azules claros (goluboy) de azules oscuros (siniy). Lo que se observa es que los hablantes de ruso son más rápidos para discriminar un objeto azul claro de un conjunto de objetos azul oscuro, mientras que a los de habla inglesa les implica más tiempo identificarlos, e incluso algunos no llegan a encontrar las diferencias. Esto se explica porque nuestra percepción de los colores no solo está relacionada con los colores que vemos, sino también por las palabras que les asignamos a los mismos. Tener una palabra para un color hace que lo puedas identificar más fácilmente.
Por todos estos motivos, cuando la idea del lenguaje inclusivo surgió me pareció muy potente y una solución mejor al modelo que veníamos teniendo, donde no se terminan de capturar algunos aspectos de la realidad, donde se generan situaciones ambiguas y donde se invisibilizan personas. Es decir que aporta una mayor precisión y elimina ambigüedad.
Evolución del lenguaje en 10Pines
Así como los programas evolucionan con el tiempo, y las palabras elegidas cambian a medida que el sistema mejora, los lenguajes usados para programar también cambian.
Cualquiera que sepa de programación sabe que los lenguajes de programación van mejorando con el tiempo, y se crean nuevas “versiones” que incluyen cambios necesarios para adaptarse a las nuevas tecnologías o prácticas.
Los lenguajes naturales no son ajenos a esto, pero de forma más sutil. Desde 1780, la RAE ha creado 23 ediciones de su diccionario. Casi 1 edición cada 10 años. El diccionario de la lengua española, a través de su autoridad más reconocida, nunca se ha mantenido estable en el tiempo, y siempre ha sabido evolucionar para adaptarse a las nuevas tecnologías que ofrece la nueva versión.
En 10Pines hemos decidido evolucionar nuestra cultura y adoptar la nueva tecnología2 que nos ofrece el lenguaje inclusivo tal como lo define wikipedia:
“El lenguaje inclusivo es un lenguaje que intenta evitar el sesgo hacia un sexo o género social en particular”
Por este motivo, desde 10Pines anunciamos oficialmente que comenzaremos a usar el lenguaje inclusivo en nuestras comunicaciones oficiales. Si bien ya venimos haciéndolo de forma implícita, creemos que es importante manifestarlo explícitamente.
¿Qué significa esto? En las comunicaciones oficiales vamos a hacer nuestro mayor esfuerzo para no dejar afuera a ninguna de las personas a las que nos estamos refiriendo. Usaremos diferentes estrategias según lo que mejor aplique en el contexto, a saber:
- Variante sin género: Sin modificar el lenguaje, la primer opción es buscar un workaround3 al lenguaje actual y entonces visibilizar un poco más la realidad, usando por ejemplo “persona que programa” o “quien programa” en lugar de programador.
- Inclusivo usando la “e”: Podemos crear nuevas palabras que carezcan de género explícito y completen más la descripción de la realidad por ejemplo creando la palabra “ingeniere”.
- Nombrar todas las posibilidades. Si ninguna de las opciones anteriores cubre nuestra necesidad, la opción es hablar de “ingenieros, ingenieras e ingenieres”. Aquí la “e” sirve para visibilizar la realidad de géneros no binarios.
Al desarrollar software generamos abstracciones, creamos palabras y conceptos nuevos constantemente. Como personas que programamos apasionadas por la calidad, nos comprometemos en la búsqueda de la mejor abstracción en nuestro código. Ahora, como integrantes de esta sociedad sentimos la responsabilidad de extender este compromiso a nuestras comunicaciones oficiales.
Definitivamente tener buenos nombres no asegura un buen diseño, pero ayuda. No es condición suficiente pero sí es condición necesaria. Lo mismo ocurre con el lenguaje inclusivo. Desde 10Pines queremos evolucionar nuestro lenguaje para construir una realidad que evite sesgos. No destierra la desigualdad y la injusticia del mundo, pero ayuda a visibilizar un poco más la variedad de personas que integramos este planeta y a mejorar el mundo en el que vivimos. Este es el fin último de nuestra organización.
- Esta cita no se escribió en inclusivo para respetar la cita original.
- Entendiendo tecnología como un conjunto de teorías y de técnicas que permiten el aprovechamiento práctico del conocimiento científico.
- Un workaround es un arreglo temporal para solucionar algo cuando la solución real aún no se puede implementar: https://en.wikipedia.org/wiki/Workaround.
Algunos links y referencias
Russian blues reveal effects of language on color discrimination: https://www.pnas.org/content/104/19/7780
TED Talk “How language shapes the way we think”: https://www.ted.com/talks/lera_boroditsky_how_language_shapes_the_way_we_think
Hipótesis de Sapir-Whorf: https://es.m.wikipedia.org/wiki/Hip%C3%B3tesis_de_Sapir-Whorf
Intention Revealing Names: https://wiki.c2.com/?IntentionRevealingNames