Go | ||
Date de première version | ||
---|---|---|
Paradigme | Langage compilé, programmation concurrente, impérative et structurée | |
Auteur | Robert Griesemer (en) Rob Pike Ken Thompson |
|
Dernière version | 1.23.3 ()[1] | |
Typage | Fort, statique, structurel | |
Influencé par | C Oberon-2 (en) Limbo Active Oberon (en) Communicating sequential processes Pascal Oberon Smalltalk Newsqueak (en) Modula-2 Alef APL BCPL Modula (en) Occam |
|
Système d'exploitation | Windows, GNU/Linux, Mac OS X, FreeBSD, OpenBSD, DragonflyBSD, Solaris, Plan 9[2] | |
Licence | Licence BSD[3], breveté[4] | |
Site web | go.dev | |
Extension de fichier | go | |
modifier |
Go est un langage de programmation compilé et concurrent inspiré de C et Pascal. Il a été développé par Google[5] à partir d’un concept initial de Robert Griesemer (en), Rob Pike et Ken Thompson.
Go veut faciliter et accélérer la programmation à grande échelle : en raison de sa simplicité, il est donc concevable de l’utiliser aussi bien pour écrire des applications, des scripts ou de grands systèmes. Cette simplicité est nécessaire aussi pour assurer la maintenance et l’évolution des programmes sur plusieurs générations de développeurs.
S’il vise aussi la rapidité d’exécution, indispensable à la programmation système, il considère le multithreading comme le moyen le plus robuste d’assurer sur les processeurs actuels cette rapidité[6] tout en rendant la maintenance facile par séparation de tâches simples exécutées indépendamment afin d’éviter de créer des « usines à gaz ». Cette conception permet également le fonctionnement sans réécriture sur des architectures multi-cœurs en exploitant immédiatement l’augmentation de puissance correspondante.