Bien que plusieurs petits programmes de test existent depuis le développement des ordinateurs programmables , la tradition d'utiliser la phrase « Hello, world » comme message de test a été influencée par un exemple de programme du livre de 1978, * The C Programming Language * , et probablement déjà utilisé dans BCPL . Le programme d'exemple du livre affiche :, et a été hérité d'un mémorandum interne des Bell Laboratories de 1974 par Brian Kernighan , Programming in C: A Tutorial :
Dans l'exemple ci-dessus, leLa fonction définit où le programme doit commencer son exécution . Le corps de la fonction se compose d'une seule instruction , un appel à la fonction.console le contenu qui lui est passé en paramètre , ici la chaîne de caractères ` string`..
La version en langage C a été précédée par le propre ouvrage de Kernighan de 1972, A Tutorial Introduction to the Language B , où la première version connue du programme se trouve dans un exemple utilisé pour illustrer les variables externes :
Variations

La complexité des programmes « Hello, world » varie selon les langages. Dans certains langages, notamment les langages de script , le programme « Hello, world » peut s'écrire en une seule instruction, tandis que dans d'autres (en particulier dans de nombreux langages de bas niveau ), plusieurs instructions supplémentaires peuvent être nécessaires. Par exemple, en Python , pour afficher la chaîne de caractères « Hello, world », il faut utiliser la fonction `print()` .C++ nécessite l'importation de la bibliothèque standard C++ , la déclaration d'un point d'entrée (fonction main) et un appel pour imprimer une ligne de texte sur le flux de sortie standard.)

L'expression « Hello, world » a connu diverses variations de casse et de ponctuation, notamment la présence ou l'absence de virgule ou de point d'exclamation. Certains appareils limitent le format à des variantes spécifiques, comme les versions entièrement en majuscules sur les systèmes ne prenant en charge que les lettres majuscules, tandis que certains langages de programmation ésotériques peuvent nécessiter l'affichage d'une chaîne légèrement modifiée. D'autres langues humaines ont été utilisées comme sortie ; par exemple, un tutoriel pour le langage Go affichait des caractères anglais, chinois ou japonais , démontrant ainsi la prise en charge native d'Unicode par le langage . Un autre exemple notable est le langage Rust , dont le système de gestion insère automatiquement un programme « Hello, World » lors de la création de nouveaux projets.

Certains langages modifient la fonction du programme « Hello, world » tout en conservant l'esprit d'un exemple simple. Les langages de programmation fonctionnelle , tels que Lisp , ML et Haskell , ont tendance à remplacer « Hello, world » par un programme de calcul de factorielle , car la programmation fonctionnelle privilégie les techniques récursives, tandis que les exemples originaux mettent l'accent sur les entrées/sorties, ce qui contrevient à l'esprit de la programmation fonctionnelle pure en produisant des effets de bord . Les langages capables d'afficher « Hello, world » ( langage assembleur , C , VHDL ) peuvent également être utilisés dans les systèmes embarqués , où l'affichage de texte est soit complexe (nécessitant des composants supplémentaires ou une communication avec un autre ordinateur), soit inexistant. Pour des dispositifs tels que les microcontrôleurs , les FPGA et les CPLD, « Hello, world » peut ainsi être remplacé par une diode électroluminescente (DEL) clignotante, illustrant la synchronisation et l'interaction entre les composants.
Les distributions Linux Debian et Ubuntu fournissent le programme « Hello, world » via leurs gestionnaires de paquets logiciels , qui peuvent être lancés avec la commandevérification et d'exemple simple d'installation d'un paquet logiciel. Pour les développeurs, cela fournit un exemple de création d'un paquet .deb , soit de manière traditionnelle, soit à l'aide de debhelper , ainsi que la version deGNU Hello est utilisé comme exemple d'écriture d'un programme GNU .
Des variantes du programme « Hello, world » produisant un affichage graphique (et non textuel) ont également été présentées. Sun a démontré l'existence d'un programme « Hello, world » en Java basé sur des graphiques vectoriels évolutifs , et le langage de programmation XL propose un affichage de la Terre en rotation (« Hello, world ») grâce à l'infographie 3D . Mark Guzdial et infographie , le rendu d'un triangle les bibliothèques graphiques .
Il est temps de dire bonjour au monde
Le « temps nécessaire pour écrire un programme "Hello, world" » (TTHW) correspond au temps requis pour écrire un programme « Hello, world » dans un langage de programmation donné. Il s'agit d'une mesure de la facilité d'utilisation d'un langage. Puisque le programme est conçu comme une introduction pour les personnes ne connaissant pas le langage, un programme « Hello, world » plus complexe peut indiquer que le langage est moins accessible. Par exemple, le premier programme « Hello, world » connu du public, écrit en Malbolge (qui affichait en réalité « HEllO WORld »), a mis deux ans à être annoncé et a été produit non pas par un humain, mais par un générateur de code écrit en Common LispAPI , comme mesure de la simplicité avec laquelle un nouveau développeur peut faire fonctionner un exemple de base ; un temps plus court indique une API plus facile à adopter pour les développeurs.