giovedì 12 novembre 2009

Go: un nuovo linguaggio di programmazione

Go è un nuovo linguaggio di programmazione, che ha suscitato in me un po' di interesse.
Dal sito ufficiale http://golang.org/ dicono che sia semplice, veloce, sicuro, in grado di gestire la concorrenza tra i thread, divertente e open source.
Forse questo video (in lingua inglese) aiuta a capire che cos'è e i suoi punti di forza:

A questo punto non ci rimane che provarlo :) .
Ho effettuato i miei test su un PC con una installazione GNU/Linux e distribuzione Ubuntu. Premetto che non ho fatto altro che seguire le istruzioni riportate sul sito ufficiale, ma sappiamo benissimo che quando si tratta di nuovi strumenti, un conto e leggere un howto, un altro è provare il tutto sulla propria pelle .. ehm ... sul proprio sistema.
Il primo passo è quello di installare i pacchetti necessari per il processo di compilazione del compilatore :) (bel gioco di parole):
sudo apt-get install bison gcc libc6-dev ed
sudo apt-get install mercurial
Quindi occorre impostare le variabili d'ambiente necessarie all'esecuzione di GO:
export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/go/bin
Per verificare le modifiche fatte:
env | grep '^GO'
Quindi aggiornare la variabile d'ambiente PATH:
export PATH=$PATH:$GOBIN
Ora occorre procurarsi i sorgenti. Per questo utilizzeremo il comando hg, il software client di Mercurial, il software utilizzato per l'archiviazione dei sorgenti di Go:
hg clone -r release https://go.googlecode.com/hg/ $GOROOT

Una volta recuperati i sorgenti, procedere con la compilazione:
cd $GOROOT/src
mkdir $GOBIN
./all.bash
In questo modo sul nostro sistema è installato il compilatore Go, pronto per l'uso.
In un normalissimo editor di testo scriviamo il nostro primo programma:
package main
import "fmt"
func main() {
  fmt.Printf("hello, world\n")
}
Supponendo di salvare il file con nome hello.go, da terminale eseguire il processo di compilazione:
8g hello.go
eseguire il processo di linking:
8l hello.8
lanciare l'eseguibile del programma appena creato:
./8.out
Il risultato:
hello, world
Come direbbero in un noto programma televisivo... cotto ... mangiato!

1 commento:

  1. Ciao. Sono uno ragazzo di Messico che vive nelli Estati Uniti e che ho stato imparando l'italiano (la voglia e grazie a Nek). Ho guardato il link a queste sitio nella pagina dove l'avete publicato ( http://google-opensource.blogspot.com/2009/11/hey-ho-lets-go.html).

    Non capisco bene il linguaggio Go perche soltanto so pocissimo(?) di programazzione e questo e in Ruby (lo avete usato?).

    Nonostante, grazie per publicare questa piccola introduzzione a queste linguaggio troppo interesante, e se questo que ho scritto non serve di piu, sara solo per farti sappere que uno lo ha letto.

    PS. Vorrei potere usare queste linguaggio senza imparare a usare Linux, perche solo uso Windows. Ovviamente, voi non avvete queste prolema.

    Ciao :)

    RispondiElimina