Google lance son langage de programmation pour brouiller les pistes

Grosse surprise ce matin en découvrant cette annonce singulière, Google lance son propre langage de programmation open source : Go. Une annonce qui tombe comme un cheveux dans la soupe dans la mesure où la semaine a été chargée (rachats de Admob et Gizmo5, lancement des Dashboards personnels, Wi-Fi gratuit dans les aéroports US pendant les vacances de fin d’année, baisse des prix du stockage en ligne, historique des déplacement avec Lattitude…). Bref, c’est un véritable déluge d’annonces et là… “à au fait, nous lançons notre langage de programmation“.

Je ne suis pas un expert mais voici dans les grandes lignes la description de ce Go :

  • 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 correspond mieux à la réalité de l’informatique en 2009 (parralel computing, processeurs multi-coeurs…) ;
  • Il va permettre de diminuer le temps de programmation et de compilation (le contraire m’aurait étonné) ;
  • Il propose une syntaxe très particulière mais révolutionnaire (merci de me donner votre feedback là-dessus) ;
  • Il est proposé en open source sous licence BSD.

Pour en savoir plus ça se passe ici : Google Launches Its Own Programming Language et Go: new open source programming language from Google. Et voici la vidéo de présentation :

Dans la mesure où ce n’est pas mon métier je ne peux pas me prononcer sur les qualités ou le potentiel de ce nouveau langage. Mais en tout cas il y a plusieurs choses que je sais :

  1. Go n’est pas un projet d’entreprise mais un projet issu des 20% de R&D accordé à chaque employé ;
  2. 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) ;
  3. Go n’est pas supporté par le Google App Engine ;
  4. Nous sommes toujours en attente de nouveautés concernant d’autres initiatives maison comme Native Client ou O3D.

Bref, oserais-je dire que Google se disperse ? Non je n’oserais pas, ma paranoïa me pousserait plus à dire que Google fait du bruit pour brouiller les pistes et garder un maximum d’opacité sur ses projets d’envergure. En d’autres termes, Go est un des arbres qui cache la forêt.

Quelle forêt ? Hum… il y a en fait plusieurs grands axes stratégiques sur lesquels Google travaille :

Les équipes de Google risquent-elles de s’essouffler avec un tel rythme de diversification ? Non pas réellement dans la mesure où totu ceci est contrôlé (pas plus de 20% du temps des employés) et qu’ils peuvent se permettre de faire des erreurs (cf. Les acquisitions ratées de Google).

Je peux me tromper mais je suis persuadé que tout ceci (les annonces) cache un plan beaucoup plus ambitieux.

