Una de mis pasiones profesionales es aprender lenguajes de programación, en mi carrera he escrito: Java, PHP, C++, Go, Ruby, javaScript, un poquitín de Elixir, entre otros.
Mi fascinación surge porque la variedad de lenguajes es una respuesta a la variedad de problemas de ingeniería que enfrentamos, y la variedad de opiniones de cómo deberían solucionarse.
Más allá de si debe haber un punto y coma o no, de si los bloques se agrupan en llaves o si se usa identación, hay decisiones clave que definen a un lenguaje.
Si liberará la memoria por ti o no, si manejarás la memoria, ¿cómo lo harás?, si tendrá concurrencia virtual o no, si tendrá tipado o no, si es asíncrono, si es paralelo o es concurrente, si es compilado o interprado.
Esa variedad de decisiones forma un árbol complejo que nos permite decidir, para los problemas más interesantes de ingeniería, qué lenguaje debemos usar y en qué escenario usarlo.
Un ejemplo son los nuevos ports del compilador de Typescript y el compilador de React, uno escrito en Go, y el otro portado a Rust. Otro ejemplo es bun, que se desarrolló con zig, y luego se cambió a Rust.
Porque la respuesta a la necesidad de ser más rápido, no siempre termina en el mismo lenguaje.
Rust se ha distinguido por ser la opción de moda entre quienes necesitan más velocidad, pero Go surje como una alternativa ideal para el desarrollo agéntico por ser un lenguaje estricto muy opinado.
La moneda de cómo cambiarán nuestras preferencias de lenguaje en el desarrollo agéntico aún está en el aire, pero para mí, elegir un lenguaje por su “estilo” de escritura pasó a segundo plano, que Python sea más fácil de leer ya no es tan relevante como, por ejemplo, la cantidad de tokens que consume un lenguaje versus otro.
Sin embargo, las decisiones que no son de gusto, si no técnicas y de ciencias computacionales, seguirán siendo relevantes incluso en el desarrollo con agentes, como lo estamos viendo con los casos antes mencionados de react, typescript y bun.
Mientras esa decisión se define, afirmar que hoy en día es irrelevante aprender uno u otro lenguaje de programación, es cerrarte la puerta al aprendizaje práctico de las ciencias computacionales, y por lo tanto, negarte la oportunidad de desarrollar fundamentos sólidos que te permitan hacer una carrera larga en desarrollo.
¿Tú qué piensas? ¿Aprender lenguajes de programación es cosa del pasado, o sigue siendo relevante hoy en día?