Go (linguaggio di programmazione)

linguaggio di programmazione

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.

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

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

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

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.

Esempio

modifica

Hello World in Go:

package main

import "fmt"

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


Altri progetti

modifica

Collegamenti esterni

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