Faire dire « Hello World » à un programme (en français « Bonjour le monde ! ») est l’une des premières com­pé­tences apprises par les pro­gram­meurs. L’intérêt d’un programme Hello World est tout simple : le code Hello World illustre la syntaxe ainsi que le fonc­tion­ne­ment d’un langage de pro­gram­ma­tion de la manière la plus claire possible.

Un programme Hello World, c’est quoi ?

Le texte « Hello World » fait partie des premiers codes écrits par les pro­gram­meurs. Au minimum grâce à la série amé­ri­caine « Mr. Robot », cette phrase aussi simple qu’énig­ma­tique est devenue culte. Dans la com­mu­nauté des pro­gram­meurs, elle fait im­pli­ci­te­ment partie du pa­tri­moine culturel, ce depuis longtemps. Mais qu’est-ce qui se cache derrière ces deux mots ? Et pourquoi font-ils partie du parcours imposé de toutes celles et ceux qui sou­hai­tent apprendre la pro­gram­ma­tion ?

Pour faire court, un programme Hello World est un code on ne peut plus simple qui affiche le texte « Hello World » (ou « Bonjour le monde »). Rien n’est plus simple que de créer un programme Hello World et de voir im­mé­dia­te­ment le résultat sous ses yeux. Cela permet aux débutants de voir du premier coup d’œil à quel point la syntaxe d’un langage de pro­gram­ma­tion Web peut sembler com­pré­hen­sible ou, au contraire, complexe. Quiconque souhaite par exemple apprendre Python voit ainsi tout de suite à quel point le code de Hello World paraît léger :

print ("Hello, World!")

Sous Java, le texte a déjà l’air nettement plus compliqué :

class Hello {
    public static void main( String[] args ) {
        System.out.println("Hello, World!");
    }
}
ja­vas­cript

Un débutant peut fa­ci­le­ment se rendre compte au premier coup d’œil de la dif­fé­rence de syntaxe entre les langages de pro­gram­ma­tion et du niveau d’exigence des pa­ra­digmes de pro­gram­ma­tion pour pro­gram­mer des choses complexes.

Quelle est la fonction d’un programme Hello World ?

Un programme Hello World ne permet pas d’avoir un aperçu ap­pro­fondi d’un langage de pro­gram­ma­tion. Il ne permet pas non plus d’apprendre les fonctions au-delà du fameux Hello World. Néanmoins, ce simple message « Hello World » fait partie des rituels tacites que suivent même les pro­gram­meurs les plus ex­pé­ri­men­tés à l’ap­pren­tis­sage d’un nouveau langage. Et dans le domaine de la pro­gram­ma­tion pour les enfants, le programme « Hello World » offre l’avantage d’apprendre à utiliser un éditeur de code en dé­cou­vrant la diversité de langages in­té­res­sants dès le plus jeune âge, de manière ludique.

Culte, tradition ou simple outil pé­da­go­gique, une chose est sûre : c’est aussi très amusant de bricoler en peu de temps un petit programme qui fasse exac­te­ment ce qu’on lui demande. La pro­gram­meuse Erin Spiceland a décrit la fas­ci­na­tion exercée par le processus de pro­gram­ma­tion par la métaphore suivante : « telling rocks what to think » (en français « dire à des pierres ce qu’elles doivent penser »). Rien n’illustre mieux la magie de créer un programme aussi lisible que fonc­tion­nel en quelques éléments de code simples que le fameux « Hello World ».

D’où vient ce nom ?

Beaucoup de pro­gram­meurs débutants se posent la même question : qui a eu l’idée du « Hello World » pour la première fois ? L’origine de cette tradition remonte aux années 1972 et 1974, lorsque Brian Kernighan, in­for­ma­ti­cien canadien et co-dé­ve­lop­peur des langages de pro­gram­ma­tion B et C, rédigeait les manuels internes des deux langages. À en croire ses propres dires, il sou­hai­tait montrer comment agencer des mots in­di­vi­duels de manière sig­ni­fi­ca­tive avec chacun des langages B et C. Le fameux mot d’accueil lui aurait été inspiré par un dessin animé vu au­pa­ra­vant à la té­lé­vi­sion.

C’est le célèbre manuel des Bell La­bo­ra­to­ries « The C Pro­gram­ming Language », rédigé par Kernighan en col­la­bo­ra­tion avec l’in­for­ma­ti­cien américain Dennis Ritchie, qui permit à l’ex­pres­sion devenue familière de devenir un standard. Premier livre publié sur le langage de pro­gram­ma­tion C, il a ra­pi­de­ment acquis une notoriété telle qu’il est aujourd’hui considéré comme un ouvrage de référence. Dans les ins­truc­tions internes de Kernighan comme dans « The C Pro­gram­ming Language », le texte s’écrivait encore « hello, world ». Ce n’est que plus tard qu’il s’enracina dans la com­mu­nauté des pro­gram­meurs sous les formes « Hello, World! », « Hello World » ou encore, en français, « Bonjour le monde ! ».

Exemples de Hello World dans dif­fé­rents langages de pro­gram­ma­tion

Il est difficile de dire ac­tuel­le­ment combien de langages de pro­gram­ma­tion existent dans le monde. Les es­ti­ma­tions vont de 700 à plus de 1 000 langages de code. Pour se faire une idée aussi rapide et claire que possible de la syntaxe de chacun d’entre, rien ne vaut un simple exercice de pro­gram­ma­tion « Hello World! ».

Voici quelques exemples de pro­grammes Hello World qui pourront vous permettre de constater la com­plexité ou, à l’inverse, la facilité et l’ef­fi­ca­cité de dif­fé­rents langages de pro­gram­ma­tion :

B :

main() {
    printf("Hello, World!");
}

C :

#include <stdio.h>
int main() {
    puts("Hello, World!");
    return 0;
}

C++ :

#include <iostream>
int main()
{
    std::cout << "Hello, World!" << std::endl;
}

D :

import std.stdio;
void main() {
    writeln("Hello, World!");
}

Ja­vaS­cript (dans le na­vi­ga­teur) :

document.write("Hello, World!");
ja­vas­cript

PEARL :

MODULE (HELLOWORLD);
     SYSTEM;
          TERMINAL:DIS<->SDVLS(2);
     PROBLEM;
          SPC TERMINAL DATION OUT ALPHIC DIM(,) TFU MAX FORWARD CONTROL (ALL);
     MAIN:TASK;
         OPEN TERMINAL;
         PUT ‘Hello, World!’ TO TERMINAL;
         CLOSE TERMINAL;
    END;
MODEND;

PHP :

<!--?php
    print "Hello, World!";
?>
php

QBasic :

<!--?php
    print "Hello, World!";
?>

SQL :

SELECT ‘Hello, World!’ AS message;

Unix-Shell :

echo ‘Hello, World!’
Aller au menu principal