Brian W. Kernighan, figure emblématique du monde de l'informatique, est né à Toronto, Canada, en 1942. Après avoir obtenu un doctorat en génie électrique de l'Université de Princeton, il est devenu professeur d'informatique dans cette même institution à partir de 2000.
Ses contributions sont multiples et fondamentales. En 1973, il a collaboré avec Shen Lin pour développer des solutions à deux problèmes d'optimisation NP-complets majeurs : la partition de graphes et le problème du voyageur de commerce. Ces travaux ont eu un impact significatif dans les domaines de l'algorithmique et de la recherche opérationnelle.
Kernighan est également l'un des co-auteurs du langage AWK (avec Alfred Aho et Peter Weinberger) et l'un des créateurs d'AMLP (A Mathematical Programming Language). Son influence s'étend à des outils cruciaux comme le compilateur Ratfor, les préprocesseurs de documentation Pic et Grap, ainsi que le langage de composition mathématique Eqn.
En 1974, il a co-écrit "The Elements of Programming Style" avec Bill Plauger, ouvrage qui a introduit la célèbre "Loi de Kernighan" :
« Tout le monde sait que déboguer est deux fois plus difficile que d'écrire un programme. Alors, si vous êtes aussi astucieux que possible au moment de l'écriture, comment ferez-vous pour le déboguer ? »
– Brian Kernighan, 1974
En 1976, son livre "Software Tools", co-écrit avec Bill Plauger, visait à populariser les concepts des outils UNIX auprès des programmeurs Fortran travaillant sur d'autres systèmes.
C'est en 1978, avec Dennis Ritchie, le créateur du langage C, que Kernighan a co-écrit "The C Programming Language". Ce livre est rapidement devenu la référence absolue pour les développeurs C, souvent surnommé le "Manuel K&R" ou la "Bible du C". Il est également reconnu comme l'ouvrage qui a véritablement popularisé le programme emblématique "Hello, World!" – un rite de passage pour quiconque débute en programmation.
Parmi ses autres œuvres notables figurent "The Unix Programming Enviroment", une exploration détaillée de l'environnement de programmation UNIX, et "D is for Digital", un guide pour les non-spécialistes expliquant les fondements de l'informatique moderne et les implications sociétales des nouvelles technologeis.
Les Prémices du "Bonjour, monde !"
L'expression "Hello World" a fait sa première apparition documentée en 1972, dans un document technique interne des Bell Labs rédigé par Brian W. Kernighan : "A Tutorial Introduction to the Language B". Pour illustrer l'utilisation de variables externes en langage B, il proposa le programme suivant :
main() {
extern p1, p2, p3;
putchar(p1); putchar(p2); putchar(p3);
putchar('!'); putchar('\n'); // Ajout d'un point d'exclamation et d'une nouvelle ligne
}
p1 'hell';
p2 'o, w';
p3 'orld';
Ce programme imprimait "hello, world!" sur le terminal. La fragmentation de la phrase en plusieurs variables était nécessaire en raison de la contriante du langage B, où chaque constante de caractère ne pouvait stocker que quatre caractères ASCII.
En 1974, avec la montée en puissance du langage C, Kernighan réécrit un exemple similaire pour un mémo interne des Bell Labs, "Programming in C: A Tutorial". Cette version a été reprise et immortalisée dans le livre "The C Programming Language" de 1978 :
#include <stdio.h> // Inclusion pour la fonction puts
int main(void) {
puts("Bonjour, monde !"); // Utilisation de puts pour une sortie simple
return 0;
}
Dans cet exemple minimaliste, la fonction main marque le point d'entrée du programme. La fonction puts est ensuite appelée pour afficher la chaîne de caractères "Bonjour, monde !" suivie d'un saut de ligne, avant que le programme ne se termine en signalant un succès.
L'Héritage d'une Simple Phrase
Le choix de "Hello, World!" par Kernighan s'est avéré être un coup de génie. Cette phrase simple est devenue un symbole universel de l'initiation à la programmation, transcendant les frontières du langage C pour être adoptée comme le tout premier programme à écrire lors de l'apprentissage de toute nouvelle langue de programmation. C'est une expérience partagée qui relie les programmeurs à travers les générations et les technologies.
L'évolution technologique a également vu le programme "Hello, World!" s'adapter. Alors que la version originale affichait son message sur une console, les développeurs web d'aujourd'hui peuvent le faire apparaître dans un navigateur web. Voici un exemple HTML simple :
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Message de Bienvenue</title>
<style>
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; text-align: center; margin-top: 50px; background-color: #f4f4f4; color: #333; }
h1 { color: #007bff; }
</style>
</head>
<body>
<h1>Bonjour le monde !</h1>
</body>
</html>
Ce fragment de code illustre les principes fondamentaux du développement web, montrant comment structurer une page web basique et y intégrer du texte stylisé.
Au-delà de sa signification technique, "Hello, World!" symbolise le potentiel créatif inhérent à la programmation. Il représente le moment où l'intention humaine se matérialise en exécution machine, transformant une pensée en un résultat tangible. C'est un témoignage de la puissance durable des langages de programmation et une passerelle constante pour les nouvelles générations de codeurs.