Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Go, l'alternative de Google aux langages C et C++ sort en version 1.2,
Après 4 ans d'existence, le langage open source a séduit peu de développeurs

Le , par Hinault Romaric

20PARTAGES

7  3 
Le langage de programmation Go de Google passe à la version 1.2.

Cette nouvelle version, qui est publiée pratiquement sept mois après Go 1.1, apporte plusieurs nouveautés, des améliorations de performance et quelques petits changements dans la syntaxe du langage.

Go 1.2 a été libéré grâce à la participation de plus de 116 développeurs, qui ont soumis des rapports de bogues et plus de 1600 changements dans le noyau du langage de programmation open source.

Le « tool chain » apporte une nouvelle fonctionnalité importante permettant de calculer et d'afficher les résultats de la couverture des tests. Goroutines (fonctions permettant d’exécuter des taches en parallèles) bénéficie d’optimisations qui permettront d’améliorer considérablement les performances des certains programmes.

Avec cette version, de nombreux ajouts et modifications ont été apportés à la bibliothèque standard, tout en assurant la compatibilité descendante.

Pour rappel, Go se positionne comme une alternative aux langages de programmation C et C++. C’est un langage compilé permettant de simplifier le développement d'applications concurrentes. Il est destiné notamment à la programmation système.

Selon Google, les langages de programmation majeurs datent de plus d’une décennie, et ne se sont pas adaptés à l’évolution du paysage informatique qui a énormément changé. Go a été conçu pour tirer parti des processeurs multicœurs, fournir des fonctionnalités modernes comme le typage dynamique, le ramasse-miettes (garbage collection), et abandonner des aspects pénibles comme l’inclusion des fichiers pour le langage C.

Pour le géant du Web, Go apporte de meilleures performances et plus de flexibilité. Sauf que, selon des tests sur un benchmark de Go avec le compilateur GCC sur Ubuntu x64, le compilateur du langage de Google affiche des performances moins élevées que celles de GCC.

De plus, après quatre années d’existence, Go ne semble pas séduire beaucoup de développeurs et les langages C et C++ restent encore très populaires. Selon l’index de popularité Tiobe, Go n’apparaît qu’en 49e position, alors que C demeure le langage le plus populaire.

Source : site du projet

Et vous ?

Avez-vous adopté Go ? Pourquoi ?

Que pensez-vous du langage ? Représente-t-il une sérieuse menace pour C et C++ ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de el_slapper
Expert éminent sénior https://www.developpez.com
Le 05/12/2013 à 10:28
Citation Envoyé par Jean84 Voir le message
Je pense que cette réaction montre un manque flagrant de courtoisie . C'est pas parce que j'ai pas le même avis qu tu dois me traiter d'inculte, qu'est-ce qui te permet de me juger sur une phrase ? Tu me connais ?
Le respect, ça se mérite. Tu as sorti une énormité(Java peut remplacer C/C++ tout le temps, partout, pour toutes les applis) qui démontre ton manque de recul sur la question. On peut préférer, pour telle ou telle tâche, l'un ou l'autre, et en débattre courtoisement et avec respect. Mais une "vérité" balançée en bloc comme ça ne te permettra pas de gagner le respect des gens qui postent ici.

C'est ton droit le plus strict de préfére Java à C/C++, mais si une bonne partie des drivers et des jeux vidéos de nos jours sont fait en C ou en C++, ça n'est pas par pur aveuglement. Mais bien parceque dans ces domaines-là, ces langages offrent un avantage compétitif. Notemment par rapport au Java. C'est cette statistique que tu semble ignorer et qui te vaut cette réponse un peu sèche - mais justifiée - de gangsoleil.

Enfin, je note que tu exiges la tolérance, mais que tu ne tolères ni Go no la famille des C/C++... Ce genre de contradictions st généralement mal perçu.

D'une manière générale, quand on poste sur un forum, des fois, on dit des conneries. Et on se fait flamber. Ca m'est arriver avant-hier, sur le forum politique(je me suis permis de gloser sur l'acquisition des fondamentaux de l'orthographe...et j'ai fait une faute d'orthographe colossalle ). C'est le jeu. C'est grâce à ce jeu qu'on progresse. On fait fausse route, il y a des conséquences, et on se rend compte qu'on fait fausse route.
9  0 
Avatar de TNT89
Membre confirmé https://www.developpez.com
Le 04/12/2013 à 7:46
Citation Envoyé par Hinault Romaric Voir le message
Selon des tests sur un benchmark de Go avec le compilateur GCC sur Ubuntu x64, le compilateur du langage de Google affiche des performances bien plus élevées que celles de GCC.
Deux choix s'imposent à nous :
  • Le lien ne pointe pas vers la bonne URL.
  • Le chroniqueur n'a pas fait l'effort de lire les tableaux, qui nous montrent que dans les 10 algorithmes d'exemples, GCC C est plus rapide que GO.
