Google, la programmazione è Go

Mountain View rende pubblici i suoi esperimenti con un nuovo linguaggio di programmazione, lodandone le qualità velocistiche e chiamando a raccolta sviluppatori esterni per far maturare la piattaforma. Tutto con licenza BSD
Mountain View rende pubblici i suoi esperimenti con un nuovo linguaggio di programmazione, lodandone le qualità velocistiche e chiamando a raccolta sviluppatori esterni per far maturare la piattaforma. Tutto con licenza BSD

A Google, si sa, sta particolarmente a cuore la velocità di esecuzione di appliance e programmi: e per tale motivo la società non lesina sulla distribuzione di strumenti di sviluppo ad alto tasso di ottimizzazione. Dalla realizzazione di tool specifici a un vero e proprio linguaggio di programmazione il passo può essere breve, e infatti Go sta lì a dimostrare gli sforzi compiuti da Google durante gli ultimi due anni nel tentativo di rendere più facile la vita agli sviluppatori .

“Go prova a combinare la velocità di sviluppo nel lavorare con un linguaggio dinamico come Python con le performance e la sicurezza di un linguaggio compilato come C o C++” spiega Google presentando la sua nuova creatura, con l’ obiettivo ultimo di ottenere un codice compilato con le stesse prestazioni possibili con C contemporaneamente a una predisposizione naturale a girare al meglio su sistemi a più core.

I campi di applicazioni più indicati per il nuovo linguaggio sono quelli dei software di sistema inclusi web server, sistemi di storage e database , anche se Google non chiude le porte a ulteriori ambiti di utilizzo. “Abbiamo sviluppato Go perché eravamo un po’ frustrati da quanto lo sviluppo software fosse divenuto complicato negli ultimi 10 anni” dice Rob Pike, l’ingegnere software di Mountain View.

Go offre il supporto nativo ai processori multi core, un’alta velocità di esecuzione e anche di compilazione visto che il processo di creazione dei binari avviene in maniera più o meno istantanea. Il componente essenziale – che poi rende il sistema così propenso alla velocità – di ogni “Go-programma” sono le “Go-routine”: processi leggeri ed efficienti a cui vengono delegati i compiti di gestire i vari sistemi e server da sviluppare. “Fate girare migliaia di Go-ruotine se volete – suggerisce Google – e dite addio ai problemi di stack overflow”.

Al di là dei toni trionfalistici di Google, a ogni modo, Go non è al momento utilizzato per la creazioni di nessuna delle componenti software dell’ecosistema di Mountain View. Non potrebbe essere altrimenti visto che il linguaggio versa ancora in uno stato sperimentale , e proprio per traghettarlo verso uno stato di maggiore maturità -magari rendendolo utile alla creazione di applicazioni per il mondo reale piuttosto che di semplici showcase propagandistici – al Googleplex hanno deciso di distribuire la piattaforma di sviluppo sotto licenza BSD.

Alfonso Maruccia

Link copiato negli appunti

Ti potrebbe interessare

11 11 2009
Link copiato negli appunti