You are currently browsing the tag archive for the ‘google’ tag.

Gordon and Go Logo

Gordon and Go Programming language Logo

Ieri, 10 novembre, Google ha anunciato un nuovo linguaggio di programmazione, Go. Non sono riuscito a trovare il link ufficiale e da quanto leggo qua e là mi pare che non sia un progetto ufficiale ma solo di alcuni sviluppatori (Robert Griesemer, Ken Thompson, e Rob Pike) che utilizzano il loro tempo libero, circa il 20% delle loro ore lavorative, per sviluppare altri progetti. Lo sviluppo di Go inizia verso la fine del 2007 ma solo verso la meta del 2008 la sua implementazione iniza a funzionare ed e proprio in quel periodo che Ian Lance Taylor e Russ Cox entrano nel progetto. Anche se non maturo al punto giusto qualche giorno fà il rilascio ufficiale. Il linguaggio si presenta come un C object-oriented molto ottimizzato. Presenta caratteristiche tipiche dei linguaggi dinamici, ma mantiene, quasi immutate, caratteristiche del C. Tutti ci saremmo aspettati un nuovo linguaggio riscritto quasi totalmente e comunque innovativo rispetto a quello che si trova sulla piazza invece l’innovazione forse sta nel tornare indietro, almeno sarà questo che avranno pensato a casa Google. Le caratteristiche principali del linguaggio, come vengono presentate sul sito sono:

  • semplice – presenta una sintassi semplice paragonabile a quella di un C misto a Python
  • veloce – ovviamente essendo un linguaggio compilato avrà delle performance migliori (pragonabile a quelli scritti in C dicono)
  • sicuro – è un linguaggio a tipizzazione statica e un particolare modello di memoria. Ha i puntatori, ma non quelli del C
  • concorrenza – implementata a livello nativo e grazie all’utilizzo delle “goroutine”, semplici funzioni eseguite concorrentemente, possiamo scrivere programmi che sfruttano il parallelismo in tutta tranquillità
  • divertente –  implementa meccanismi di garbage colection, che più che divertente mi sembra necessario per un linguaggio moderno, sintassi pulita, dicono loro, metodi per tutti i tipi e velocita nel deployment di applicazioni.

La ma scotte di Go è quella che vedete in immagine, si chiama Gordon ed è un esemplare di gopher che non so che animale sia e penso nemmeno wordreference.com (http://www.wordreference.com/enit/gopher) sappia esattamente di cosa si tratti.

Al momento Go supporta solo 2 piattafome GNU/Linux e Mac OS e 3 set di istruzioni: amd64, 386 e arm anche se ques’ultima non supportata, non ancora almeno come dicono, su Mac OS. Ha un compilatore nativo specifico per ogni set di istruzioni chiamti 5g, 6g, 8g rispettivamente per arm, amd6a e 386 e prendono il nome dal sistema Plan 9 dei Bell Lab di cui Pike e Thompson erano sviluppatori negli anni ’80. Mi sorge il dubbio che questa mascotte sia cugina di quella di Plan 9, sembrano essere lo stesso animale amorfo anche se dicono essere un coniglio che si chiama Glenda. Ovviamente esiste anche una versione di GCC apposita per compilare i programmi scritti in Go ed i binari prodotti sembrano essere nativi quindi nulla di pseudo compilato o interpretato da qualche LLVM (Low Level Virtual Machine). Le aspettative per questo linguaggio sembrano essere molte ma qello principale sembra essere quello di scalzare al C++ dal dominio della programmazione concorrente. Il web server che ospita il sito è scritto in Go e solo quello dicono visto che ancora non è pronto per andare in produzione. Bhe che dire io l’ho gia provato e presto postero qualche test ed impressione in merito. ovviamente se ho scritto qualcosa di sbagliato e qualcuno dovesse sentirsi in dovere di smentire me lo faccia sapere, commenti e email sono lì per questo. Per finire in bellezza guardatevi il promo:

– Fine –
Postato con Kblogo

my-team-uses-the-pomodoro

Flickr Photos