Google GO est-il le langage de l’ère de la performance ?

Google a l’habitude d’innover et de bousculer les tendances technologiques. Le navigateur Chrome est une réussite et Google Fiber a boosté le développement du Très Haut Débit sur le territoire américain. GO a le même effet dans le monde du code et des langages de programmation,

     

Bien que les langages de programmation traditionnels tels que le C++, Java, C# et Python soient encore très utilisés, ils n’ont pas été créés pour faire face aux volumes de demandes des géants du Net actuels. Concrètement, cela se traduit par une multitude de systèmes, d'API et de frameworks à appréhender et maîtriser. GO, créé en 2007 mais annoncé publiquement seulement deux ans plus tard, a été conçu pour répondre aux critiques des autres langages. Précisément, il possède une plus grande faculté de calcul et sa simplicité d’utilisation est aussi plus adaptée aux demandes/besoins des clients.

Comment ce nouveau langage peut-il faciliter la performance applicative ?

Un développement vertical

L’un des avantages de GO réside dans sa capacité à réduire le nombre de ressources nécessaires pour supporter les applications. Il a été créé pour qu’elles puissent bénéficier du modèle de parallélisme et de concurrence d'accès intégré et plus simplifié que ceux qu'offrent ses prédécesseurs. L'objectif est d’effectuer plusieurs tâches en même temps et de manière optimisée, en favorisant une meilleure utilisation des ressources serveurs. En capitalisant ainsi au maximum sur leurs infrastructures IT, les entreprises peuvent limiter leurs investissements et les problèmes de surallocation inutiles de ressources hardware lorsqu’elles se développent.

 

Pour les applications critiques et à haut débit transactionnel qui nécessitent souvent plusieurs serveurs et beaucoup de capacité de calcul, les économies peuvent être importantes. Néanmoins, il existe une barrière économique et culturelle pour beaucoup qui est liée à la nécessité d'une refonte du système lorsque l’on adopte un nouveau langage. A long terme, l’avantage économique de GO se ressent notamment au travers d'une rationalisation des usages et une adoption plus large au sein des organisations. Plus important encore, les fonctionnalités de GO produisent des applications plus performantes. En effet, en utilisant toutes ses capacités intrinsèques, les équipes sont à même de développer des produits évolutifs plus simple à coder, tester et déployer. Dans un marché dépendant des API et gérant des millions de demandes, GO apporte de la vélocité et une grande flexibilité aux équipes. 

Un déploiement rapide

Les ingénieurs derrière GO ont un profond dédain pour la complexité du langage C++. Bien que les langages possèdent des similarités (Ken Thompson étant un des fondateurs du langage a aussi été le fondateur de B qui donnera ensuite naissance au langage C), ce nouvel arrivant est plus simple que son prédécesseur. GO force également les développeurs à initier du code plus simple à lire et à comprendre pour davantage correspondre aux méthodes de développement d’aujourd’hui.

Ses créateurs ont mis en place des paramètres spécifiques sur la manière de coder. L’un de leur objectif est la facilité d’adoption, contrairement aux anciens langages. Avec un code rédigé de manière statique, les paramètres sont renforcés tout au long du processus de développement et les erreurs détectées lors de la compilation sont réduites au minimum. De plus, la détection d’anomalie plus rapide accélère de fait le déploiement applicatif.

Alors que le DevOps et la vitesse d’exécution sont de réels impératifs dans l’IT aujourd’hui, une base de code qui renforce le collaboratif et l’esprit d’équipe est un atout. En matière de code, la complexité est également un problème majeur. Aussi, posséder un code qui se lit et peut être revu rapidement et facilement en assure une réelle fiabilité.

 

Les nombreuses fonctionnalités de GO en font d’ores et déjà un outil efficace pour gérer d’importants flux de trafic. C’est pour cette raison, associée à son coût attractif, que GO est désormais prêt à prendre son envol. Cependant, le langage ne peut agir entièrement seul sur la performance des applications. Ses fonctionnalités avancées sauront faciliter la gestion de projets haute performance, mais ne sauront supprimer tous les problèmes complexes liés aux applications tels que les problèmes fonctionnels, architecturaux ou algorithmiques. Pour opérer une gestion applicative plus performante, GO devra être corrélé à des solutions dédiées. Les modes de travail et les outils indispensables aux entreprises changent en même temps que la complexité des applications. Cela sous-entend que face à cette mouvance, le code doit également en faire de même.