Successivo

Magazine

Google Go, un nuovo linguaggio

Michele Costabile | 8 Gennaio 2010

Preview

Il modello di sviluppo proposto da Google unisce efficienza a semplicità  di programmazione. Alla fine dell’estate del 2007 nei laboratori […]

Go-xcode copy

Il modello di sviluppo proposto da Google unisce efficienza a semplicità  di programmazione.

Alla fine dell’estate del 2007 nei laboratori di Google si riuniscono superstar e santoni della programmazione, come Ken Thompson, Rob Pike e Robert Griesemer per compilare la lista delle caratteristiche dovrebbe avere che un linguaggio di programmazione moderno.
I programmatori non si contentano mai degli strumenti a disposizione, meno che mai i ricercatori che sono abituati a costruirsene di nuovi a ogni occasione, come Ken Thompson, che creò il linguaggio B da cui derivò il C prima di scrivere un sistema operativo diventato famoso: Unix con il C, creato dal collega Ritchie.
Le motivazioni
per un cambiamento
I linguaggi di programmazione cercano di rispondere a domande che sono in conflitto fra loro, come un maggiore controllo per evitare gli errori, più libertà  nella programmazione, più semplicità  di codifica e più efficienza in esecuzione. Chiaramente è necessario un compromesso fra questi obiettivi e ogni linguaggio sceglie il suo punto di equilibrio.
Nell’area dell’efficienza del codice generato il C è sempre stato il signore incontrastato, il C++ ha tentato di dare un incremento all’efficienza nella codifica di applicazioni, fallendo l’obiettivo fino al momento in cui è stato dotato di una libreria di template standardizzata e potente e comunque creando troppi ostacoli al programmatore. Java ha spostato l’equilibrio dal lato della sicurezza aggiungendo una macchina virtuale, la garbage collection e diverse rigidità  sintattiche che permettono ai programmatori (molto meno consapevoli dell’ambiente di esecuzione dei programmatori C) di codificare a una velocità  notevole. Prima o poi, però, un programmatore Java desidera un ambiente più leggero e più libertà  di espressione.
C# ha ripreso le stesse linee evolutive esplorando qualche territorio innovativo e con le ultime versioni ha fatto del suo meglio per dare al programmatore più libertà  di espressione e libertà  di sbagliare, ma è sempre un linguaggio legato a una macchina virtuale e a un singolo produttore (nonostante Mono, un’alternativa open source per aprire il linguaggio a più piattaforme).

ICON_EDICOLAAlla fine dell’estate del 2007 nei laboratori di Google si riuniscono superstar e santoni della programmazione, come Ken Thompson, Rob Pike e Robert Griesemer per compilare la lista delle caratteristiche dovrebbe avere che un linguaggio di programmazione moderno.

I programmatori non si contentano mai degli strumenti a disposizione, meno che mai i ricercatori che sono abituati a costruirsene di nuovi a ogni occasione, come Ken Thompson, che creò il linguaggio B da cui derivò il C prima di scrivere un sistema operativo diventato famoso: Unix con il C, creato dal collega Ritchie.

Le motivazioni per un cambiamento

I linguaggi di programmazione cercano di rispondere a domande che sono in conflitto fra loro, come un maggiore controllo per evitare gli errori, più libertà  nella programmazione, più semplicità  di codifica e più efficienza in esecuzione. Chiaramente è necessario un compromesso fra questi obiettivi e ogni linguaggio sceglie il suo punto di equilibrio.

Nell’area dell’efficienza del codice generato il C è sempre stato il signore incontrastato, il C++ ha tentato di dare un incremento all’efficienza nella codifica di applicazioni, fallendo l’obiettivo fino al momento in cui è stato dotato di una libreria di template standardizzata e potente e comunque creando troppi ostacoli al programmatore. Java ha spostato l’equilibrio dal lato della sicurezza aggiungendo una macchina virtuale, la garbage collection e diverse rigidità  sintattiche che permettono ai programmatori (molto meno consapevoli dell’ambiente di esecuzione dei programmatori C) di codificare a una velocità  notevole. Prima o poi, però, un programmatore Java desidera un ambiente più leggero e più libertà  di espressione.

C# ha ripreso le stesse linee evolutive esplorando qualche territorio innovativo e con le ultime versioni ha fatto del suo meglio per dare al programmatore più libertà  di espressione e libertà  di sbagliare, ma è sempre un linguaggio legato a una macchina virtuale e a un singolo produttore (nonostante Mono, un’alternativa open source per aprire il linguaggio a più piattaforme). (…)

[Estratto dall’articolo pubblicato sul numero 226, in edicola dal 23 dicembre]