À 83 ans, Brian Kernighan – Légende vivante de l'informatique pour son rôle fondamental dans la création d'Unix dans les laboratoires de Bell and Co-auteur, avec Dennis Ritchie, du célèbre manuel manuel Le langage de programmation C (1978) – Il continue d'enseigner à Princeton et de participer à des conférences où il partage des souvenirs, des opinions et des avertissements sur le monde du logiciel.
L'une de ses interventions les plus récentes a tourné autour de deux sujets étroitement liés à ses créations: la relation contradictoire entre C et les langues de rouille, en plus des changements subis dans l'écosystème Unix au cours des dernières décennies.
Rouille devant C: un soulagement générationnel ou un battage médiatique de passagers?
L'un des thèmes les plus récurrents des interviews et des discussions avec Kernighan est la popularité croissante de la rouille, un langage conçu avec la sécurité de la mémoire comme drapeau et que certains se présentent en tant que substitut naturel de C. Cependant, leur expérience personnelle avec la rouille est positive d'être positive.
Dans une session de questions et réponses lors du Vintage Computer East Festival, Kernighan a avoué avoir écrit un seul programme de rouille … et l'avoir vécu comme une vraie torture.
« Oohhh, rouille. (…) Je ne pouvais pas comprendre les mécanismes qui étaient nécessaires pour garantir la sécurité de la mémoire, dans un programme où la mémoire n'était même pas un problème. »
Comme il le dit, ce qui, en C ou dans d'autres langues, lui aurait pris cinq minutes, à Rust, il est devenu des jours de travail. Ses critiques étaient claires:
- Complexité inutile: les mécanismes de propriété, de prêt et de vie étaient confus et injustifiés dans les contextes où la mémoire n'était pas un problème.
- Rendement décevant: le compilateur était lent, le code également généré et l'infrastructure de package semblait « incompréhensiblement grande et lourde ».
- Évolution instable: il a été constaté que la syntaxe avait changé en ce qui concerne la dernière documentation publiée.
Bien qu'il reconnaisse sa faible pratique avec la rouille et admet un «cynisme» en revanche, il est convaincu que cette langue ne remplacera pas C à court terme. La raison, explique-t-il, est le double: C reste un outil mature avec des décennies d'évolution, et la rouille doit encore se consolider.
Unix, Linux et le monde des distributions
Au cas où vous ne l'aviez pas déduit de son exploration de la rouille, Kernighan n'a pas été ancré en nostalgie. Pendant ses pourparlers, il se souvient avec amour l'atmosphère coopérative et créative de Bell Labs, mais reconnaît également que Microsoft a remporté Unix la bataille dans les années 80 et 90.
Aujourd'hui, cependant, observe avec une certaine ironie comment Unix vit caché dans presque tous les appareils modernes: de MacOS et iOS à Android. Ce qui est frustrant, c'est que, contrairement à l'ancien temps, ces systèmes ne sont plus aussi ouverts à l'utilisateur technique:
> « Cela m'irrite que sous mon téléphone, il y a un système avec lequel je pourrais faire les choses … mais je n'y ai pas accès! »
Ce n'était pas le seul sujet sur lequel il a dit: en ce qui concerne les distributions de Linux, il reconnaît les utilisations indirectement dans son travail à Princeton, bien qu'il avoue ne pas avoir de favori.
Interrogé sur Nixos (une « distribution immuable '' populaire de Linux) ou sur Holyc (une variante exotique de C créée par le surprenant Terry Davis), sa réponse était honnête: il n'a tout simplement aucune idée de ce qu'ils sont.
Une vision critique du logiciel actuel
Mais bien qu'il ne soit pas fan de la nostalgie, il ne tombe pas non plus dans le vice opposé et, loin de la révérence au progrès, Kernighan n'hésite pas à offrir une vision sceptique de l'état des logiciels contemporains. Avant la demande de résumé en dix mots ou moins votre opinion sur l'industrie, vous n'hésitez pas à libérer un
> « Une grande partie de ces putures. »
Il indique l'excès de complexité, le manque de stabilité et l'orientation excessive vers les produits de consommation, loin de l'esprit ouvert et expérimental qui a marqué les origines d'Unix. Et bien qu'il apprécie des avancées telles que Linux ou les nouveaux outils qui ont émergé, il soutient que le marketing a dilué une partie de l'essence collaborative de l'informatique.
Entre l'IA et les conseils aux nouvelles générations
Un autre des thèmes qui a surgi dans son discours était le rôle des modèles de langage et de l'intelligence artificielle dans la programmation. Kernighan a reconnu, avec ironie, que son témoignage avec l'IA n'était pas entièrement satisfaisant et qu'ils ont invalidé un principe qu'il a lui-même défendu, que « les programmes qui rédigent des programmes font généralement mieux que les humains ».
Malgré cela, loin de tomber dans le pessimisme, il a offert un conseil encourageant aux jeunes programmeurs:
- L'informatique restera fondamentale pendant longtemps.
- L'important est de consacrer à ce qui est intrigant et amusant, car cette motivation garantit à la fois l'apprentissage et l'employabilité.
- L'enthousiasme, plus que la mode d'une langue, est ce qui garantit une carrière complète.