abcdAlgos

abcdAlgosCollectif d'auteurs [x]

Le tutoriel «Hello World».

Objectif

Le but de ce tutoriel est de se familiariser avec l'outil de programmation Java'sCool, pour pouvoir réaliser les autres tutoriels et de découvrir comment programmer une séquence d'instruction.

Introduction

  1. Ecrire notre premier programme.

    Voici un exemple de programme minimal qui affiche le message (la chaine de caractère) "HelloWorld":
    void main() {
        println("Hello World !");
    }
    Nous y lisons les mots void main et println qui sont des mots-clés de Java'sCool, le langage informatique, et la chaine de caractères "HelloWorld" qui est un mot "à nous".
    Regardons à quoi correspondent ces trois lignes d'instructions:
    1. Ce que nous demandons est juste d'imprimer "HelloWorld"; où, par convention, nous plaçons la chaine de caractères entre guillemets "" pour signifier que c'est juste une chaine de caractères.
    2. Nous spécifions donc l'instruction println("HelloWorld"), où println signifie "imprime (print) sur une ligne" et où, par convention, ce qui doit être imprimé est placé entre parenthèse après le mot println et l'instruction se finit par ;. C'est une fonction.
    3. Et c'est dans le bloc void main() { ../.. } que se placent, entre les accolades, les instructions qui doivent être exécutées par le programme, void main signifie «tâche principale à exécuter» (cette façon de procéder sera évidemment mieux expliquée par la suite).
    Et voilà ! Il suffit de bien noter l'utilisation du bloc d'instruction (mise en évidence au point 3.) et la façon de donner une instruction (donnée en exemple au point 2.).
  2. Compiler et exécuter notre premier programme.

    Comment faire exécuter ce programme minimal par l'ordinateur ? Il y a trois étapes.
    1. D'abord toujours ... sauver le texte source du programme dans un fichier d'extension .jvs, par exemple Hi1.jvs, puis Hi2.jvs pour la version suivante, etc.. Il faut régulièrement penser à sauvegarder ce qui a été entré au clavier !
    2. Puis . . compiler le programme: celà veut dire le traduire dans le langage de l'ordinateur.
      • En effet, l'ordinateur est une machine électronique et le "langage qu'il comprend" est extrêment basique (ouvrir tel interrupteur, connecter telle partie du circuit à une autre, etc..) et tout ceci est bien trop fastidieux à décrire directement (l'action println, par exemple, comporte elle-même des milliers d'opérations élémentaires !).
      • Alors, nous disposons d'un langage formel de haut niveau celui que nous découvrons ici et que nous appelons Java'sCool et qui permet de spécifier des instructions de la manière la plus efficace possible.
      Compiler signifie alors traduire le langage Java'sCool en langage machine.
    3. Enfin ... exécuter le programme : celà veut dire demander à l'ordinateur de partir de void main et d'exécuter toutes les instructions données. Dans notre cas, nous obtiendrons l'écriture de Hello World !... et nous aurons en main la base pour faire des choses bien plus intéressantes et plus sophistiquées !

Travail proposé

  1. A nous de jouer.

    Taper sans se tromper les trois lignes dans la fenêtre de gauche (attention la moindre faute de frappe et il y aura une erreur, n'oublions qu'un ordinateur n'a aucune intelligence pour "intuiter" ce que nous voulons spécifier) puis sauver, compiler et exécuter.
    • Sauf étourderie ... ça y est ... nous avons donné notre première instruction à l'ordinateur !
    • Au lieu de faire écrire "HelloWorld" programmons une salutation en français : remplacer la chaine de caractères par une autre phrase de salutation dans le programme source, puis essayer (c'est à dire : sauver, compiler et ... exécuter).
    • Au lieu de ne faire écrire qu'une ligne, programmons l'écriture de deux lignes par exemple "Bonjour très cher:" et "Quel bon vent vous amène": pour celà mettre deux instructions println l'une en dessous de l'autre dans le bloc void main (donc bien entre les accolades et sans oublier le ; !), puis essayer.
  2. Que se passe t'il en cas d'erreur.

    Peut-être involontairement déjà, maintenant volontairement, faisons des "erreurs de syntaxe" c'est à dire écrivons de manière erronnée une petite partie du programme, Par exemple, oublier le ; ou un ", ou mettre un } de trop, ou encore taper printl (sans le n !), etc..
    • Que se passe t'il alors lors de la compilation ? Noter que le compilateur (le traducteur de Java'sCool en langage machine) est prévu pour renseigner au maximum sur l'erreur rencontrée, le numéro de ligne est fourni, le message d'erreur essaye de décrire le problème, etc.
    • Travailler maintenant en binôme : l'un de vous introduit volontairement une erreur dans le code à l'insu de l'autre, puis laisse la place à l'autre qui doit retrouver et corriger l'erreur. Faites le au moins cinq fois. Essayer avec des variantes du code (plusieurs println, des chaines de caractères compliquées)
    C'est très important de prendre l'habitude de trouver où il y a des erreurs de syntaxe pour facilement les corriger.

Remarques

  1. Mais dans quel langage programmons nous ?.

    Nous sommes en train d'apprendre à programmer dans un langage commun aux langages Java, C ou C++, et même Javascript ou PHP qui est un langage impératif" qui décrit les opérations en termes de séquences d'instructions exécutées par l'ordinateur pour modifier l'état du programme. La bonne nouvelle est que ce que nous apprenons ici, servira donc ensuite quel que soit le langage de programmation : ce seront les mêmes mécanismes, juste exprimés parfois un peu différement.
  2. Pourquoi appeler ce langage commun 'Java'sCool' ?.

    Parce que le langage "caché" derrière notre outil est le Java qui a été un peu simplifié ici pour le rendre "cool". D'ailleurs il est possible (à vos riques et bénéfices..) d'utiliser tout le langage Java ici. Simplement, un certain nombre de spécifications sont devenues optionelles en Java'sCool pour faciliter les choses aux débutants. C'est donc une école de Java (a Java school) avec laquelle Java is cool. Cette idée a été mise au point par des étudiants en informatique de l'Université de Nice Sophia-Antipolis auteurs de JavaS'Cool.
  3. Que veux dire «void main» en fait ?.

    Patience nous le comprendrons avec le tutoriel sur les fonctions.