Una perspectiva poco compartida sobre la naturaleza del código es lo que se puede saber de una persona por su manera de escribirlo. Algo así tenía en mente cuando escribí sobre la programación como conversación, pero en aquel entonces no había leído tanto código escrito por IA. No voy a entrar en cuestiones como la productividad, la calidad del código ni métricas software o buenas prácticas; estas incumben a la industria, y ahora quiero hablar de la programación como actividad humana.
Creo que puedo recordar cada vez que he sentido la impresión de otra persona al leer su código. Y hablo de pasar a relacionarse con el código de manera cotidiana; no leer un fichero, una o dos funciones, sino a leer, día tras días, las líneas escritas por otro; a comprender un sistema de su autoría. Al hablar de textos narrativos, poéticos, diarios, cartas… la presencia de la persona nos llega a través de un lenguaje humano, el mismo lenguaje que usaría para hablarnos por la calle. Sin embargo, en el código se mezclan las imposiciones de un lenguaje formal y la definición de un algoritmo. Aun así, la personalidad del programador asoma en el conocimiento de sus herramientas, la comprensión del problema a solucionar y la forma de expresar estas soluciones, incluso cuando está mediada por convenciones y estándares. A menudo, a los programadores nos gusta que el código tenga cierto aspecto, cierta manera de leerse; eso después se convierte en convenciones de estilo, pero nace como una elección personal que persigue una subjetiva legibilidad. Incluso la ausencia de esta intención construye una identidad. Me pasa incluso cuando leo mi propio código, que tengo una reminiscencia de cómo era yo cuando lo escribí; qué me interesaba probar, con qué técnicas había adquirido soltura, o qué conocimientos no tenía todavía.
Por eso, he tenido la sensación, algunas veces, de que se crea una pequeña intimidad en esa lectura de código. Es una pequeña ventana a cómo funciona la maquinaria mental de otra persona. Cuando se trabaja en proyectos en equipo, llegas a reconocer de un vistazo al autor de trozos de código sin necesidad de preguntar. Y esta forma de conocimiento, a mí, me resulta entrañable incluso cuando maldigo a la persona que escribió semejante espagueti. Porque otras veces, si es un buen código, el autor te comunica cómo programar mejor; y cuando no lo es, llegas a compartir la confusión que pudo tener que soportar, o como mínimo, a empatizar con su nivel de experiencia, porque todos hemos empezado en algún lado.
Cuando estoy programando un sistema un poco más complejo, me da la sensación de estar sosteniendo un pequeño edificio con la mente, y que al pasarlo a código, lo dejo plasmado en él. Como cualquier proceso técnico creativo, en ocasiones tiene un punto solitario. Y al leer el código de otra persona, al ver su elección de arquitectura, qué prácticas usa y cuáles no, voy reconstruyendo el edificio que él/ella sostuvo mentalmente en algún momento. Es como ponerse en sus zapatos. Al hacer eso muchas veces, adquieres familiaridad con su forma de trabajo, reconoces cómo estructura el código, cómo nombra variables y funciones, cómo segrega responsabilidades, cuándo decide dejar de anidar condiciones, qué estructuras de datos prefiere, cómo le gusta procesar colecciones de datos, sus inclinaciones dentro de los paradigmas de programación…
El estilo de cada programador/a se parece a una especie de caligrafía, un acento al hablar o una colección de muletillas e incluso de palabrotas. No es algo que deba importar en la industria, pero sí es algo que, a veces, aparece. Y quería hablar de ello, porque desde fuera, parece que el código está libre de la humanidad de sus programadores; y no hay nada más lejos de la realidad. En la era de los LLMs, esto está cambiando; y no hago un juicio de valor, pero sí hay algo quería visibilizar. Muchas actividades humanas, aunque se deleguen en muchos casos o se automaticen para el consumo, no van a desaparecer de la vida de quienes las practican, por el simple hecho de que son inherentemente humanas; y como tecnólogo, siempre me ha parecido que programar es una de esas actividades.
Top comments (0)