Il tipo di mappa di Go non è thread-safe, è staticamente digitato. Esso non ha tipo di ereditarietà, programmazione generica, asserzioni, sovraccarico metodo, o puntatori sia e per buoni motivi.
La sicurezza del tipo e la sicurezza della memoria sono obiettivi a lungo termine, qui un problema si trova.
La sicurezza del tipo presenta un sovraccarico, in kilobyte e megabyte, che è accettabile. Go è progettato con MapReduce e "Big data", esobita un petabyte di dati, che presenta problemi di prestazioni con la sicurezza del tipo, il controllo del tipo (boxing / unboxing) crea spese generali e porta via i cicli dall'elaborazione.
La sicurezza dei tipi può essere restrittiva nella sotto-tipizzazione e nel polimorfismo e nella digitazione delle anatre (oggetto da getto a oggetto), questo crea pericoli e anche uno spazio in cui linguaggi come Go sono di grande beneficio. C ++ e Java non vengono sostituiti da Go, è un nuovo linguaggio per aiutare la programmazione distribuita e il sistema fortemente parallelo.
La grande dichiarazione di Bruce Eckel - "Go ha molto più senso per la classe di problemi che il C ++ era originariamente destinato a risolvere", è discutibile. C ++ è un linguaggio molto efficiente e l'implementazione Boost di MapReduce è molto efficiente.
Le primitive della concorrenza sono il futuro. La sicurezza dei tipi è sempre stata un argomento molto controverso e Go forse è la prima lingua ad affrontare questo problema in 20 anni, o da quando Algol.