Teoría, técnica y habilidad
En esta edición hablamos sobre la heteronomía en el arte y en el código haciendo un excesivo uso de comillas. Están avisados.
Hola, soy Bel Rey y te doy la bienvenida a Sin Códigos, un espacio semanal donde exploramos el mundo de la tecnología más allá del código. En cada edición, desentrañamos conceptos que afectan nuestro futuro digital, abrimos debate sobre los desafíos actuales y reflexionamos hacia dónde nos lleva esta evolución constante. Sin Códigos es un lugar para quienes buscan comprender la tecnología desde una perspectiva amplia, crítica y sobre todo, humana. Nos encontramos todos los viernes, ¡Suscribite y no te pierdas ninguna actualización!
Si son asiduos consumidores de cualquier producto cultural. Ay, que palabra fea “producto”. Voy a dejar esta linea de pensamiento acá porque sucedió de forma espontanea mientras escribía… producto lo hace sonar comercial y no es la idea que quiero comunicar pero si me interesa pensar el arte desde su producción… entonces supongo que podemos decir “producción cultural”.
Bien, empecemos de nuevo.
Si son asiduos consumidores de cualquier “producción cultural” (phew!) digase música, video, dibujo, bordado, etc es probable que acostumbren, aunque sea de forma inconsciente, a valorar el nivel artístico y técnico de dichas producciones.
Una cosa que a mi en lo personal me interpela sobre “producir arte” es que muchas veces me cuesta elegir el medio para trabajar y esto no tiene tanto que ver con un tema de preferencias sino más bien con la percepción del producto final.
En particular lo que me pasa es que dependiendo del medio la exigencia se pone en diferentes lugares del proceso creativo. Veamos algunos ejemplos concretos porque imagino que no se entiende nada de lo que estoy intentando decir.
Si yo soy dibujante digital y me dedico a hacer ilustraciones de personajes estilizados el valor de mi producción final es la ilustración en si misma, el personaje resultante. Ese tipo de ilustración tiene ciertas reglas anatómicas, de diseño, de balance que hacen que un personaje sea vea “bien” o “mal”. A veces ni siquiera es tan extremo, pero un personaje que a simple vista parece “anatómicamente correcto” tiene un pequeño error, un defasaje con la realidad que lo hace ver raro.
Ahora imaginemos que yo me dedico a hacer personajes estilizados pero en lugar de un medio tradicional y esperable como un iPad decido utilizar… un bastidor e hilo de bordado.
Si nos ponemos a hacer una análisis de este Teemo nos vamos a encontrar algunos problemas: el balance de las piernas es raro, la perspectiva no funciona del todo (probablemente tenga que ver con la altura de las puntadas y la posición de las patas), los colores quedaron chatos porque no tenemos sombras. Pero ¿Saben que? No importa. Miren esa técnica: Las puntadas prolijas, perfectas, regulares. La linea negra impoluta. Las curvas, un lujo (no saben lo complicado que es lograr una curva suave con puntadas rectas). Cualquiera de nosotros colgaría feliz esta pieza de bordado en su living, al lado de la monstera (bueno, cualquiera de nosotros menos
porque ella no quiere saber nada con estas cosas nerds que nos aquejan a nosotros). Gran bordadora, excelente estilista, vayan a seguirla en Twitter.En resumen, podemos culpar a la heteronomía del arte: Cada práctica artística será valorada y juzgada en relación con sus propios criterios internos, que varían según la disciplina. En el dibujo, esperamos precisión, detalles y proporciones realistas, mientras que en el bordado, el énfasis está en la habilidad técnica y no tanto en la perfección del dibujo subyacente.
Si trasladamos este concepto a la programación y las ciencias de la computación, podemos pensar en cómo diferentes tecnologías, lenguajes y paradigmas de programación tienen sus propios criterios de evaluación y estándares internos. Estos criterios pueden cambiar dependiendo del enfoque, el medio o la "producción técnica" específica en la que uno esté trabajando.
La heteronomía del código
Así como en el arte cada disciplina tiene sus propios criterios de evaluación en programación diferentes lenguajes y herramientas tienen criterios distintos para evaluar la calidad, eficiencia o la "belleza" del código.
Por ejemplo, en Python, el enfoque puede estar en la legibilidad y la simplicidad del código. La comunidad valora el principio de "There should be one-- and preferably only one --obvious way to do it". El énfasis está en escribir código que sea fácil de leer y entender, lo cual se considera un signo de buena práctica.
En cambio, en un lenguaje como C++, la perfección va de la mano con la eficiencia y el control detallado de la memoria. La expectativa es que los desarrolladores conozcan en profundidad la gestión de recursos y optimicen el rendimiento.
Algunos entornos o paradigmas valoran más el proceso y la flexibilidad del desarrollo que el producto final inmediato. En agile, por ejemplo, se valora más la capacidad de adaptarse a los cambios, la rapidez de iteración y el feedback continuo que tener un producto perfectamente acabado desde el principio. En cambio, en sistemas críticos como el software para aviación o para la banca, la perfección del "producto" final (el código sin fallos, bien optimizado y altamente seguro) es fundamental.
Cada lenguaje, paradigma, y entorno de desarrollo tiene sus propios estándares y criterios de evaluación. Las expectativas técnicas cambian según el "medio" en que se trabaja, y el valor de una producción técnica se define en relación con esos criterios internos específicos. Así como en el arte no existe un estándar único de perfección, en la programación y el desarrollo de software, el "mejor" código depende del contexto, el propósito y las restricciones del proyecto.
Esta situación nos lleva a una desconexión entre diferentes áreas de la misma disciplina, y es quizás uno de los choques más grandes para los nuevos estudiantes de ciencias de la computación que vienen con la idea de hacer “videojuegos” o “páginas web” y se encuentran de pronto ordenando arreglos y aprendiendo las reglas para convertir binario a hexadecimal ¿Para qué estoy haciendo esto? Se preguntan mientras consideran abandonar la carrera.
Puede parecer contra intuitivo pero al igual que un artista necesita aprender las reglas de la anatomía antes de decidir cómo romperlas, un programador que estudia los conceptos básicos, como estructuras de datos, algoritmos, gestión de memoria, paradigmas y más, puede moverse con facilidad entre diferentes herramientas rompiendo un par de reglas cuando haga falta. Entender los fundamentos es lo que nos permite identificar qué aspectos son más importantes en cada contexto: cuándo priorizar la eficiencia sobre la legibilidad, cuándo adoptar un enfoque declarativo frente a uno imperativo, o cómo optimizar el rendimiento según los recursos disponibles. Es lo que nos permite darnos cuenta si las piernas del Teemo están chuecas o no (y si importa en ese contexto). Y también, mucho muy importante, nos permite darnos cuenta que es lo que más nos gusta hacer.
En conclusión: estudien que es lindo y después rompan todas las reglas que es mejor ¡Feliz viernes!
Aviso parroquial: Queda solo UNA SEMANA para anotarse al bootcamp que no es bootcamp. Junto a Código Facilito armamos un curso online en vivo donde vamos a aprender a fondo a crear apps con NextJS y Supabase. El temario incluye estas herramientas y todo lo que las rodea: Typescript, postgreSQL, y más. Es un curso de especialización no apto principiantes y se incriben con descuento acá.
¿Me das una mano para seguir creciendo? ☕️
Si disfrutaste esta edición, aprendiste algo nuevo o te saqué una sonrisa, te invito a que me apoyes comentando o recomendando tus amigos. ¡Cada pequeño gesto cuenta! 💖
👀 Regalame un Cafecito o sumate a un plan mensual
💕 Conectemos en: Instagram, Twitter, Youtube, Tiktok
¡Nos vemos la semana que viene!
Cuando dijiste "Ay qué palabra fea producto" me puse triste pero después seguí leyendo y tiene todo el sentido cómo lo planteas. Me pasa mucho con producciones culturales como libros o podcast donde siento que hay un estandar para ciertas cosas y luego me cuesta romper esa barrera para probar otras dentro del mismo formato.
Muy bueno cómo siempre!
Ayyyyyyy 🥰🥰🥰