8  0 
Avatar de gangsoleil
Modérateur https://www.developpez.com
Le 05/12/2013 à 9:53
Citation Envoyé par Jean84 Voir le message
je vois pas pourquoi Go pourrait remplacer le c et le c++ ya déjà java donc ça sert à rien,
Java qui remplace C ou C++ ? Ca a du arriver bien sur, mais ce n'est pas courant non, principalement pour deux raisons : tout ce qui est bas niveau (meme si JavaOS montre que c'est theoriquement possible de faire du bas niveau en Java), et la JVM.


ça sert à google juste pour augmenter son emprise sur le monde de l'informatique mais vu que java dépasse déjà le c et le c++ dans tous les domaines ...
C'est sur que dans le domaine du temps d'execution, Java a toujours depasse de tres tres loin le C ou le C++.

Si c'est pour dire XXX est mieux en tout que YYY, je pense que cela montre un manque flagrant de culture informatique : chaque langage, meme celui qui occupe la plus petite niche, a son interet propre. Apres, se pose la question de savoir si ce langage peut, ou va, quitter sa niche : dans certains cas (langages synchrones par exemple), la reponse est clairement non. Dans le cas de Go, je ne vois pas pour le moment de raison qu'il quitte sa niche, c'est a dire Google.
7  0 
Avatar de Hinault Romaric
Responsable .NET https://www.developpez.com
Le 25/06/2014 à 10:04
Google a clairement présenté le langage Go comme une alternative à C++ dans la description du langage. Voici un commentaire des créateurs du langage (qui montre que l'origine du langage est de palier aux faiblesses de C++) :


When the three of us [Thompson, Rob Pike, and Robert Griesemer] got started, it was pure research. The three of us got together and decided that we hated C++. [laughter] ... [Returning to Go,] we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason.
Ensuite dans la présentation du langage, il y a un gros rapprochement avec le langage C (qui présente Go comme un "C moderne".


Go's syntax includes changes from C aimed at keeping code concise and readable.

Go adds some basic types not present in C for safety and convenience, etc.
Et voici un autre commentaire des gars de Google tiré d'une autre news sur le sujet.


les langages de programmation majeurs datent de plus d’une décennie, et ne se sont pas adaptés à l’évolution du paysage informatique qui a énormément changé. Go a été conçu pour tirer parti des processeurs multicœurs, fournir des fonctionnalités modernes comme le typage dynamique, le ramasse-miettes (garbage collection), et abandonner des aspects pénibles comme l’inclusion des fichiers pour le langage C.
Un benchmark ici qui compare les performances de Go et C : http://benchmarksgame.alioth.debian.org/u64q/go.php

Le titre de la news peut sembler pompeux, je le concède, mais il tient juste compte des informations que nous avons glané sur le sujet et véhiculé par Google lui même.

Le Wiki de GO : https://code.google.com/p/go-wiki/wi...CPPProgrammers

Présentation de GO : http://en.wikipedia.org/wiki/Go_(pro...ming_language)

Une comparaison entre C et Go : http://crypto.stanford.edu/~blynn/c2go/index.html

Un excellent débat C vs Go sur hackernews : https://news.ycombinator.com/item?id=4110480

comparaison des performances de C et Go http://benchmarksgame.alioth.debian....rg/u64q/go.php
7  0 
Avatar de gangsoleil
Modérateur https://www.developpez.com
Le 04/12/2013 à 10:36
Citation Envoyé par Hinault Romaric Voir le message
Selon des tests sur un benchmark de Go avec le compilateur GCC sur Ubuntu x64, le compilateur du langage de Google affiche des performances bien plus élevées que celles de GCC.
Bah non...
Le tableau 3 montre le temps d'execution minimal avec les deux compilateurs, et le C est systematiquement plus rapide, en temps absolu (c'est a dire le temps entre le debut et la fin du programme). En temps de calcul, Go est toujours plus lent, et parfois completement a la masse (binary-tree).

Et puis tous les gens qui ont fait des comparaisons de performances savent bien qu'on leur fait dire ce qu'on veut, et qu'on prend normalement la moyenne de milliers de mesure, diminuée des extremes, et qu'on affiche aussi l'ecart type. Ca evite les cas etranges, et ca renforce les mesures.

Avez-vous adopté Go ? Pourquoi ?
Bien sur que non. Je travaille en C avec toute une equipe, et j'aimerai bien voir la tete de la hierarchie si on leur expliquait qu'on allait changer de langage, ce qui implique une formation de toute l'equipe et des temps de developpement allonges pendant 4 a 6 mois....
Sans parler des millions de lignes de code en C, qui ne seront jamais portees, et donc le fait de maintenir 2 langages en parallele dans l'equipe.


Que pensez-vous du langage ? Représente-t-il une sérieuse menace pour C et C++ ?
Pour percer, un langage doit repondre a un besoin. Google a peut-etre besoin d'un langage pour faire ses bidouilles internes, mais vu de l'exterieur, Go ressemble a un four-tout qui ne sait pas bien ou il va.
8  3 
Avatar de Niark13
Membre éclairé https://www.developpez.com
Le 04/12/2013 à 10:49
Il est évident qu'on ne va pas réécrire les milliards de lignes de code C et C++ dans un autre langage, quel qu'il soit. C'est pour cela qu'il vaut mieux parler des nouveaux entrants comme « alternatives » plutôt que comme « remplaçants » (sous-entendu : on peut les envisager pour de nouveaux projets).

Quand on voit comment Cobol résiste, c'est certain que C et C++ sont encore là pour quelques décennies au minimum.
5  0 
Avatar de gangsoleil
Modérateur https://www.developpez.com
Le 05/12/2013 à 16:04
Citation Envoyé par Jean84 Voir le message
Je pense que cette réaction montre un manque flagrant de courtoisie . C'est pas parce que j'ai pas le même avis qu tu dois me traiter d'inculte, qu'est-ce qui te permet de me juger sur une phrase ? Tu me connais ?
Bonjour Jean,

Non, je ne te connais pas. Par contre, je reagissais a ton intervention :

Citation Envoyé par Jean84 Voir le message
je vois pas pourquoi Go pourrait remplacer le c et le c++ ya déjà java donc ça sert à rien, ça sert à google juste pour augmenter son emprise sur le monde de l'informatique mais vu que java dépasse déjà le c et le c++ dans tous les domaines ...
Cette phrase est peut-etre un troll que j'ai nourri, ou peut-etre pas, mais dans les deux cas je ne pense pas que ma remarque soit deplacee -- desobligeante peut-etre, mais guere plus.
Pour le reste, el-slapper a tres bien explique ce qui s'est passe : lorsqu'on balance une enormite telle que celle-la, le retour de baton s'il y a n'en sera que plus douloureux.

Pour revenir plus sur le sujet, ce qui manque a mon sens a Go, c'est un domaine d'application : "les applications developpees par Google", ce n'est pas suffisant.
Quant a le voir sous android, pourquoi pas, mais dans ce cas il aurait mieux valu creer ce langage comme remplacant du Java (qui est le principal langage de developpement sous Android) plutot que de C ou C++ (qui ne sont quasiment pas present dans les applications android).
5  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 24/06/2014 à 23:09
Citation Envoyé par Lynix Voir le message
Merci pour ces éclaircissements.
C'est vrai qu'on se passerait bien des titres "à scandale" de Developpez, personne n'a envoyé de MP aux newsers pour leur dire ?
Je penses que tu exagères, la plupart des titres sont assez informatif et neutres, après si certains sont plus trollesque pour attirer l'attention je ne voie pas très bien ou est le mal, ça serais mieux selon toi des débats vides de commentaires ?

Il y à un bouton d'alerte sur les news pour communiquer avec les gars du service news.
Je vous signale aussi que vous pouvez en faire des news, le club est un site collaboratif, si celles que vous voyez ne vous plaisent pas. Vous ne pouvez pas demander à des journalistes généralistes de faire des news aussi bonnes que vous pourriez les faires, vous qui êtes des spécialistes dans votre domaine
Par exemple ce débat EDI versus éditeur été lancé par un simple membre du club, plutôt que de critiquer, pourquoi pas en faire des news, avec le titre qui te plait ?

Sur les autres sites c'est bien pire, à tel point que sur certains autres sites qui prétendent faire parfois des news développeur, certains on tout simplement supprimés la possibilités pour les membres d'avoir des commentaires, ils ont du retirer la zone commentaires tellement les sois disant newsers (en fait des agences de madagascar qui font des news à deux balles) se faisaient chambrer, et ça quand il avais la chance d'avoir des commentaires, généralement aucune réaction car news sans intérêt ou déjà vue et revue

Personnellement mes news préférées sont les news faites par les membres, mais bon cela n'engage que moi, mais il y en à tellement peu. C'est toujours pareil partout, pour critiquer et dire du mal il y à toujours des wagons entiers de volontaires, et pour se retirer les doigt du c.. et faire quelque chose d'utile il y à plus personne
6  1 
Avatar de Périclite
Membre à l'essai https://www.developpez.com
Le 24/06/2014 à 23:17
Citation Envoyé par Lynix Voir le message
Merci pour ces éclaircissements.
C'est vrai qu'on se passerait bien des titres "à scandale" de Developpez, personne n'a envoyé de MP aux newsers pour leur dire ?
De quel titre à scandale tu veux parler ?

"Go le nouveau langage favori de Lady gaga et Dieudonné, le nouveau roi d’Espagne témoigne, Manuel Valls décide de l'interdire, et Jean-Francois copé organise un comité de soutien financier en partenariat avec Bygmallion, allez-vous y souscrire ? " C'est de ce titre la dont tu parles ?
6  1 
Avatar de Niark13
Membre éclairé https://www.developpez.com
Le 04/12/2013 à 8:37
Go me semble s'orienter vers la niche des applications serveurs asynchrones (ce qui intéresse certainement le plus Google). Pour autant, je ne pense pas qu'il soit un remplaçant crédible de C (et encore moins de C++) pour le moment. Il lui manque des fonctionnalités comme la possibilité de désactiver le GC dans certaines parties du code (qui doivent être réactives) ou la généricité. Je mise plus sur D ou Rust comme alternative à C++.

Quant aux performances, au mois d'Août, des benchmarks semblait également le situer derrière les deux langages que je viens de citer. À voir si cette nouvelle version améliore les choses.
4  0