Porque no es lo bastante divertido: por qué fracasan los lenguajes
El éxito de los lenguajes de programación, según algunos, tiene menos que ver con la elegancia técnica y más con factores humanos como la “diversión”, la fortaleza del ecosistema y el respaldo de grandes plataformas o empresas. Los comentaristas rechazan reducirlo todo a la diversión y apuntan en cambio a las salidas laborales, las librerías y herramientas, la cultura de la comunidad y los accidentes históricos que ayudaron a que lenguajes como C, JavaScript, Python y Rust prosperaran mientras opciones más refinadas o expresivas (Lisp, Haskell, Scala, Objective-C) permanecían en nichos. Se trazan varios paralelos con la programación asistida por IA, que se ve como rápida y cómoda pero a menudo generadora de código mediocre, reforzando la idea de que las herramientas ganan por practicidad e integración más que por sofisticación pura.
IA y generación de código
- Varios comentarios relacionan la analogía del artículo de “sampler vs músico” con la IA: la IA puede generar código rápidamente, pero carece de “alma” y de criterio de diseño.
- Algunos sostienen que la IA es “muy buena produciendo código”; otros discrepan con fuerza, y reportan resultados inflados, mal factorizados y difíciles de orientar hacia diseños elegantes o idiomáticos.
- El consenso: el código de los LLM es rápido y cómodo para scripts desechables o componentes no críticos, pero todavía no es de forma consistente “bueno” ni sólido desde el punto de vista arquitectónico.
Por qué los lenguajes triunfan o fracasan
- Muchos dicen que el éxito rara vez depende solo de la elegancia del lenguaje; encajan más el ajuste a la plataforma, el momento y el respaldo.
- El estatus de “nativo de una plataforma” (p. ej., JS en navegadores, Swift para Apple, Java para JVM) se cita repetidamente como decisivo.
- El ecosistema (stdlib, librerías, herramientas, documentación, mercado laboral) se considera más importante que la sintaxis central.
Plataforma, ecosistema y política
- Se considera crucial el impulso del proveedor: Apple para Swift, Microsoft para C#/VB, Mozilla para Rust.
- Algunos argumentan que la popularidad de un lenguaje es muy política: dominada por comunidades angloparlantes y promotores del “grupo interno”.
- La disponibilidad comercial frente a la libre (p. ej., ColdFusion frente a PHP) se cita como factor que moldeó la adopción temprana de lenguajes web.
Debates sobre lenguajes concretos
- Objective‑C vs Swift: hay desacuerdo sobre si ObjC “fracasó” o si simplemente Apple lo dejó de lado por política de producto, no por falta de diversión.
- JavaScript vs Python: hay desacuerdo sobre cuál es “boom” y cuál es “bust”; JS gana por su ubicuidad en el navegador, Python por su ecosistema y legibilidad.
- Scala: algunos culpan a una comunidad elitista, a herramientas lentas y a una reescritura larga del compilador que no resolvió los puntos de dolor principales.
- Lisp: elogiado por REPL, macros y diversión; criticado por ecosistemas débiles y fragmentados.
- C/C++: a algunos les disgusta por su complejidad, pero se reconoce su rendimiento y su legado dominante.
- Kotlin vs Java: Kotlin se ve como más agradable, pero incapaz hasta ahora de desplazar la posición arraigada de Java.
“Diversión” vs practicidad
- Varios comentaristas dicen que la “diversión” es subjetiva e insuficiente como predictor del éxito.
- Los lenguajes “aburridos” o rígidos (Go, Java, C) pueden prosperar porque son predecibles, están respaldados y son “apuestas seguras”.
- Algunos mantenedores contratan explícitamente a personas a las que les gusta programar; otros enfatizan que los trabajos priorizan la estabilidad, no la alegría.
Herramientas, REPLs y experiencia de desarrollo
- Se considera que los buenos gestores de paquetes, herramientas de compilación y GUIs multiplataforma impulsan mucho la adopción.
- Los flujos de trabajo guiados por REPL (Lisp y otros) se contrastan con flujos centrados en pruebas unitarias; se ven como complementarios, no intercambiables.
- Rust se describe como sintácticamente “poco divertido”, pero redimido por herramientas excelentes (cargo, crates).