+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2003
    Messages : 3 995
    Points : 1 970
    Points
    1 970

    Par défaut Le langage Go passe en version 1.0

    Google vient d'annoncer que son langage open source Go était disponible en version 1.0n ce qui marque une importante étape dans l'évolution de ce langage.


    Rappelons que Go est un langage compilé permettant de simplifier le développement d'applications concurrentes. Il est destiné notamment à la programmation système.

    Le passage de Go à version 1.0 suppose que le langage soit prêt pour être utilisé en environnement de production et que tout programme créé avec cette version puisse être compilé et exécuté sans modification de code avec les versions suivantes.

    Toutes les applications s’appuyant sur les versions précédentes doivent être exécutées avec un programme GoFix qui corrigera les problèmes de compatibilité.

    Avec cette sortie, Google a procédé à une mise à jour du SDK d’App Engine, sa plateforme d’hébergement Cloud qui supporte le langage.

    Les outils de développement pour Go 1.0 sont disponibles en téléchargement pour les systèmes d’exploitation Linux, Mac OS X, FreeDSD et Windows.

    Une documentation est disponible pour aider les développeurs à prendre la main sur la plateforme de développement

    L'annonce sur le blog de Go

    La documentation de la version 1.0

    Télécharger Go

  2. #2
    Modérateur
    Avatar de gangsoleil
    Profil pro
    R&D en systemes informatiques bas niveau Unix/Linux
    Inscrit en
    mai 2004
    Messages
    9 272
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : R&D en systemes informatiques bas niveau Unix/Linux

    Informations forums :
    Inscription : mai 2004
    Messages : 9 272
    Points : 26 502
    Points
    26 502

    Par défaut

    Pourtant, on n'est pas trolldi, si ?
    Modérateur "C", "Informatique Générale & Hardware" et "Unix"
    Les règles du forum

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2011
    Messages : 66
    Points : 200
    Points
    200

    Par défaut

    Rappelons que Go est un langage compilé permettant de simplifier le développement d'applications concurrentes. Il est destiné notamment à la programmation système.
    Je n'ai pas beaucoup entendu parler de ce langage. Je ne sais pas pourquoi, je n'ai personnellement pas envie de m'y mettre, pourtant j'adore apprendre de nouveaux trucs. Si on pouvait écrire un dossier(particularités, avantages, ..) dessus pour voir de quoi il retourne, ce serait bien

  4. #4
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    novembre 2008
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : novembre 2008
    Messages : 86
    Points : 361
    Points
    361

    Par défaut

    Hmmm, j'ai rapidement parcouru la doc et les exemples on dirait un mix entre du C et du Python.
    Y'a des exemples modifiables tournant en ligne ici, c'est assez impressionnant

  5. #5
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 859
    Points : 7 209
    Points
    7 209

    Par défaut

    Mes références datent d'il y a 1 an mais malgré toute la réserve qu'il faut avoir lorsqu'on parle de benchmarks, les performances de Go ne semblaient pas être spécialement au rendez-vous.
    Je me demande si des progrès notables ont été faits de ce côté là.
    Enfin si quelqu'un a fait quelques tests et auraient un retour.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2003
    Messages : 3 995
    Points : 1 970
    Points
    1 970

    Par défaut

    Citation Envoyé par _skip Voir le message
    Mes références datent d'il y a 1 an mais malgré toute la réserve qu'il faut avoir lorsqu'on parle de benchmarks, les performances de Go ne semblaient pas être spécialement au rendez-vous.
    Je me demande si des progrès notables ont été faits de ce côté là.
    Enfin si quelqu'un a fait quelques tests et auraient un retour.
    Il ne faut pas confondre un langage et ses implémentations. En l'occurrence, il y en a déjà 2 : le compilateur distribué par Google d'une part, et d'autre part gccgo, l'implémentation GNU.
    Le plus important, c'est si le langage fournit des métaphores puissantes et bien pensées. Un compilateur, ça s'optimise.

  7. #7
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 859
    Points : 7 209
    Points
    7 209

    Par défaut

    Citation Envoyé par Traroth2 Voir le message
    Il ne faut pas confondre un langage et ses implémentations. En l'occurrence, il y en a déjà 2 : le compilateur distribué par Google d'une part, et d'autre part gccgo, l'implémentation GNU.
    Le plus important, c'est si le langage fournit des métaphores puissantes et bien pensées. Un compilateur, ça s'optimise.
    La, je pensais à GO en tant que solution pour ce coup...
    J'ai tendance à dire que cela fait partie d'un tout. Surtout que go joue dans une catégorie (C/C++) où la performance est tout de même une préoccupation sérieuse.
    Et si ça devait n'être qu'une pure question de langage, perso je serai ravi d'utiliser ça plutôt que du C...

  8. #8
    Membre chevronné
    Avatar de SurferIX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2008
    Messages
    837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2008
    Messages : 837
    Points : 1 942
    Points
    1 942

    Par défaut

    Moi ce qui me plait c'est l'assignation multiple. Je trouve qu'on y gagne à la fois en lisibilité et en concision (les deux sont très rarement compatible (surtout en C ) ).

    J'aime aussi beaucoup les channels : http://tour.golang.org/#62

    Bref, ça m'a donné envie de m'y pencher un peu plus. S'ils font un CGI go, au même titre que Php et lié à Apache, on pourra se faire ses sites Web en go et plus en Php, et là, ça m'intéressera au plus haut point (un go compilé lié à au serveur Web qui s'exécute directement, ça pourrait aller vite, très vite ).
    "Ceci dit" n'est pas correct. Cf Wikipedia. Cela dit est du français correct.
    Je suis parfois... ⇛ ☆★ En direct ★☆

  9. #9
    Modérateur
    Avatar de gangsoleil
    Profil pro
    R&D en systemes informatiques bas niveau Unix/Linux
    Inscrit en
    mai 2004
    Messages
    9 272
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : R&D en systemes informatiques bas niveau Unix/Linux

    Informations forums :
    Inscription : mai 2004
    Messages : 9 272
    Points : 26 502
    Points
    26 502

    Par défaut

    Citation Envoyé par SurferIX Voir le message
    Moi ce qui me plait c'est l'assignation multiple. Je trouve qu'on y gagne à la fois en lisibilité et en concision (les deux sont très rarement compatible (surtout en C ) ).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a,b,c,d,e,f:=3,423,42,8947,9,-1
    Cote lisibilite, on repassera....
    Modérateur "C", "Informatique Générale & Hardware" et "Unix"
    Les règles du forum

  10. #10
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 859
    Points : 7 209
    Points
    7 209

    Par défaut

    Citation Envoyé par gangsoleil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a,b,c,d,e,f:=3,423,42,8947,9,-1
    Cote lisibilite, on repassera....
    Est-ce que ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom, prenom, ville := "Dupont", "Jean", "Paris"
    sonne moins dégueulasse? Pour moi oui... Pourtant le concept est le même.
    Dans les langages conçus pour être concis (python etc..) il y a parfois une manie déplorable de vouloir à tout prix économiser des retours chariots.
    Mais ça reste au développeur d'utiliser intelligemment ce qu'il a à disposition pour que son code reste agréable.

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2003
    Messages : 3 995
    Points : 1 970
    Points
    1 970

    Par défaut

    Citation Envoyé par _skip Voir le message
    La, je pensais à GO en tant que solution pour ce coup...
    J'ai tendance à dire que cela fait partie d'un tout. Surtout que go joue dans une catégorie (C/C++) où la performance est tout de même une préoccupation sérieuse.
    Et si ça devait n'être qu'une pure question de langage, perso je serai ravi d'utiliser ça plutôt que du C...
    C'est bien ce que je veux dire. Il faudrait évaluer les performances des différentes implémentations disponibles avant de dire que pour l'instant, Go n'est pas une solution acceptable pour ton besoin au niveau performance.

  12. #12
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 859
    Points : 7 209
    Points
    7 209

    Par défaut

    Citation Envoyé par Traroth2 Voir le message
    C'est bien ce que je veux dire. Il faudrait évaluer les performances des différentes implémentations disponibles avant de dire que pour l'instant, Go n'est pas une solution acceptable pour ton besoin au niveau performance.
    Ce n'est pas ce que je dis, mais ce que je demande .

    Car il y a un an, il y avait de la marge avant de concurrencer c ou même c++. Les benchmarks utilisateur le mettait encore un poil derrière java. Si on exclut le monde l'embarqué, souvent ce qui te dicte le choix du C dans un projet c'est pas forcément ton amour pour ce langage mais le besoin en performance.
    Et la volonté assez affichée des créateurs est quand même de venir avec un compromis de ce côté.

    Je pense que sitôt que les performances des solutions GO se situeront entre java et C/C++, son intérêt décuplera. Et plus d'intérêt ça peut signifier une progression plus rapide, l'arrivée d'outils puissants, d'un écosystème de librairies etc...

    Je crois vraiment qu'il y a la place pour quelque chose dont les performances se situeraient quelque part entre les solutions jittées/managées (c#, java) et le natif c/c++.

  13. #13
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 291
    Points : 18 044
    Points
    18 044

    Par défaut

    Citation Envoyé par gangsoleil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a,b,c,d,e,f:=3,423,42,8947,9,-1
    Cote lisibilite, on repassera....
    Citation Envoyé par _skip Voir le message
    Est-ce que ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom, prenom, ville := "Dupont", "Jean", "Paris"
    sonne moins dégueulasse? Pour moi oui...

    et pourtant, c'est l'un des "points faibles" que certains ont reproché à Perl... aussi bien en raison du manque de perf que ça impliquait, que de l'absence de lisibilité (mais faut dire que certains aiment le ASCII-art )
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  14. #14
    Expert éminent sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    4 662
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : décembre 2007
    Messages : 4 662
    Points : 19 391
    Points
    19 391

    Par défaut

    ça n'est pas un débat nouveau. Déjà, en cobol, vaut-il mieux écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MOVE '12345' TO BQE-INITIALE BQE-INTERMED BQE-FINALE
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MOVE '12345' TO BQE-INITIALE
                    BQE-INTERMED
                    BQE-FINALE
    Je préfère la seconde que je trouve bien plus lisible. Mais ça me bouffe deux lignes de plus. A mon sens, ça n'est pas grave. Si on fait de l'assignation de masse, que ça prenne plusieurs pages n'est pas un problème. Avoir des paragraphes courts, c'est important quand on commence à faire des trucs moins simples, surtout quand on commence à indenter. Mais pour de l'assignation?
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  15. #15
    Membre émérite
    Avatar de MiaowZedong
    Profil pro
    Grand Timonier des Chats
    Inscrit en
    décembre 2011
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Grand Timonier des Chats

    Informations forums :
    Inscription : décembre 2011
    Messages : 679
    Points : 2 691
    Points
    2 691

    Par défaut

    Citation Envoyé par el_slapper Voir le message
    ça n'est pas un débat nouveau. Déjà, en cobol, vaut-il mieux écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MOVE '12345' TO BQE-INITIALE BQE-INTERMED BQE-FINALE
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MOVE '12345' TO BQE-INITIALE
                    BQE-INTERMED
                    BQE-FINALE
    Je préfère la seconde que je trouve bien plus lisible. Mais ça me bouffe deux lignes de plus. A mon sens, ça n'est pas grave. Si on fait de l'assignation de masse, que ça prenne plusieurs pages n'est pas un problème. Avoir des paragraphes courts, c'est important quand on commence à faire des trucs moins simples, surtout quand on commence à indenter. Mais pour de l'assignation?
    Je ne sais pas comment le Go gère les newlines, mais dans un language avec une fin de ligne explicite tes deux exemples n'auraient qu'une ligne logique. Cependant, a voir les exemples, Go fait comme la plupart des languages et lit les fins de ligne implicites.

    De plus, tu ne repètes pas ton opérateur, donc techniquement, c'est une assignation multiple même dans la seconde, non?

    L'assignation multiple, c'est avant tout une question de pratiques, pas de syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom, prenom, ville := "Dupont", "Jean", "Paris"
    Ça peut être une test case claire.
    Par contre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a,b,c,d,e,f:=3,423,42,8947,9,-1
    Même dans un projet individuel c'est une horreur, mais avant de parler de l'assignation multiple, les noms de variables a,b,c, etc sont à proscrire.

  16. #16
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    novembre 2005
    Messages
    2 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2005
    Messages : 2 859
    Points : 7 209
    Points
    7 209

    Par défaut

    Citation Envoyé par gorgonite Voir le message
    et pourtant, c'est l'un des "points faibles" que certains ont reproché à Perl... aussi bien en raison du manque de perf que ça impliquait, que de l'absence de lisibilité (mais faut dire que certains aiment le ASCII-art )
    On peut supposer que dans le cadre d'un langage compilé, cette notation ou celle en colonne reviennent au même question perfs...
    Après perso ce n'est pas une fonctionnalité décisive pour moi, de loin pas, elle a juste le mérite d'exister. Après je ne peux qu'espérer que les gens s'en servent de manière convenable c'est comme tout.

    Il y aura de toutes façons toujours débat à savoir si un langage doit proposer ou non des fonctionnalités sous prétexte qu'on pourrait faire de la m... avec. Tu retrouves ça pour les typedef, la surcharge d'opérateurs, les extensions methods... Bref, c'est toujours ou tu mets la responsabilité.

    Ce que je disais juste c'est que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a,b,c,d,e,f:=3,423,42,8947,9,-1
    est un peu moche, le fait que les variables soient nommées de cette façon et qu'il n'y ait pas d'espace entre elles et entre les valeurs (espace après une virgule c'est une règle assez basique) ça n'aide pas. On trouve des utilisations où on sent moins le goût de vomi quand même... Suffit de regarder si on s'en sert "comment" on s'en sert.

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

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : août 2005
    Messages : 2 858
    Points : 6 896
    Points
    6 896

    Par défaut

    Disons que cet exemple sera peut-être plus parlant
    ou

    En tout cas avant de me mettre à ce nouveau langage je vais commencer par mieux maîtriser la plateforme que j'utilise (Java), et ensuite les autres "standard" (C, C++, .Net), et après viendra d'autres langages plus évolués (Scala, Ruby) et enfin seulement les petits nouveaux (Go)

    La notion de channel est juste une FIFO ? Si c'est le cas on aura trouvé plus expressif ...
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

Discussions similaires

  1. Google App Engine passe en version 1.2.5, découvrez les nouvelles fonctionnalités
    Par Gordon Fowler dans le forum Serveurs, conteneurs, et Java EE
    Réponses: 0
    Dernier message: 04/09/2009, 17h09
  2. Réponses: 0
    Dernier message: 04/09/2009, 17h09
  3. Yellow Dog Linux passe à la version 6.2
    Par matrix788 dans le forum Actualités
    Réponses: 0
    Dernier message: 30/06/2009, 13h00
  4. Yellow Dog Linux passe à la version 6.2
    Par matrix788 dans le forum Distributions
    Réponses: 0
    Dernier message: 30/06/2009, 13h00

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