Nel recente incontro bimestrale del comitato TC39 di ECMA International, la European Computer Manufacturers Association, è arrivata una proposta della quale siamo pronti a scommettere si discuterà per molto, molto tempo.
Quello di ECMA un nome che potrebbe essere un filo sconosciuto dai più, ma che ha un ruolo piuttosto fondamentale all’interno del panorama web odierno. Infatti il comitato TC39 è responsabile dello sviluppo della specifica ECMAScript, conosciuta comunemente come JavaScript.
Bene, nell’ultimo incontro l’ingegnere di Google Shu-yu Guo ha presentato una proposta per suddividere JavaScript in due linguaggi distinti: un nucleo principale, chiamato JS0, implementato dai motori runtime, e una variante avanzata, JSSugar, supportata da strumenti di compilazione.
L’autore della proposta sostiene che le nuove funzionalità di JavaScript spesso portano effetti negativi per gli utenti ed in particolare è l’aspetto della sicurezza ad essere al centro dell’attenzione, poiché la complessità dei motori JavaScript causata della necessità di garantire alte prestazioni, ne compromette sovente la sicurezza.
Il modello suggerito non prevede di eliminare le funzionalità esistenti ma di cambiare l’approccio per il futuro: le nuove funzionalità di sintassi verrebbero implementate in appositi strumenti di compilazione, piuttosto che nei motori JavaScript. Questo linguaggio “core”, JS0, sarebbe semplificato e si concentrerebbe solo sulle API essenziali e le funzionalità di base. Al contrario, JSSugar sarebbe il linguaggio avanzato, trasformato in JS0 tramite tool come Babel o il compilatore di TypeScript.
Senza scendere ulteriormente in dettagli tecnici, poiché ci vorrebbe un vero developer e non chi sta scrivendo, si fa in fretta a capire come la proposta sia già oggetto di un feroce dibattito.
Come racconta nel dettaglio Dev Class, alcuni sviluppatori sostengono che non si dovrebbe dare ufficialità all’attuale ecosistema di strumenti di JavaScript, preferendo un ritorno a un linguaggio JavaScript senza dipendenze, qualcuno si spinge a dire che Vanilla JS, ossia JavaScript nudo e crudo, è morto:
— NullVoxPopuli (@nullvoxpopuli) October 5, 2024In conclusione, la proposta mira a semplificare i motori JavaScript migliorando sicurezza, performance e stabilità, ma tutto ha un prezzo, ed in questo caso questo si materializza nella dipendenza dagli strumenti di compilazione, che solleva preoccupazioni nella community.
La discussione, questo è certo, non è che appena iniziata.
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.