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, Responsable .NET
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++ ?


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


 Poster une réponse

Avatar de TNT89 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.
Avatar de abriotde abriotde - Membre éprouvé https://www.developpez.com
le 04/12/2013 à 8:12
Le langage GO est a mon avis le meilleur outsider. Il est le seul dont les performances rivalise presque avec le C (Langage le plus rapide) tout en étant beaucoup plus rapide en terme de temps de codage. Le point fort mis en avant par Google est surtout sa rapidité de compilation. Contrairement au C, pour GO, il existe un interpréteur pour l'utiliser comme un langage de scripts. Son défaut? C'est qu'il existe d'autre langages bien implanté et qu'il ne révolutionne pas la manière de codage. En informatique, il est extrêmement difficile de se faire une place au soleil si vous n'êtes pas là au tout début. C/C++, Java et Javascript en sont des exemple les autres ne se sont imposer que par obligation. Mais il en est de même pour les autres logiciels.
Avatar de Niark13 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.
Avatar de Markand Markand - Membre averti https://www.developpez.com
le 04/12/2013 à 8:52
Moi personnellement rien que le fait que Go soit basé sur beaucoup de code de plan9 ça me donne pas envie d'essayer.
Avatar de Arnard Arnard - Membre chevronné https://www.developpez.com
le 04/12/2013 à 9:42
Je plussoie TNT89, selon le tableau de données, le C prend moins de temps CPu pour donner un résultat, coûte moins de mémoire. Pour le multi-coeur, ça semble plus kiff-kiff, tantôt l'avantage à l'un, tantôt à l'autre...
Avatar de Lynix Lynix - Membre habitué https://www.developpez.com
le 04/12/2013 à 10:21
Citation Envoyé par abriotde Voir le message
Le langage GO est a mon avis le meilleur outsider. Il est le seul dont les performances rivalise presque avec le C (Langage le plus rapide) tout en étant beaucoup plus rapide en terme de temps de codage. Le point fort mis en avant par Google est surtout sa rapidité de compilation. Contrairement au C, pour GO, il existe un interpréteur pour l'utiliser comme un langage de scripts. Son défaut? C'est qu'il existe d'autre langages bien implanté et qu'il ne révolutionne pas la manière de codage. En informatique, il est extrêmement difficile de se faire une place au soleil si vous n'êtes pas là au tout début. C/C++, Java et Javascript en sont des exemple les autres ne se sont imposer que par obligation. Mais il en est de même pour les autres logiciels.
Ah bon, il n'existe pas d'interpréteur C ?
http://www.google.com/search?q=c%20interpreter
http://www.ddj.com/cpp/184402054
http://bellard.org/tcc/
https://code.google.com/p/picoc/
Avatar de gangsoleil 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.
Avatar de Niark13 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.
Avatar de r0d r0d - Expert éminent https://www.developpez.com
le 04/12/2013 à 11:11
Contrairement à D, Go ne répond pas à un besoin, donc je n'y crois pas.
Il y a bien un contre-exemple: le framework .NET. Mais si Microsoft a les moyens d'imposer par la force un langage qui n'apporte rien de nouveau, je ne pense pas que google ait la même force de frappe. Enfin, pas à ce niveau-là.
Avatar de la.lune la.lune - Membre chevronné https://www.developpez.com
le 04/12/2013 à 16:04
Je me demande si les gens peuvent laisser C/C++ pour prendre Go juste par ce que c'est une alternative.
C/C++ ne souffrent pas de défauts et non pas vraiment de limitations qu'on peut dire Go a réel affranchit. Deux langage à typage fort et static, bien structurés, maintenables, une très fort communauté et des milliers de lignes de code existants pour des gros systèmes.

S'il y a bien un langage qui se voit réellement comme une alternative à un autre c'est bien Dart devant JavaScript. Là-bas, on a de quoi en parler, et il n y a pas de gros système développé avec Javascript, qui empêcheraient des gens à migrer vers Dart.

D plutôt j'entend qu'il est prometteur, et récemment Facebook ont montré qu'il est plus performant que C++.
Contacter le responsable de la rubrique Accueil