𝗟𝗮 𝗻𝗮𝘀𝗰𝗶𝘁𝗮 𝗲 𝗹𝗮 𝗺𝗼𝗿𝘁𝗲 𝗱𝗶 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁
JavaScript viene eseguito nel browser con privilegi limitati. Eppure gestisce server, strumenti di build e pipeline. Non era un piano prestabilito. È stata una serie di patch applicate a una decisione del 1995.
Capire perché ciò sia accaduto cambia il modo in cui progetti il tuo stack oggi.
Il talk del 2014 di Gary Bernhardt non riguarda la nostalgia. È una diagnosi di attrito architettonico. Ha notato un arco ironico: JavaScript era un linguaggio giocattolo che è sopravvissuto perché aveva il monopolio nel browser. Quel monopolio lo ha reso il linguaggio più usato al mondo.
La tensione è semplice. Il browser deve eseguire il codice in modo sicuro e veloce. Questi due obiettivi sono in conflitto.
Nel 2014, la scommessa era che WebAssembly avrebbe sostituito JavaScript. Non è accaduto completamente. WebAssembly è stabile e utile per cose come Figma o Google Earth. Ma non ha sostituito JavaScript come linguaggio applicativo.
Invece, JavaScript è mutato. TypeScript, i bundler e nuovi runtime come Bun esistono per risolvere gli attriti identificati da Bernhardt.
Non usare questo talk per evitare di imparare JavaScript. Non usarlo per giustificare il passaggio a WebAssembly senza un problema di prestazioni.
Usalo come checklist per il tuo stack:
- Lo sto usando perché è lo strumento migliore?
- O perché è l'unica cosa che funziona qui?
- L'overhead degli strumenti risolve l'attrito o lo sposta soltanto?
- Se iniziassi da zero oggi, sceglierei questo?
- Il limite massimo di prestazioni è accettabile per il mio caso d'uso?
TypeScript aiuta con i tipi al tempo di compilazione. Non colma il divario tra i tuoi tipi e i dati che arrivano tramite la rete. Hai ancora bisogno della validazione a runtime.
La lezione più importante è questa: capisci se la tua tecnologia esiste per merito o a causa di un monopolio.
Non cambiare il tuo runtime basandoti su una previsione del 2014. Cambialo quando avrai dati misurati che mostrano un collo di bottiglia.
Fonte: https://dev.to/jtorchia/the-birth-and-death-of-javascript-2014-what-still-holds-and-what-doesnt-2hae