Beaucoup d’aujourd’hui programmeurs, excusez-moi, logiciel ingénieurs— se considèrent comme des « créatifs ». Des artistes en quelque sorte. Ils ont pour habitude de créer des websites Net personnels ostentatoires avec des easter eggs astucieusement cachés et un défilement parallaxe ; ils s’attribuent des titres de poste à traits multiples (« ex-ingénieur-investisseur-auteur d’Amazon ») et encombrent leurs ordinateurs portables d’autocollants en vinyle qui signalent leur identité. Certains se considèrent comme des littéraires sophistiqués. Considérez les références écrasées dans certains noms de produits : Apache Kafka, ScyllaDB, Claude 3.5 Sonnet.
Je reconnais que cela s’applique en grande partie à moi. La différence est que je manque un peu de abilities pour faire des parallèles, et mes projets de jouets – avec des noms comme « Nabokov » (je sais, je sais) – feraient mieux de rester sur mon ordinateur transportable. Je suis entré dans ce monde à peu près au second où ingénierie logicielle Le secteur bancaire est devenu la occupation la plus détestée. Il faut faire face à beaucoup de haine et de haine de soi.
C’est peut-être pour cette raison que je considère l’éthique qui sous-tend le langage de programmation Go à la fois comme un reproche et un correctif potentiel pour ma génération de développeurs ambitieux. Ses créateurs viennent d’une époque où les programmeurs avaient un ego plus modeste et moins d’ambitions commerciales, et il s’agit, à mon avis, du premier langage polyvalent du nouveau millénaire – pas le meilleur dans un domaine en particulier, mais presque le meilleur dans presque tous les domaines. Un modèle pour notre époque fastueuse.
Si j’étais Pour classer les langages de programmation comme des mouvements artistiques, on peut citer l’utilitarisme du milieu du siècle (Fortran, COBOL), le formalisme de haute théorie (Haskell, Agda), le pragmatisme américain (C#, Java), le communautarisme populaire (Python, Ruby) et l’hédonisme ésotérique (Befunge, Brainfuck). Et je dirais que Go, souvent décrit comme le « C du 21e siècle », représente le néoclassicisme : pas tant une révolution qu’un retour en arrière.
En 2007, trois programmeurs de Google se sont réunis autour du constat commun que les langages requirements comme C++ et Java étaient devenus difficiles à utiliser et mal adaptés à l’environnement informatique actuel, davantage orienté cloud. L’un d’eux était Ken Thompson, ancien des Bell Labs et lauréat du prix Turing pour ses travaux sur Unix, l’Ève mitochondriale des systèmes d’exploitation. (De nos jours, les développeurs d’OS ne jouent plus avec les langages de programmation : faire les deux, c’est comme un sauteur en hauteur olympique qui se qualifie également pour le marathon.) Il était accompagné de Rob Pike, un autre ancien des Bell Labs qui, avec Thompson, a créé la norme d’encodage Unicode UTF-8. Vous pouvez les remercier pour votre emoji.
Regarder ces doyens de la programmation créer Go, c’était comme voir Scorsese, De Niro et Pesci se réunir pour L’Irlandais. On pourrait même lui pardonner son nom, qui n’est pas très favorable au référencement. Je veux dire, son audace. Un geste que seul le roi régnant des moteurs de recherche pourrait oser.
Le langage a rapidement gagné en popularité. Le status de Google a dû y contribuer, mais je suppose qu’il y avait un besoin insatisfait de nouveauté. En 2009, année de la sortie de Go, les plus jeunes langages courants dataient pour la plupart de 1995, une véritable annus mirabilis, avec la sortie de Ruby, PHP, Java et JavaScript.
Ce n’est pas que les progrès dans la conception des langages de programmation aient stagné. Les concepteurs de langages sont un groupe de cerveaux magnifiques, dont beaucoup sont animés d’un zèle réformiste pour renverser le statu quo. Mais ce qu’ils finissent par construire peut parfois ressembler à une merveille de conception de starchitecte qui se révèle avoir des problèmes de drainage. La plupart des nouveaux langages ne surmontent jamais les problèmes de performances de base.
Mais dès le départ, Go était (désolé) prêt à fonctionner. J’ai déjà écrit un petit moteur de recherche en Python pour passer au crible mes notes et mes paperwork, mais il était d’une lenteur inutilisable. Réécrit en Go, mon pitoyable serpent s’est vu pousser des ailes et a décollé, courant 30 fois plus vite. Comme certains lecteurs astucieux l’auraient deviné, ce programme était mon « Nabokov ».