Los LLM están haciendo que los lenguajes 'difíciles' como Rust y Zig sean la nueva norma
Fast and Hard Code

Arno Schödl, programador de Rust desde hace mucho tiempo, observa un cambio cultural: los LLM están reduciendo la fricción de aprender lenguajes, lo que lleva a más desarrolladores a elegir opciones 'duras' como Rust y Zig. Proyectos como Artifacts de Cloudflare (motor Git en Zig puro) y fx de Vercel (agente de codificación en Zig) son ejemplos. También nota un aumento en el uso de tecnologías complejas como DWARF, eBPF y controladores de red personalizados, antes reservadas a unos pocos. Aunque puede haber más 'slop', también hay más desarrolladores que buscan software rápido y pequeño.
Si no te gusta la elección, aparentemente puedes reescribirlo en otro lenguaje y puedes hacer que elija un lenguaje que tú, como programador, desconoces por completo.
- qsera
> De repente he visto a gente hacer cosas realmente impresionantes con archivos DWARF, eBPF, controladores de red personalizados, criptografía personalizada y hardware informático muy antiguo. Muchas de estas cosas estaban antes fuera del alcance de muchos desarrolladores. En algunos casos (por ejemplo, criptografía) incluso te empujaban fuera porque esas cosas estaban intencionalmente restringidas por los que sabían.
Antes, al menos algunos de nosotros nos veíamos obligados a entender las cosas, porque sin entender no era posible hacer lo que realmente queríamos, y algunos se apasionaban y seguían profundizando, e incluso algunos hicieron cosas mejores basándose en su experiencia.
Ahora nadie necesita entender nada, y ahora nunca tendremos cosas mejores.
- willtemperley
Creo que esto es cierto hasta cierto punto, pero realmente depende de cuánta información tenga el LLM sobre un tema.
Son increíbles en matemáticas porque las matemáticas han sido de código abierto desde el día cero. Son geniales en algoritmos por razones similares. Los bindings de C son pan comido porque hay mucho arte previo disponible. Son terribles usando características de vanguardia en lenguajes porque aún no hay muchos datos.
Creo que es bastante fácil predecir en qué son buenos sobre esta base. No estoy seguro de por qué apestan en diseño de UI.
- noduerme
Como alguien que no sabe de criptografía, sé lo suficiente para que las palabras "criptografía personalizada" me asusten muchísimo.
- superjose
Yo diría que depende.
Del grado en que el software evolucione y se use.
La razón por la que hemos pasado años descubriendo patrones, creando sintaxis especiales, ha sido para abordar ciertos problemas de dominio de manera más eficiente y tener sistemas que puedan evolucionar con el tiempo.
La única constante es el cambio.
Aunque los LLM generan código (y con gran conocimiento, resultados impresionantes), el desarrollador debe tener el conocimiento para superar cierto umbral.
Escribir en lenguajes desconocidos puede parecer bien al principio. Pero una vez que llegas al límite, te encontrarás con ciertas peculiaridades, ineficiencias en el camino que el LLM puede evitar en lugar de eliminarlas de raíz.
Por ejemplo, he estado aprendiendo Effect.ts durante algunas semanas. He usado LLMs extensivamente, pero antes de eso hubo una serie de rondas de codificación manual primero.
Para entender la componibilidad, los detalles más minuciosos, dónde se rompen las cosas, cómo, cómo se forma la sintaxis, y cómo podría estructurar algunos desafíos de observabilidad que tenía alrededor de la biblioteca.
Si no hubiera pasado por ese proceso, la calidad del código sería inferior. No habría sido evidente al principio, pero una vez que el sistema comenzara a evolucionar y adaptarse a la retroalimentación, las cosas serían frágiles, los clientes existentes se verían afectados, y más.
Me gusta avanzar rápido sin romper cosas.
- jbstack
> una cosa está bastante clara: el acto de familiarizarse con un lenguaje ya no importa
Estoy completamente en desacuerdo con esta afirmación como premisa del artículo.
Claro, si no te importa en absoluto si el trabajo del agente es fiable o no, entonces no hay necesidad de aprender un lenguaje. Pero si eres un desarrollador que se preocupa por su trabajo y no solo está generando código 100% vibe, entonces como mínimo deberías estar lo suficientemente familiarizado con el lenguaje como para poder revisar la salida del agente, seguir el código y tomar una decisión informada sobre si hacer commit.
Curiosamente, he descubierto que mi enfoque para aprender lenguajes ha cambiado fundamentalmente. Antes, estudiaba un libro sobre uno o dos lenguajes que eran importantes para mí en ese momento. El objetivo era llegar a ser competente. Ahora elijo leer sobre una variedad de lenguajes simplemente porque demuestran algún paradigma interesante que es nuevo para mí (por ejemplo, Haskell -> funcional, Elixir -> concurrencia). Leo un libro de programación como leería un libro de no ficción narrativo atractivo: de principio a fin relativamente rápido, y luego termino. Esto me da esa "familiaridad" que es útil para la codificación agéntica, sin molestarme en aprender cada sintaxis oscura o llamada de biblioteca. Mi prioridad se ha convertido en amplitud (obtener una visión general de muchos lenguajes y paradigmas) en lugar de profundidad (aprender uno o dos lenguajes muy bien).