VT2016 Go

From air
Revision as of 18:06, 15 October 2016 by Marwan.Hallal (talk | contribs) (Created page with "=Présentation= * Sujet : Go, un langage pour les serveurs * Auteur : Marwan Hallal * Enseignants : Didier Donsez, Georges-Pierre Bonneau * Date : 14/10/2016 * Mots-clés : ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Présentation

  • Sujet : Go, un langage pour les serveurs
  • Auteur : Marwan Hallal
  • Enseignants : Didier Donsez, Georges-Pierre Bonneau
  • Date : 14/10/2016


  • Mots-clés : Go, langage, système, concurrence


Historique

Le langage Go a été crée en 2007 au sein de Google par une équipe de trois ingénieurs: Robert Griesemer, Ken Thompson (Unix) et Rob Pike (UTF-8). Le projet devient open-source le 10 Novembre 2009.

Le nouveau langage était une réponse à certains grands problèmes rencontrés lors du développement de l'infrastructure interne de Google:

  • lenteur du processus de build
  • mauvaise gestion des dépendances
  • coût des mises à jour
  • illisibilité du code, mauvaise documentation


Introduction

Go est un langage compilé, statiquement typé, concurrent et avec une gestion automatique de la mémoire (garbage-collection). Aujourd'hui, beaucoup de projets utilisent le langage Go, notamment Docker, Vitess (système de clustering pour MySQL, utilisé pour l'infrastructure de YouTube), InfluxDB, ainsi que le serveur de téléchargement de Google.

C'est un langage de la famille C (syntaxe de base), mais qui s'est inspiré aussi des langages Pascal et Modula (déclarations, packages). Le modèle de concurrence de Go repose sur le langage formel dit CSP de Tony Hoare.

Syntaxe