Go passe en version 1.0
Le langage de Google est prêt pour être utilisé en production

Le , par Traroth2, Expert éminent
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 02/04/2012 à 15:33
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...
Avatar de SurferIX SurferIX - Membre expérimenté http://www.developpez.com
le 04/04/2012 à 10:03
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 ).
Avatar de gangsoleil gangsoleil - Modérateur http://www.developpez.com
le 04/04/2012 à 13:16
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
a,b,c,d,e,f:=3,423,42,8947,9,-1
Cote lisibilite, on repassera....
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 04/04/2012 à 13:33
Citation Envoyé par gangsoleil  Voir le message
Code : Sélectionner tout
a,b,c,d,e,f:=3,423,42,8947,9,-1
Cote lisibilite, on repassera....

Est-ce que ceci

Code : Sélectionner tout
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.
Avatar de Traroth2 Traroth2 - Expert éminent http://www.developpez.com
le 05/04/2012 à 15:29
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.
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 06/04/2012 à 9:40
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++.
Avatar de gorgonite gorgonite - Rédacteur/Modérateur http://www.developpez.com
le 06/04/2012 à 11:18
Citation Envoyé par gangsoleil  Voir le message
Code : Sélectionner tout
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
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 )
Avatar de el_slapper el_slapper - Expert éminent sénior http://www.developpez.com
le 06/04/2012 à 11:33
ça n'est pas un débat nouveau. Déjà, en cobol, vaut-il mieux écrire :

Code : Sélectionner tout
MOVE '12345' TO BQE-INITIALE BQE-INTERMED BQE-FINALE
ou bien
Code : Sélectionner tout
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?
Avatar de MiaowZedong MiaowZedong - Membre émérite http://www.developpez.com
le 06/04/2012 à 11:57
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
MOVE '12345' TO BQE-INITIALE BQE-INTERMED BQE-FINALE
ou bien
Code : Sélectionner tout
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
nom, prenom, ville := "Dupont", "Jean", "Paris"
Ça peut être une test case claire.
Par contre:
Code : Sélectionner tout
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.
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 06/04/2012 à 19:03
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
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.
Avatar de Logan Mauzaize Logan Mauzaize - Rédacteur/Modérateur http://www.developpez.com
le 19/04/2012 à 13:31
Disons que cet exemple sera peut-être plus parlant
Code Go : Sélectionner tout
x, y, z := 1, 2, 3
ou
Code Go : Sélectionner tout
r, t := 5, Math.Pi

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 ...
Offres d'emploi IT
Chef de projets microsoft dynamics h/f
KONICA MINOLTA BUSINESS SOLUTIONS France - Ile de France - Carrières-sur-Seine (78420)
Concepteur développeur mobilité ios, android h/f
Sogeti France - Rhône Alpes - Lyon (69000)
Développeur COBOL H/F
CRESCENDO BROTTEAUX - Rhône Alpes - Saint-Étienne (42000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil