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

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 souffle sur sa cinquième bougie
Le langage de Google peine à convaincre les développeurs

Le , par Hinault Romaric

48PARTAGES

2  1 
Novembre est décidément le mois des anniversaires. Après Firefox qui a soufflé sur sa dixième bougie le 9 novembre dernier, c’est au tour du langage de programmation Go de fêter ses 5 ans.

Le 10 novembre 2009, un nouveau langage de programmation venait s’immiscer dans la pléthore de langages déjà disponibles. Développé par Google, le langage a rapidement attiré l’attention de l’industrie et de bon nombre de développeurs.

Go est une alternative au langage de programmation C/C++. Il reprend ce qui a fait le succès de ces langages, tout en intégrant des nouveautés pour rendre le code plus concis, lisible et offrir plus de sécurité. 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.

Après son lancement, Go a eu droit à un court moment de gloire. En quelques mois, le langage a enregistré la plus forte croissance sur l’indice Tiobe, faisant de celui-ci le langage de l’année 2009, d’après Tiobe.

Un succès du probablement à un effet de curiosité de la part des développeurs, parce que le langage est soutenu par un acteur majeur du Web. Cinq ans après la naissance de Go, il ne semble pas séduire beaucoup de développeurs, tandis que les langages C et C++ restent encore très populaires. Selon l’index de popularité Tiobe, Go n’apparaît qu’en 41e position, alors que C demeure le langage le plus populaire.

Actuellement Go est à sa version 1.4, avec son environnement d’exécution et ses outils de développement. La prochaine version du langage sera publiée le 1er décembre 2014, et un support des terminaux mobiles est prévu pour 2015.

Source : Blog Go

Et vous ?

Que pensez-vous de Go ? Avez-vous adopté le langage ?

Go a-t-il du potentiel pour concurrencer C/C++ ?

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

Avatar de Firwen
Membre expérimenté https://www.developpez.com
Le 12/11/2014 à 12:22
Cinq ans après la naissance de Go, il ne semble pas séduire beaucoup de développeurs, tandis que les langages C et C++ restent encore très populaires. Selon l’index de popularité Tiobe, Go n’apparaît qu’en 41e position, alors que C demeure le langage le plus populaire.
Rome ne s'est pas construite en un jour.
Il faut généralement prés de 10 ans pour construire un écosystème solide pour un nouveau langage. Et puis sincèrement, depuis quand l'index Tiobe a une quelconque valeur ?

J'aurai plutôt tendance à dire l'inverse: Golang est en progression, trés net progression, même si on reste loin de mastodontes comme C/C++ ou Java.

Les googles trends parlent d'eux même je pense : http://www.google.com/trends/explore...ang&cmpt=q

Go en moins de 5 ans a réussi à se faire une place dans les langages à considéré pour le développement d'apps Web (Revel), ou d'application système légère comme Docker... qui est en Go.
Un petit passage sur github donne plus de 44 000 repos qui utilisent golang, soit bien plus que pour des languages comme Scala, Clojure or F# qui sont de la même génération.

Même si je reste assez allergique à sa syntaxe, j'ai assez de respect pour ce nouveau venu pour être honnête.

Un langage à surveiller.
5  1 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 12/11/2014 à 14:52
Citation Envoyé par frasene Voir le message
Re-bonjour,

Globalement, je ne trouve plus de langages de programmation avec UI (user interface en client lourd) qui permettent de faire des applications aussi facilement qu'on pouvait le faire avec Visual Basic 6.0...

Si vous en connaissez des gratuits...

A+

  • delphi
  • lazarus
  • java avec netbeans
1  0 
Avatar de Firwen
Membre expérimenté https://www.developpez.com
Le 13/11/2014 à 9:04
OmicroN : ben si, Go me semble clairement un remplaçant du C...
Absolument pas. C'est de nos jours grandement utilisé pour la programmation système ( librairies ) ou kernel. Golang n'est pas adapté à la création de libs systèmes ( pas d'ABI stable ) et encore moins à la programmation kernel.

Go avec son asynchronisme quasi "naturel" en fait un très bon candidat face à PHP mais pas forcément Ruby et/ou Python qui sont à mon sens déjà bien équipé.
Il fait aussi un trés bon candidat face à Ruby ou Python qui ne sont pas loin de PHP en terme de performances de toute manière.... (http://benchmarksgame.alioth.debian....&data=u64q)
Et qui souffrent de quelques problèmes avec le threading ( Global interpreter lock).

Golang offre un compromis entre la flexibilité des langages de haut niveau comme python/Ruby ( reflexbilité, typage dynamique, faible verbosité ) et la performance des langages systèmes (C++) ou managés (Java).

Les go-routines sont une implémentation native des "green threads" qui permettent d'abstraire complètement la gestion asynchrones des I/O derrière de simple call "blocking". Python et Ruby ne peuvent faire ce genre de choses qu'en utilisant des runtimes spéciaux ( greenlets ) qui s'interface généralement trés mal avec leur modules natifs.

A ma connaissance et à l'heure actuel, seul Go et Erlang peuvent faire ce genre de chose.
1  0 
Avatar de ZeldaRageux
Candidat au Club https://www.developpez.com
Le 16/11/2014 à 13:09
Je ne sais pas comment on peut écrire ça.

Go est au coeur de la révolution qui est en train de faire basculer tout l'hébergement et l'exploitation des applications et des services web dans la prochaine décennie.

Tous les grands acteurs du cloud (Google, Microsoft, Paypal, Apple, Sengrid, etc...) ont adopté ce langage à part sans doute Facebook qui a choisi de recruter le concepteur de D.

Docker qu'on ne présente plus (s'il y a des personnes qui lisent Developpez et qui ne connaissent pas Docker aujourd'hui alors je les encourage à changer de job) a pu voir le jour grâce à Go dixit ses concepteurs.

Cet un langage qui est capable de "tout" (système et apps), il permet une exploitation simple de tous les coeurs fournis par nos CPUs (pour ceux qui suivent toujours, ça fait un moment que les fréquences de ces derniers n'évoluent plus), il compile beaucoup plus vite que tous les autres langages tout en produisant un code en moyenne inférieur en taille de 20%, il est simple à déployer car le binaire embarque les dépendances, etc...

Go a été initié par Google pour réponse aux problématiques hors normes du géant conçu par Robert Griesemer, Rob Pike et Ken Thompson (je laisse à tout le monde le soin d'apprécier leur cv, c'est quand même plus impressionnant que pour certains autres langages plus populaires).

Aujourd'hui c'est un langage qui peut être utilisé dans tous les projets, du simple site web jusqu'à Kubernetes capable de gérer des clusters de centaines de milliers de conteneurs Docker.

Alors écrire "Le langage de Google peine à convaincre les développeurs" je ne comprends pas ? Mais quels développeurs ? Les développeurs qui s'enferment dans un langage comme PHP qui a 20 ans et qui reste un des langages les moins performant du web ? Et bien ces développeurs là on n'en a plus besoin, y en a plein les placards.
1  0 
Avatar de Jarodd
Membre expérimenté https://www.developpez.com
Le 12/11/2014 à 10:23
Après Firefox qui a soufflé sur sa vingtième bougie le 9 novembre dernier
C'est la dixième
0  0 
Avatar de polaroid62
Membre habitué https://www.developpez.com
Le 12/11/2014 à 11:15
je pense qu'il a du potentiel dans le web , je n'ai pas approfondi plus que ça , j'ai regardé vite fait quelques framerworks web comme Beego , Martini , Revel mais je trouve la ressource trop pauvre sur ces sujets pour le moment . La doc des frameworks n'est pas forcément mauvaise , je regrette l'absence d'ouvrage comme on peut en trouver pour d'autres techno , il y a des ouvrages sur le Go lui même mais rien sur les framework comme c'est le cas en Ruby par exemple avec rails , sinatra..
0  0 
Avatar de frasene
Membre régulier https://www.developpez.com
Le 12/11/2014 à 11:39
Bonjour,

Je serais intéressé par ce language mais pas pour le WEB, pour développer des applications portables entre Windows, Linux et Macintosh. Le problème étant encore une fois de savoir quelle interface graphique (fenêtre, menu déroulant) utiliser pour la stabilité, la portabilité et les fonctionnalités...

A+
0  0 
Avatar de frasene
Membre régulier https://www.developpez.com
Le 12/11/2014 à 13:24
Re-bonjour,

Globalement, je ne trouve plus de langages de programmation avec UI (user interface en client lourd) qui permettent de faire des applications aussi facilement qu'on pouvait le faire avec Visual Basic 6.0...

Si vous en connaissez des gratuits...

A+
0  0 
Avatar de OmicroN
Membre à l'essai https://www.developpez.com
Le 12/11/2014 à 15:23
Je pense que positionner Go en concurrent de C/C++ n'est pas très heureux; ce serait plutôt Rust le concurrent de ces langages. Pour moi Go est mieux placé comme étant une alternative au Python/PHP/Ruby/... pour développer des applications web très performantes avec un langage compilé très productif, et tirant parti du hardware actuel. Et pour ce genre d'applications il n'est pas utile de rechercher des frameworks; la librairie standard comprend tout ce qu'il faut. A la limite, une "boite à outils" comme Gorilla peut s'avérer utile et simplifier la vie.
0  0 
Avatar de mothsART
Membre régulier https://www.developpez.com
Le 12/11/2014 à 21:29
OmicroN : ben si, Go me semble clairement un remplaçant du C... mais pas du C++ (pas de notion d'objet ni d'exceptions) : C#, Rust remplissent bien mieux cet objectif.

Je ne sais pas si tu es dev web mais la vitesse d’exécution est rarement un problème : c'est les IO le nerf du problème.
Go avec son asynchronisme quasi "naturel" en fait un très bon candidat face à PHP mais pas forcément Ruby et/ou Python qui sont à mon sens déjà bien équipé.

Ces 2 derniers langages me semble bien plus appropriés pour du web sans compter la panoplie de frameworks/librairies qui les accompagne.

Perso, je dev en python et après des benchs, j'identifie les parties critiques si besoins et les remplace en C... je louche progressivement sur Go pour raccourcir mon temps passé sur du bas-niveau.

En plus, si celui-ci venait à être dispo sur de l'Android, je le privilégierais à du Java par exemple...
0  0