Vai al contenuto

Go (linguaggio di programmazione)

Da Wikipedia, l'enciclopedia libera.
Go
linguaggio di programmazione
AutoreGoogle (azienda)
Data di origine10 Novembre 2009
Ultima versione1.23.3 (6 novembre 2024)
UtilizzoGenerico
ParadigmiMulti paradigma: programmazione concorrente, programmazione strutturata, programmazione imperativa.
TipizzazioneStatica, Fortemente Tipizzata
Estensioni comuni.go
Influenzato daC, Limbo, Modula, Newsqueak, Oberon, Pascal, Python
Ha influenzatoCrystal, Zig
Implementazione di riferimento
Licenzalicenza BSD
Sito webgo.dev

Go è un linguaggio di programmazione ad alto livello compilato e tipizzato staticamente, progettato da Robert Griesemer, Rob Pike e Ken Thompson presso Google. È sintatticamente simile al C, ma dispone anche della memory safety, garbage collection, tipizzazione strutturale e concurrency in stile CSP. Spesso ci si riferisce a lui come a Golang a causa del suo precedente nome di dominio, golang.org, ma il suo nome corretto è Go.

Esistono due implementazioni principali:

  • La toolchain del compilatore "gc" di Google, self-hosting, destinata a più sistemi operativi e WebAssembly.
  • gofrontend, un frontend per altri compilatori, con la libreria libgo. Con GCC la combinazione è gccgo; con LLVM la combinazione è gollvm.

Un compilatore source-to-source di terze parti, GopherJS, compila Go in JavaScript per lo sviluppo web front-end.

Go è stato progettato da Google nel 2007 per migliorare la produttività nella programmazione in un'era di macchine multicore, connesse in rete e con ampie basi di codice. I progettisti volevano affrontare le critiche rivolte ad altri linguaggi in uso a Google, mantenendo però le loro caratteristiche utili:

I progettisti erano principalmente motivati dalla loro comune avversione per il C++.

Go è stato annunciato pubblicamente nel novembre 2009 e la versione 1.0 è stata rilasciata nel marzo 2012. Go è ampiamente utilizzato in produzione presso Google e in molte altre organizzazioni e progetti open-source.

Branding e stile

[modifica | modifica wikitesto]

La mascotte Gopher è stata introdotta nel 2009 per il lancio open-source del linguaggio. Il design, realizzato da Renée French, è stato ispirato da una promozione del WFMU risalente al 2000.

Nel novembre 2016, i caratteri tipografici Go e Go Mono sono stati rilasciati dai designer Charles Bigelow e Kris Holmes, appositamente per il progetto Go. Go è un sans-serif umanista simile al Lucida Grande, mentre Go Mono è monospaziato. Entrambi i font aderiscono al set di caratteri WGL4 e sono stati progettati per essere leggibili, con una grande altezza-x e forme delle lettere distintive. Sia Go che Go Mono rispettano lo standard DIN 1450, includendo uno zero barrato, una l minuscola con una coda e una I maiuscola con serif.

Nell'aprile 2018, il logo originale è stato ridisegnato dal designer di marchi Adam Smith. Il nuovo logo è un moderno e stilizzato "GO" inclinato verso destra con linee aerodinamiche che lo seguono. La mascotte del Gopher è rimasta la stessa.

Caratteristiche principali

[modifica | modifica wikitesto]

Go soddisfa le esigenze della programmazione concorrente ed è stato progettato per ottimizzare i tempi di compilazione anche per hardware modesti. La sintassi è vicina al C eccetto per la dichiarazione dei tipi e per la mancanza di parentesi tonde nei costrutti for e if. Ha un sistema di garbage collection che si occupa autonomamente della gestione della memoria. Non include l'intercettazione di eccezioni, l'eredità dei tipi, le asserzioni e l'overloading dei metodi.

Hello World in Go:

package main

import "fmt"

func main() {
	fmt.Printf("Hello, World")
}


Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh2012000746 · GND (DE7725033-3 · J9U (ENHE987007581576905171
  Portale Google: accedi alle voci di Wikipedia che trattano di Google