47 commentaires sur “Google lance son langage de programmation pour brouiller les pistes

  1. Moui, d’accord avec ta conclusion. Mais je n’arrive pas à imaginer ce qu’ils vont bien pouvoir sortir avec ce nouveau langage. Je penche pour un produit dont les améliorations seront à faire avec Go, mais je ne crois pas qu’ils utiliseront massivement Go pour leurs propres produits (beaucoup trop de boulot).

  2. Oui d’autant plus qu’ils ne peuvent pas se permettre de “jouer” avec des applications qui sont utilisées par des centaines de millions d’utilisateurs et qui génèrent des milliards de $.

    /Fred

  3. Effectivement, tant qu’on continuera à se dire que Google est une entreprise comme les autres, qui au fond ne recherche QUE le profit (et avant tout le profit), ce sera difficile de comprendre la logique de tout ça. Mais à partir du moment où on s’autorise à penser que les profits pharaoniques de Google ne sont qu’une conséquence de son incroyable désir d’innovation, alors cette approche expérimentale prend tout son sens. En l’occurrence, je rejoins complètement les motivations de ce langage. Le dilemne entre productivité et performance est une réalité, et je travaille aujourd’hui sur un projet Java où il me faut attendre presque 3 minutes après chaque changement pour voir le résultat. Donc le besoin est réel, les gars de chez Google s’autorisent à créer en dehors de la boîte. Et ça donne des trucs comme GMail, Maps, Wave, etc.

  4. Hello Fred

    Je pense que le marché à effectivement besoin d’un nouveau langage, et, je peux me tromper, mais je pense pas que PHP sera le langage du Web de demain.

    Maintenant, après avoir lu quelques infos sur Go, je pense pas que Go soit ce langage.

  5. @ Ineol > “Go peut être compilé pour NaCl” ? Donc ça veut dire que Go peut fonctionner directement sur la machine (Windows, Mac, Linux) mais également sur une pseudo-machine virtuelle (en l’occurrence NaCl) ? C’est ça ?

    Intéressant, ils proposeraient donc une double approche : meilleures performances et déploiement accéléré.

    /Fred

  6. Ce qui fait peur (et que tu évoques dans ton post), c’est qu’autant Google cultive son côté altruiste et fort sympathique (cf. le post de Seb Abrogast — euh, Google n’a pas d’actionnaires ? Ça n’intéresse personne, le gain ? Ça se saurait !), autant les plans à long-terme peuvent faire froid dans le dos.

    Et là, Google a beau bénéficier d’un énorme capital sympathie, l’opacité est totale. Or, combien d’entrepreneurs aujourd’hui dépendent de Google pour faire marcher leur business ?

    Ils pourraient très bien décider, demain, de rendre gmail incompatible avec Safari, juste pour rire… Ou “oublier” de porter Gears à Snow Leopard…

    On fait quoi si demain une société privée et relativement opaque détient les outils pour communiquer (OS, navigateur), les outils pour accéder à l’information (moteur de recherche, gmail) et surtout les données elles-mêmes (mails, books, news, etc) ?

  7. @Pierre-Julien
    C’est dommage parce que c’est justement le genre de “Fear, Uncertainty and Doubt” qui gache tous les débats.

    D’abord je n’ai jamais dit qu’ils n’avaient pas d’actionnaires ou que le profit ne les intéressait pas. J’ai dit que le profit n’était pas leur objectif principal. Tout est affaire de priorités dans une vision d’entreprise. Et comme malgré le fait que ce ne soit pas leur objectif premier, ils font des bénéfices de fou, les actionnaires ne leur mettent probablement pas autant la pression pour trouver une raison financière à tout ce qu’ils font.

    Pour ce qui est de l’opacité, je ne vois vraiment pas comment ils pourraient être plus transparents qu’avec ça (http://www.dataliberation.org/) ou ça (https://www.google.com/dashboard). Quelle autre boîte qui offre des services cloud-based propose de récupérer gratuitement toutes ses données, et monte même une équipe payée pour ça?

  8. moi ce qui me fait peur, ce n’est pas tellement le côté “altruisme ou pas” de google, ni même les éventuelles dispersions en interne pour l’entreprise, c’est plutôt la dispersion entre X langages qui se fait au détriment des travaux sur les bibliothèques, les frameworks, etc…

    je m’explique : ce qui a fait en son temps le gros succès de Java, ce n’était pas que les qualités (polémiques…) du langage, c’était surtout le fait qu’il n’y avait quasiment pas d’alternative, ce qui faisait que la plupart des équipes dynamiques, dans le monde du libre ou ailleurs, utilisaient ce langage. Associé au côté multiplateforme du langage, cela donnait (et cela donne encore…) un panel d’outils de haute qualité pour le développeur.

    Là, j’ai un peu peur de retrouver la situation qu’on avait dans les années 90 : des compétences et des équipes de travail très dispersées, et autant d’énergie dispersée dans X projets pour X langages différents

  9. Pour le langage web de demain il y a le Ruby on Rails qui commence à bien prendre.

    D’autant plus qu’a priori (je ne le connais pas) il est simple d’accès, très bien conçu (modèle MVC), performant et la maintenance grâce à son approche MVC (Modèle Vue Contrôleur) est facilité.

    Productivité maximale avec ce langage apparemment.

    Et si les développeurs continuent en ce sens plutôt que d’aller dans la galaxie Google ça sent le plantage sur ce produit.

  10. Mouais, mouais, mouais…

    Je n’ai rien vu de transcendant dans ce nouveau langage.

    Il y a peut-être le principe des channels et du multi-processus intégré en standard. Mais ça ne suffira pas à en faire le langage de demain.

    À force d’en voir passer, je me suis fait quelques réflexions sur le sujet.

    Ce n’est pas le langage lui-même qui est intéressant mais l’ensemble des fonctionnalités et bibliothèques mises à disposition du développeur. Et c’est ce qui fait que tel ou tel langage s’en sorte mieux qu’un autre dans un domaine particulier (ex. : PHP) alors que ses structures n’ont rien de fondamentalement révolutionnaires.

    Ensuite, un langage doit être SIMPLE ! On n’en a rien à faire qu’un langage permette d’écrire la même chose que son voisin avec 3 fois moins de lignes s’il faut 3 fois plus de temps pour les mettre au point (conception+débogage) et 5 fois plus à notre successeur pour reprendre le code et essayer de comprendre ce qu’on a voulu faire. Sans parler des fonctionnements au limite encore moins maîtrisés.

    Pour reprendre la problématique du multi-processeurs, c’est quelque chose qui pourrait être implémenté dans un langage déjà existant comme PHP ou Java, ce n’est pas la peine de recréer un langage pour ça.

  11. Je ne suis pas développeur, je ne me prononcerais donc pas sur les qualités du langage.
    En revanche, je souscris complètement à l’analyse de Sébastien Arbogast sur les raisons de cette sortie : la recherche de la killer innovation par des essais.

    Une opération de diversion ? Un peu couteux comme écran de fumée… surtout pour cacher des choses qu’on sait déjà.

  12. Désolé de “polluer” ce post mais j’ai remarqué la présence d’une image – Un C blanc sur fond rond gris – à côté des traditionnelles images rss et étoile pour les favoris dans la barre d’adresse de mon firefox. Savez-vous à quoi ca correspond ?

Les commentaires sont fermés.