IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Go Discussion :

Google publie la version stable de Go 1.5


Sujet :

Go

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    9 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 9 104
    Points : 209 947
    Points
    209 947
    Par défaut Google publie la version stable de Go 1.5
    Google publie la version stable de son langage de programmation Go 1.5,
    et se débarrasse des derniers vestiges de C

    Google a publié la sixième version stable de son langage de programmation Go. Go 1.5 inclut des changements significatifs dans son implémentation. Parmi eux, Google cite le fait que « l’outil de chaîne de compilation a été traduit de C vers Go, enlevant les derniers vestiges du code C dans la base de code de Go ». Ce qui a pour effet de créer une intégration plus étroite entre les parties du langage.

    De plus, le récupérateur de mémoire a été complètement repensé, conduisant à une réduction conséquente des pauses observées dans la gestion automatique de la mémoire. Russel Cox, un ingénieur supervisant le développement de Go, a expliqué que Google voit désormais des pauses dans une fourchette comprise entre 10 et 20 millisecondes pour un programme de 10Go, contre 1 à 2 secondes de pauses pour la version précédente du récupérateur de mémoire.

    Le planificateur a été amélioré de sorte que le nombre de routines Go qui s’exécutent simultanément (valeur par défaut de GOMAXPROCS) puissent être modifié, allant de 1 au nombre de processeurs disponibles. En clair, les développeurs utilisant Go 1.5 n’auront plus à spécifier l’utilisation des cœurs du processeur ; cela sera fait par défaut. « Le récupérateur de mémoire et le programme principal peuvent fonctionner sur des threads et des cœurs différents », a précisé Cox.

    Notons également que le linker a été modifié pour permettre la distribution de packages Go sous forme de bibliothèques partagées afin de relier des programmes Go.

    Cette mouture embarque également des améliorations des outils développeurs. Le support des paquets dits « internes » vous permet de partager les détails de mise en œuvre entre les paquets. Le support expérimental des paquets de dépendances externes est une étape vers un mécanisme standard de la gestion des dépendances dans les programmes Go. La nouvelle commande « go tool trace » permet la visualisation des traces de programmes générées par la nouvelle infrastructure de traçage dans le runtime. La nouvelle commande « go doc » fournit pour sa part une interface de ligne de commande améliorée pour l’affichage de la documentation du package Go.

    Avec « l’expérience mobile Go » de Google améliorée dans cette mouture, les développeurs pourront écrire un programme C qui appelle Go comme une bibliothèque. La version 1.5 supporte également les architectures arm64 pour les systèmes d’exploitation Darwin (iPad et iPhone) et Linux mais également arm pour Darwin. La combinaison de la capacité à appeler Go depuis des programmes C / C++ ainsi que le support ARM sur Darwin permet à l'expérimentation mobile de Go, qui « explore l'utilisation de Go comme un langage NDK (Native Development Kit), un langage natif sur les dispositifs mobiles qui tournent sur Android mais également iOS », a expliqué Cox.

    Go pourrait être utilisé comme un langage NDK pour concevoir la logique en arrière-plan pour des applications Android et iOS. De nombreuses applications, en particulier les jeux, font appel à Java ou à Objective-C pour l’interface utilisateur, mais le code natif est utilisé pour concevoir la logique principale de l’application, a expliqué Cox. Pour lui, « l’idée ici est que là où vous utilisez C++, vous pouvez utiliser Go à la place ».

    télécharger Go 1.5

    Go mobile (gitHub)

    Rubrique Go, Forum Go, & tutoriels Go.

    Source : note de version

  2. #2
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 959
    Points
    959
    Par défaut
    En dehors de Google, connaissez vous déjà des structures (ici en France) ou des institutions utilusant Go comme language pour du développement ?

  3. #3
    Membre extrêmement actif
    Avatar de Aurelien Plazzotta
    Homme Profil pro
    .
    Inscrit en
    Juillet 2006
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Juillet 2006
    Messages : 312
    Points : 934
    Points
    934
    Par défaut
    C'est suicidaire pour une entreprise de développer une application métier critique dans un langage propriétaire. Que se passera-t-il pour les organisations l'ayant adopté le jour où Google décide d'abandonner le langage Go ou d'effectuer une itération majeure brisant la rétro-compatibilité ?

    Eric S. RAYMOND, auteur de The Cathedral and the Bazaar disait d'ailleurs à ce sujet :
    “When your key business processes are executed by opaque blocks of bits that you can’t even see inside (let alone modify), you have lost control of your business.”
    EDIT:
    Ok Logan bah tu vois j'étais pas au courant, j'ai bien fait de participer comme ça t'as pu me corriger

  4. #4
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 6 887
    Points
    6 887
    Par défaut
    Citation Envoyé par Kenaryn Voir le message
    C'est suicidaire pour une entreprise de développer une application métier critique dans un langage propriétaire.
    Sauf que le langage est open-source. Comme toute entreprise si "le langage Go" devient une ressource critique, elle investira.

    Comme le font beaucoup d'entreprises : Vaadin pour GWT, CloudBees pour Jenkins, etc.

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 6 887
    Points
    6 887
    Par défaut
    Citation Envoyé par octal Voir le message
    En dehors de Google, connaissez vous déjà des structures (ici en France) ou des institutions utilusant Go comme language pour du développement ?
    Surement l'une de ces boîtes : http://www.meetup.com/fr/Golang-Paris/sponsors/. Autrement tu peux te farcir cette page : https://github.com/golang/go/wiki/GoUsers

    Les gens font souvent références à des "scripts" ou des outils internes mais je n'ai pas vu d'annonce concernant l'utilisation en production. Après les boîtes communiquent pas beaucoup sur leurs infrastructures.

  6. #6
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 038
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 038
    Points : 8 406
    Points
    8 406
    Par défaut
    j'ai toujours eu l'impression que ce langage n'arrivait pas à décoller, pourtant quand c'est sorti ça a fait à peu près autant de bruit que Rust et on nous le vendait comme la 8e merveille du monde presque

  7. #7
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Points : 1 187
    Points
    1 187
    Billets dans le blog
    9
    Par défaut
    Bonne nouvelle, pour ma part je l'utilise et je trouve ce langage vraiment géniale.

    Par la suite je pense utiliser ce langage pour faire des apps android.

  8. #8
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 45
    Points : 221
    Points
    221
    Par défaut
    Je reste enchanté par cette initiative osée de Google. Il n'est finalement pas si important que ça de savoir si Go va vraiment être adopté massivement ou pas. Il apportera de facto des nouveaux concepts (ou du moins, des concepts existants améliorés) qui finiront par enrichir les langages ou plateformes de développement les plus en vue en ce moment.

    Donc, si il est adopté massivement, tant mieux, cela voudra dire qu'il est vraiment un langage génial qui fait progresser le développement d'un certain type d'applications.
    Si non, rien de grave, il aura de toute manière enrichi l'expérience des milliers de développeurs qui essaimeront de nouveaux concepts intéressants.

  9. #9
    Membre régulier Avatar de TheGuit
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Juin 2005
    Messages : 33
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par octal Voir le message
    En dehors de Google, connaissez vous déjà des structures (ici en France) ou des institutions utilusant Go comme language pour du développement ?
    Bon pour ne citer que lui Docker est écrit en Go.

  10. #10
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 635
    Points : 15 838
    Points
    15 838
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    j'ai toujours eu l'impression que ce langage n'arrivait pas à décoller, pourtant quand c'est sorti ça a fait à peu près autant de bruit que Rust et on nous le vendait comme la 8e merveille du monde presque
    Rien d'anormal : seuls les langages qui sont fortement poussés ou obligés par des environnements particuliers ont pu vraiment décoller en quelques année comme C#(a cause du .net), Javascript (a cause du Web client) ou ObjectiveC (à cause de Apple)

    Pour un langage qui n'est poussé par aucun système particulier (comme Rust, D, Haskell, ...) Go a au contraireun un succès plutôt correct. Il faut voir que ce genre de langage ne peux pas exploser rapidement, il faut d'abord créer l'écosystème, et que les gens le découvrent... On ne va pas se ruer dessus.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par octal Voir le message
    En dehors de Google, connaissez vous déjà des structures (ici en France) ou des institutions utilusant Go comme language pour du développement ?

    J'ai récemment reçu un flyer d'OVH qui recherche des développeurs Go.

  12. #12
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 45
    Points : 221
    Points
    221
    Par défaut
    Un petit article intéressant sur GO:

    http://www.scriptol.fr/programmation/go.php

  13. #13
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 171
    Points : 773
    Points
    773
    Par défaut
    Les langages qui fonctionnent avec un ramasse miettes, déjà au départ, je suis plutôt méfiant. ("codez comme des porcs mes frères, pas de soucis, le ramasse miettes est la !")
    Enfin chacun fait comme il veut ... sinon, des langages, il en sort tous les ans, pour faire joujou pourquoi pas, en entreprise, c'est plutôt risqué, enfin c'est mon avis.

  14. #14
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 194
    Points : 102
    Points
    102
    Par défaut
    Apparement le service de youtube chez google serait implémenté en GO...donc, oui des entreprises l'utilisent.

    Petite vidéo intéressante au passage, avec Francesc Campoy Flores, responsable des relations développeurs Go (Google US). :

  15. #15
    Chroniqueur Actualités

    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2014
    Messages
    1 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1 089
    Points : 26 557
    Points
    26 557
    Par défaut Go est disponible en version 1.6
    Go est disponible en version 1.6
    avec un support automatique du protocole HTTP 2.0 et un nouveau mécanisme pour la réutilisation des templates

    Six mois après la sortie de la version 1.5, Go vient de passer à la version 1.6. Dans cette nouvelle itération, l’on peut retenir d’emblée que la compatibilité avec les versions antérieures a été conservée. Par ailleurs, aucun changement au niveau de la spécification du langage n’a été introduit.

    Pour cette nouvelle mouture, le point le plus important est le support du protocole HTTP 2.0. Pour rappel, HTTP 2.0 est le successeur du protocole de transfert HTTP 1.1. Le but de cette implémentation est d’améliorer les performances du protocole de transfert. Pour cela, il assure une connexion unique entre les navigateurs et un site web donné.

    Dans cette version 1.6, le support de ce protocole HTTP 2.0 a été intégré par défaut. Les applications clientes ou serveur compilées avec cette nouvelle version pourront bénéficier de manière transparente des avantages de ce protocole.

    À côté du support du protocole HTTP/2, l’on a également plusieurs autres améliorations.

    Dans la version 1.5, il avait été ajouté de manière expérimentale, un mécanisme permettant d’inclure les bibliothèques externes qui se trouvent dans le répertoire « vendor », en utilisant la variable d’environnement GO15VENDOREXPERIMENT optionnelle. Dans cette nouvelle version, cette variable est maintenant activée par défaut.

    Au niveau du runtime, il est maintenant possible de détecter automatiquement les erreurs qui surviennent lorsqu’une goroutine essaie de lire un map (contenant des objets clé-valeur associés) tandis qu’une autre goroutine essaie d’accéder au même map en écriture. Quand le scénario ci-dessus se produit, le runtime édite un diagnostic et met fin à l’exécution du programme. Toutefois, pour avoir une meilleure compréhension du problème, il est recommandé de lancer race detector qui est un outil permettant de détecter les erreurs.

    Par ailleurs, lorsque le programme rencontre un bogue qui engendre un arrêt d’exécution du code, le runtime n’imprime maintenant que les goroutines concernées par le panic et non l’ensemble des goroutines.

    Au niveau des templates, quelques changements ont également été introduits. Lorsque vous utilisez le signe « — » après une action, l’espace après cette action est supprimé. Et lorsque le signe se trouve avant cette action, l’espace avant l’action est également supprimé. À côté de cette nouvelle gestion des espaces autour des expressions, nous avons une nouvelle action {{block}} qui permet de définir une partie d’un template pouvant être remplacée dans différentes instanciations. Pour cela, il va falloir associer ce bloc avec la possibilité de redéfinir les templates nommés.

    Enfin, l’on a l’outil CGO qui a connu aussi des aménagements. Nous rappelons que CGO permet aux programmes Go de fonctionner de manière interopérable avec les bibliothèques C. Le changement majeur, en ce qui concerne cet outil, réside dans la définition des règles de partage des pointeurs Go avec les codes C. Pour que Go et C puissent partager une mémoire allouée par Go, il faut qu’un pointeur de cette mémoire soit passé à C comme faisant partie de l’appel de CGO. Pour que cela n’engendre pas d’erreur, il faut que la mémoire elle-même ne contienne aucun pointeur de la mémoire allouée à Go et que le code C ne retienne pas le pointeur après le retour d’appel.

    En dehors de ces éléments, l’on note également plusieurs améliorations au niveau de la bibliothèque, du compilateur, du linker et bien d’autres choses encore.

    Source : Notes de version

    Et vous ?

    Que pensez-vous de la nouvelle version de Go ? répond-elle à vos attentes ?

    Quelles améliorations souhaiteriez-vous voir dans les prochaines versions du langage ?

    Voir aussi

    Forum Go

Discussions similaires

  1. Google met à jour Chrome et publie la version 2.0.172.37
    Par Kerod dans le forum Google Chrome
    Réponses: 32
    Dernier message: 22/01/2016, 11h48
  2. Mozilla publie la version stable de Firefox 35
    Par Hinault Romaric dans le forum Firefox
    Réponses: 2
    Dernier message: 15/01/2015, 00h00
  3. Google publie la version stable de Chrome 37
    Par Stéphane le calme dans le forum Google Chrome
    Réponses: 7
    Dernier message: 28/08/2014, 23h01
  4. Google lance la version 1.0 stable du module Apache mod_pagespeed
    Par Nissa Comet dans le forum Actualités
    Réponses: 0
    Dernier message: 12/10/2012, 00h07
  5. dernière version stable d'axis
    Par mlequim dans le forum Services Web
    Réponses: 4
    Dernier message: 16/06/2006, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo