Le nouveau langage Go de Google est il un « Killer Language » ?

go-logo-blackGoogle vient de lancer aujourd’hui un nouveau langage de programmation… Dénommé Go.

Fred Cavazza fait une excellente présentation sur son blog de ce langage.  Il dit notamment (je cite):

  • C’est un langage compilé (donc pas comme javascript) très proche du C mais intégrant une notion d’héritage (donc concurrent du C++)
  • Il est censé répondre à une demande croissante de développeurs qui sont coincés entre la rigueur de Java et le manque de sophistication / puissance de PHP
  • Il va permettre de diminuer le temps de programmation et de compilation
  • Il propose une syntaxe proche du C
  • Il est proposé en open source sous licence BSD.
  • Go n’est pas un projet d’entreprise mais un projet issu des 20% de R&D accordé à chaque employé
  • Go a nécessité deux ans de développement mais n’est utilisé dans aucune application de chez Google (les équipes utilisent surtout C++ et Python)

Un point qui semble être intéressant est que Google déclare travailler sur la gestion des dépendances (adieu Maven et autres Jar’s Hell ?). Néanmoins, rien ne m’est apparu révolutionnaire à la lecture de leur code source, si ce n’est qu’ils souhaitent tendre vers un typage statique.

Mais est ce que Google nous prépare un langage qui va annihiler les autres langages, comme il a sur le faire avec la publicité en ligne, la messagerie et la recherche sur Internet ?


Est ce un killer language ?

Au risque de paraitre ridicule dans quelques années, au jour, d’aujourd’hui: non, si on les compare avec des langages récents (re)lancés avec succés. Je pense notamment à:

  • Microsoft qui a créé le C#
  • Apple qui a relancé l’Objective C
  • Zend Technologies qui a lancé le PHP
  1. Ce qui a contribué au succés de C# et de l’Objective C est que ces deux langages étaient accompagnés d’une excellente boite à outils avec un bon environnement de développement intégré (Visual Studio et XCode), chose que « Go » n’a pas.
  2. Apple et Microsoft ont 25 ans de savoir faire en communication avec les développeurs tiers, et ca se ressent dans leur documentation technique et l’évolution de leurs langages. J’entends certains développeurs mobile préférer la plateforme Windows Mobile ou Apple iPhone à Google Android pour la qualité et la stabilité de la documentation de leurs API. PHP a aussi une très bonne documentation (mais ce langage manque de stabilité).
  3. Ces langages fournissaient à leur sortie, un écosystème quasi complet.
  4. PHP, petit poucet était spécialisé dans une tache: l’affichage de pages web dynamiques. C’etait un besoin nouveau qui ne venait pas concurrencer des langages génériques comme le C/C++ ou Java.
  5. Tappez « java », « C++ », « php » dans Google, vous allez trouver des ressources de programmation. Tapez « Go » et vous allez avoir tout et n’importe quoi…

Une boule de cristal montre pourtant que Go est un killer language ?

Néanmoins, ne tuons pas ce langage dans l’oeuf…

  • Par ce qu’il ne faut pas prendre les gens de Google pour des idiots… Leurs ingénieurs n’ont plus à démontrer leur savoir faire technique.
  • C’est un langage qui pourrait s’interfacer très aisément avec d’autres technologies de Google, qui sont très intéressantes, mais qui semblent boudées par la communauté de développeurs. Je pense notamment à Google Protocol Buffer, comme alternatives aux communications XML des Web Services, ou encore de Google XML Pages (alternative à FreeMarker). Ces deux technologies ont montrées d’excellentes performances. L’ensemble des technologies fiables et rapides éprouvées par Google, tournant autour du langage Go serait une belle alternative.
  • Google tisse de plus en plus de relations avec la communauté de développeurs (Android, Google App Engine, API de différents services web) et améliorere sa communication avec le temps.
  • Google a développé un super EDI… Allez soyons fou, parions que si Google fait un EDI: ce sera une application Web!
  • La gestion de projet large pourrait être un plus avec Go. Mais qui dit gros projet, dis gros budget! Peu d’architectes prendront le risque d’approuver ceci dans les années qui suivent avec une technologie récente…

Rome ne s’est pas créé en un jour! Si Google pallie certains de ces points faibles, innove comme elle a toujours su le faire, avec sa puissance financière et sa puissance intellectuelle, Google frappera fort… Mais pas tout de suite!

Site officiel de Go: http://golang.org/

  • Lu dans Le Monde:
    Mais avant de développer davantage son langage, Google devra résoudre un problème qui n’est pas informatique : il existe déjà un langage de programmation portant ce nom. Développé de manière indépendante par Frank McCabe, le langage existe depuis le début des années 2000. « Je n’ai pas les ressources nécessaires pour faire un procès à Google, et je n’en ai pas l’intention », explique l’ingénieur à Information week. « Mais je n’ai pas non plus l’intention de laisser Google prendre ce nom sans qu’ils reconnaissent qu’ils écrasent le travail que j’ai fait. »

    http://www.lemonde.fr/technologies/article/2009/11/12/google-lance-son-propre-langage-de-programmation_1266019_651865.html#xtor=RSS-3208