Il 13 e 14 aprile si è svolta a Roma la VII edizione del Codemotion, una delle più importanti manifestazioni italiane dedicate agli sviluppatori. Nel corso della conferenza, che ha contato oltre 2.200 partecipanti, si è svolto anche un keynote intitolato "The Power of the Paradigm" e tenuto da Douglas Crockford, creatore di JSON nonché autore molto noto presso i developer grazie alla sua opera "JavaScript: The Good Parts". Crockford ci ha concesso un'intervista nella quale abbiamo parlato del presente e del futuro di JavaScript.
Quali sono i pregi e i difetti di questo linguaggio? Quali i consigli per migliorare il proprio lavoro di developer? Quali sono gli strumenti necessari per massimizzare la produttività? A queste e ad altre domande Crockford ha voluto rispondere in un colloquio del quale riportiamo la trascrizione.
Sei diventato famoso grazie al libro "JavaScript: the good parts". A tuo parere quali sono i vantaggi e gli svantaggi della programmazione JavaScript?
JavaScript è un linguaggio funzionale con oggetti dinamici e una sintassi familiare. Ha preso spunto da linguaggi brillanti ma sottovalutati usati nell'ambito della ricerca e li ha resi disponibili in un contesto mainstream. Sfortunatamente, il suo sviluppo è stato affrettato per questioni di mercato, per questo motivo contiene un quantità rilevante di errori di design.
A tuo parere, è possibile immaginare un Web post JavaScript, in cui JavaScript non esiste?
Lo spero. JavaScript non dovrebbe essere l'ultimo linguaggio del Web. Il prossimo linguaggio dovrebbe partire da dove JavaScript ha lavorato meglio, abbandonando gli aspetti negativi, con caratteristiche più adatte alla distribuzione sicura delle applicazioni.
Nel tuo keynote del Codemotion Rome 2018 si parla del potere del Paradigma: quali dovrebbero essere le caratteristiche del linguaggio di programmazione del futuro?
Credo che il prossimo paradigma sarà il passaggio asincrono del messaggi. Attualmente i linguaggi non offrono un supporto adeguato a questo aspetto perché bloccati da un paradigma datato: la programmazione sequenziale.
Quali aspetti dovrebbe considerare uno sviluppatore JavaScript per diventare un developer più capace e aspirare a migliori prospettive di lavoro o avanzamenti di carriera?
Imparare più linguaggi. Un buon linguaggio aiuta ad imparare. Oggi sono disponibili molti linguaggi brillanti.
Uno dei topic di maggior successo sono attualmente i framework JavaScript, quali pensi siano i migliori per massimizzare la produttività?
Penso che i framework stiano diventando una distrazione.
Un'ultima domanda riguardante JSON, quali sono le sue caratteristiche chiave e quali i suoi limiti?
JSON è stato concepito per veicolare facilmente dati e istruzioni tra applicazioni scritte in linguaggi differenti. E' un linguaggio minimale, nell'intersezione di tutti i linguaggi di programmazione. Ad esempio, tutti i linguaggi presentano una sorta di lista o di array, ma con importanti differenze nel dettaglio. Mentre tutti i linguaggi sono in grado di gestire un array JSON.
JSON svolge molto bene questo compito. Può essere inoltre utilizzato per molti altri scopi. Esso risulta efficace in molti casi, ma non in tutti. Non esiste uno standard in grado di garantire dei risultati ottimali in tutti gli ambiti.