« Hello world » (traduit littéralement en français par« Bonjour le monde ») sont les mots traditionnellement écrits par unprogramme informatique simple dont le but est de faire la démonstration rapide de son exécution sans erreur.
Selon leurlangage de programmation, certains des programmes imprimant ces mots sont étonnamment complexes, particulièrement dans un contexte d’interface graphique. D’autres sont très simples, particulièrement ceux qui utilisent uninterpréteur de ligne de commande pour afficher le résultat. Dans plusieurssystèmes embarqués, le texte peut être envoyé sur une ou deux lignes d’un afficheurLCD (ou dans d’autres systèmes, une simpleDEL peut se substituer à unhello world).
Alors que les petits programmes de test existaient depuis le début de la programmation, la tradition d’utiliserhello world comme message de test a été initiée par le livreThe C Programming Language deBrian Kernighan etDennis Ritchie, publié en1978.
Le premier exemple de ce livre affichehello, world (sans majuscule ni point final, mais avec une virgule et un retour à la ligne terminal). Le premierhello world dont Kernighan et Ritchie se souviennent provient d’un manuel d’apprentissage dulangage B écrit par Kernighan[1]. LePDP-11 16 bits — l’un des ordinateurs les plus populaires de l’époque — contribua à la diffusion de l’expression, les usagers se procurant l'ouvrageThe C Programming Language pour apprendre à utiliser la machine[2]. Dans une interview à l'édition indienne du magazineForbes, Brian Kernighan explique que cette phrase provient d'un dessin animé qu'il avait vu, où un poussin sortait de son œuf en disant« Hello, World![3] ».
De manière plus large, c'est le programme le plus simple qu'on essaie de faire fonctionner lorsqu'on apprend un nouveaulangage de programmation (par exemple à butpédagogique), mais aussi lorsqu'on met au point ou qu'on met en œuvre des composants logiciels dans une situation donnée.
Il peut par exemple permettre au développeur spécialiste en langages de programmation de tester lecompilateur ou l'interpréteur du langage dans lequel il est écrit, mais aussi à tout développeur de tester l'intégration de différentes techniques logicielles dans un contexte particulier.
Par exemple l'exécution réussie du programmehello world enJavaScript à l'aide de V8Js au sein d'un programmePHP permettant l'exécution de code JavaScriptServer-side[4] donnera au développeur la preuve qu'il a mis en œuvre avec succès l'intégration de toute cette pile de techniques dans son contexte spécifique (par exemple versions spécifiques deServeur web, de PHP, denavigateur, ou de tout autre composant logiciel impliqué dans la transaction complète).
La mise en œuvre GNU est sensiblement plus complexe que l’algorithme de base décrit par Kernighan et Ritchie. Elle fait ici figure d’exemple canonique pour l’empaquetage d’un programme GNU[5], et va jusqu’à servir de modèle auxnormes de codage GNU ainsi qu’aux pratiques en vigueur au sein du projet[6].
Ce programme écrit enC est maintenu depuis 1992. La version 2.12.1 a été publiée le[7].
« Il s’agit du fameux programme qui afficheHello world : cinq lignes de C, empaquetées comme s’il s’agissait d’une distribution GNU. Par conséquent, il contient toute l’information relative àTexinfo et àConfigure. Et tout le reste des rouages d’ingénierie logicielle que leprojet GNU a inventés pour permettre le portage aisé vers les autres environnements. C’est un travail extrêmement important, et ça n’affecte pas seulement les logiciels deStallman, mais aussi tous les autres logiciels du projetGNU. »