Introduction
1. Introduction au go
Qui a fait le Go ?
Go (ou Golang) est un langage de programmation open source assez jeune.
Il a été développé en 2007 par Robert Griesemer, Rob Pike et Ken Thompson qui travaillent aujourd'hui chez Google.
Le langage Go est officiellement lancé en novembre 2009.
Pourquoi le Go ?
"Chez Google, nous pensons que la programmation devrait être rapide, productive et surtout, fun. C’est pourquoi nous sommes ravis de proposer ce nouveau langage de programmation expérimental. Les opérations de compilation sont presque instantanées,et le code compilé propose une vitesse de fonctionnement proche de celle du C".
Première phrase du site golang.org "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."
Pour résumer : Le langage de programmation Go rime avec efficacité et simplicité.
Énormément de concepts de l'époque sont redécouvert aujourd'hui
Ceci est un ...
Héritage très fort des langages des années 70'
Go est syntaxiquement similaire au langage C mais contrairement au C, il possède une sécurité de la mémoire avec un Garbage Collector.
Go est souvent comparé au langage Python car tous les 2 se veulent très simples syntaxiquement.
Les avantages du langage Go
- Une meilleure protection de la mémoire grâce à son Garbage Collector qui permet une gestion automatique de la mémoire.
- Profite de la puissance de calcul des processeurs les plus robustes du marché (processeurs multi-cœurs).
- Un code maintenable
- Possibilité de faire du typage dynamique et intègre de nombreux types avancés tels que les mappages clé-valeur ( dictionnaires).
- Possède une si riche bibliothèque standard, qu’il est même tout à fait possible de concevoir des programmes écrit avec le langage Go sans aucune dépendance externe.
- Possède un temps de compilation rapide et intègre aussi un système de build beaucoup moins compliqué que celui de la plupart des langages de compilés (RIP le C et son makefile de l'enfer !!!).
- Au niveau de la portabilité il est possible de compiler son code pour une large gamme de systèmes d'exploitation et de plateformes matérielles (Windows, Linux, MAC OS, Android, IOS).
Utilisation du langage Go
On retrouve le langage Go dans les domaines suivants (liste non exhaustive) :
- Serveurs
- Web
- Systèmes embarqués
- IOT (Internet Of Things)
- Android
- IOS
- Jeux-vidéos
- etc ...
Des entreprises utilisant Go :
- CloudFlare
- DropBox
- Docker 💘
- Nokia
- OVH
- Youtube
- SoundCloud
- Github
- Netflix
- etc...
Principles features du Go
Pour résumer, le Go c'est :
- Langage statique & compilé (Java, C, C++, ...)
- Syntaxe proche du C
- Garbage Collector ➡️Gestion de la mémoire automatique 🤟
- Multi-CPU et parallelism dans le langage (sans avoir recours à des librairies externes)
- Un seul binaire, aucune dépendance !
- Multi-plateforme (Windows, macOS, Linux, arm, ...)
Par ici l'installation !
Pour l'IDE
- VSCode (avec les extensions suggérées)
- Jetbrains Goland
- Atom (avec le plugin https://atom.io/packages/go-plus)
- Vim-go (oui oui...)
- SublimeText (avec le plugin https://github.com/DisposaBoy/GoSublime)
Pour en trouver d'autres :