Un nuovo linguaggio sulla scena, questa volta arriva da Google. Il nome del linguaggio è Go: una troncatura del logo aziendale, un verbo in inglese o un gioco da tavolo orientale.
Ci vorrà un po’ di tempo, che non abbiamo avuto dato che l’annuncio è di ieri, per andare nelle pieghe della sintassi a scoprire quali sono i punti di forza del linguaggio.
Per ora stiamo alla pagina di annuncio che ricapitola le particolarità del linguaggio:
- Velocità perché il compilatore produce codice nativo ottimizzato
- Sicurezza: il linguaggio, a differenza del C, è controllato strettamente nella tipizzazione e nell’uso della memoria. Ci sono i puntatori, ma non un’aritmetica dei puntatori. Per lavorare con gli array si importa il concetto di slice da Python
- Concorrenza: la gestione di processi concorrenti viene gestita implementando le coroutine, anzi le goroutine come vengono chiamate nella presentazione
- Facilità : la gestione della memoria si basa sulla garbage collection e il feeling generale del linguaggio è da linguaggio interpretato, senza le asprezze tipiche del lavoro col compilatore di un linguaggio strettamente tipizzato
Ecco una presentazioen del linguaggio.
[kml_flashembed movie="https://www.youtube.com/v/rKnDgT73v8s" width="425" height="350" wmode="transparent" /]
Con le premesse che ci sono, sembra proprio che i laboratori di Google abbiano preso ispirazione dalle difficoltà dei programmatori C, dalla lentezza dei linguaggi interpretati e dai limiti di performance delle macchine virtuali in circolazione, come Java e .net.
Go sembra, ovviamente, fortemente orientato alla creazione di servizi ad alte prestazioni, come quelli tipici di una sala macchine aperta sul web.
Per approfondire, ecco un tutorial del linguaggio.
Stiamo a vedere e torniamoci sopra con più calma, per adesso ecco un assaggio del linguaggio:
package main import fmt "fmt" // Package implementing formatted I/O. func main() { fmt.Printf("Hello, world; or ΚαλημÎÏα κόσμε; or ã“ã‚“ã«ã¡ã¯ 世界\n"); }