Google festeggia il suo linguaggio di programmazione Go, lanciato esattamente 10 anni fa, a novembre 2009. Con Go l’azienda di Mountain View ha messo nelle mani degli sviluppatori un linguaggio ottimizzato per i processori multicore, in grado di sfruttare al meglio il multithreading.
Per celebrare l’anniversario di Go, Google ha lanciato un nuovo sito web dedicato usando il TLD .dev, anch’esso varato di recente. Sul sito go.dev, Google evidenzia i punti di forza di Go per la creazione di servizi cloud, interfacce a riga di comando, applicazioni web oltre al supporto DevOps.
Con oltre un milione di utenti di Go in tutto il mondo, Google ha voluto evidenziare quante aziende di alto livello utilizzano il linguaggio per scopi produttivi e tra le altre ha citato American Express, Salesforce, IBM, Target, Twitch, Netflix, Twitter, Uber e Dropbox.
Salesforce ha recentemente descritto perché è passata a Go. L’azienda ha rivisto da zero il funzionamento della sua piattaforma Einstein Analytics, in precedenza un ibrido C-Python. Nel motivare la migrazione a Go, gli sviluppatori di Salesforce hanno spiegato che Python non si comporta bene nella gestione del multithreading.
D’altra parte anche i tecnici di Netflix hanno aggiunto di aver sviluppato il loro proxy Rend ricorrendo proprio a Go perché era necessario qualcosa che assicurasse una latenza inferiore a Java (le pause necessarie per l’attività di garbage collection costituiscono un problema) e permettesse ai programmatori di essere più produttivi rispetto all’uso del C, gestendo anche decine di migliaia di connessioni client”.
Il linguaggio Go, ideato 10 anni fa nei laboratori di Google da un team composto, tra gli altri, anche dal padre di Unix Ken Thompson, Rob Pike – sviluppatore di Bell Labs Unix -, e Robert Griesemer. Proprio quest’ultimo ha osservato che la missione odierna resta sempre quella di un decennio fa ovvero ottimizzare ulteriormente Go al fine di scalare lo sviluppo del software.
Sul sito go.dev vengono fornite risorse sempre aggiornate come pacchetti e moduli, materiale per l’apprendimento del linguaggio, casi di studio e di utilizzo.