El nacimiento y la muerte de JavaScript (2014)
La “muerte” y la longevidad de JavaScript
- Muchos sostienen que JavaScript “nunca morirá”, comparándolo en longevidad con PHP o incluso con C.
- Otros distinguen entre la “muerte biológica” y la obsolescencia práctica: como COBOL/Fortran, JS puede persistir durante décadas, pero volverse nicho.
- Algunos señalan que la fuerte exposición de los LLM al código JS también lo afianza más.
- La predicción de que nadie escribiría JS nunca más se considera incumplida; la gente sigue escribiendo mucho JS puro a pesar de TypeScript.
JavaScript, asm.js y WebAssembly
- La idea de la charla de que JS se convierta en un destino de compilación en gran medida se hizo realidad: muchos lenguajes compilan a JS o TS.
- asm.js se considera, de hecho, obsoleto, reemplazado por WebAssembly (Wasm), que algunos ven como el cumplimiento de esa predicción.
- Otros argumentan que Wasm contradice la tesis porque es explícitamente no-JS y está diseñado como un sustrato de bajo nivel adecuado.
- Se considera que el progreso de Wasm ha sido más lento de lo esperado; la falta de acceso directo al DOM hace que JS siga siendo necesario para el código de pegamento.
Semántica y rarezas del lenguaje
- Debate sobre usar
nullfrente aundefined: algunos evitanundefinedcomo valor intencional; otros sostienen que ambos son fundamentales para el lenguaje y los usan las APIs centrales. - La discusión toca las semánticas de IEEE 754
NaNy las rarezas clásicas de JS (+0/-0, coerción) como fallos frente a comportamientos conformes a los estándares. - A algunos no les gusta JS por sus inconsistencias de “C mutante”; otros dicen que la sintaxis en sí no es el problema principal.
Transpilación y “JS como ensamblador”
- Patrón repetido: “inventamos un mejor JS, luego lo transpilamos a JS”.
- TypeScript es ampliamente visto como la forma de facto de escribir JS, especialmente en proyectos grandes.
- JS suele describirse como la nueva capa de ensamblador de la web, incluso si se usan lenguajes de nivel superior encima.
Electron, aplicaciones multiplataforma y alternativas
- Se elogia a Electron como la forma más rápida de apuntar a Mac/Windows/Linux con interfaces web familiares, a pesar de ser pesado.
- Los críticos citan un alto uso de RAM y clientes inestables; algunos consideran “aplicación Electron” sinónimo de mal soporte nativo.
- Alternativas mencionadas: Flutter (con opiniones mixtas sobre la calidad web/desktop), Qt, interfaces basadas en Rust, stacks basados en Tk y aplicaciones web puras.
SO web y predicciones más amplias
- Algunos ven WebAssembly y los stacks basados en navegador como un paso hacia un SO de navegador/Wasm; otros señalan que ChromeOS y los sistemas actuales no encajan del todo con esa visión.
- Se aclara que el JS/asm.js a nivel de kernel en la charla es ficticio; la charla se enmarca como ficción especulativa.
Recepción de la charla y material relacionado
- La charla es ampliamente elogiada por su ejecución y su visión de futuro, y se usa como inspiración para presentaciones.
- Las charlas relacionadas “wat” y “Boundaries” se recomiendan y admiran con frecuencia, a pesar de algunas pequeñas inexactitudes técnicas señaladas.