Introduction

« Apprendre à programmer, alors qu'existent déjà sur le marché des millions de logiciels, pour retoucher les yeux rouges de mes photos, pour me composer mon menu diététique, pour graver mes DVD, pour écrire mon courrier, pour référencer ma collection de BD, pour jouer au Sudoku, etc ? Il n'y a qu'à parcourir la logithèque de ma tablette ou de mon smartphone pour s'en convaincre.
Tout cela me semble hors de portée. »

D'accord, vous avez raison, c'est hors de votre portée.
Pour l'instant, en tout cas.

En fait, programmer, c'est donner des instructions à votre smartphone ou à votre tablette. Vous lui donnez des ordres. Et je vous jure que c'est le pied !

Ne croyez surtout pas que lorsque vous aurez suivi ce tutoriel jusqu'à la dernière page, vous serez capable de développer votre propre logiciel de retouche d'images. Mais vous aurez appris les bases de la programmation et vous disposerez d'un certain bagage vous permettant d'aller plus loin et de vous attaquer, par exemple, à la programmation d'applications graphiques.
Vous serez quand même capable d'écrire un programme en mode texte, comme un carnet d'adresses, un agenda électronique, une calculatrice, un petit jeu…
Vous serez également armé(e) pour aborder d'autres langages moins rigoureux et pour ne pas tomber dans les mêmes pièges que certains débutants présomptueux qui veulent brûler les étapes.

Et je vous préviens d'avance, à certains moments le découragement ne sera pas loin car vous aurez l'impression d'acquérir beaucoup de notions pour, en définitive, ne pas savoir faire grand chose.

Vous êtes toujours là ? Ah j'ai compris, ce que vous voulez en fait, c'est savoir qui est ce Pépé dont je vous ai parlé au tout début du tutoriel. En fait, la question n'est pas « qui » est Pépé mais plutôt « quoi » ; car Pépé est ce que l'on appelle un compilateur.

Pépé le Compiler

Un compilateur (compiler en anglais), c'est un programme qui traduit ce que vous écrivez en un langage que votre ordinateur, votre smartphone ou votre tablette, peut comprendre.

Car programmer, c'est avant tout une succession de traductions : d'abord, vous traduisez votre idée en mots de tous les jours (« lire deux nombres et les additionner »), que vous traduisez dans un langage codifié (le langage Pascal), que comprend le compilateur, qui à son tour le traduit en langage machine, que comprend l'appareil que vous avez dans les mains.

Il existe des milliers de compilateurs pour tous les langages et des dizaines rien que pour le langage Pascal. Certains ont marqué l'histoire du Pascal, comme Turbo Pascal (dans les années '80 et '90) ou Delphi (depuis les années '90), au point que la plupart des autres compilateurs s'efforcent de leur être compatibles, voire de leur ressembler. Turbo Pascal et Delphi sont en quelque sorte devenus des standards au point de vue des éléments du langage.

Image non disponible Image non disponible

Turbo Pascal et Delphi ont eu un succès planétaire parce qu'ils permettaient de créer des logiciels pour PC, la plateforme privilégiée de l'informatique individuelle, et pour les systèmes MS-DOS et Windows. Les autres plateformes, comme les mainframes (les grosses architectures du monde de l'entreprise et de la recherche), le Mac, les micro-contrôleurs, etc, avaient également leurs propres compilateurs. Mais la donne est en train de changer à toute vitesse : de nouvelles architectures sont en train de grignoter une part non négligeable du marché de l'informatique individuelle, au point qu'un des défis qu'essaie de relever le compilateur historique Delphi est de pouvoir créer des logiciels pour iOS et Android, les systèmes sur lesquels tournent l'immense majorité des tablettes et smartphones.

Si vous êtes en train de lire ces phrases, c'est qu'il y a de fortes chances que l'appareil que vous tenez dans les mains soit une tablette ou un smartphone qui tourne sur Android. Notre Pépé est en effet conçu pour fonctionner uniquement sur ce système.

Pépé… Quel drôle de nom pour un compilateur. Pépé le Compiler est l'émanation d'un autre compilateur, créé par le Français Philippe Guillot, PP Compiler.

Il s'agit de l'abréviation de PalmOS Pascal Compiler, soit un compilateur destiné à créer des logiciels pour les PDA, sortes d'assistants personnels numériques équipés d'un processeur ARM et d'un écran tactile, exactement comme les smartphones.

Image non disponible

PalmOS est le système d'exploitation des PDA ; Philippe Guillot a converti son PP Compiler pour le système Android et lui a donné comme nom la prononciation francisée des deux P. Tout simplement. Et le sympathique logo de Pépé le Compiler n'est autre que Pépé le Putois, le très Frenchie personnage de dessin animé créé dans les années '40 par Chuck Jones, dont les ardeurs et le romantisme n'ont d'égale que la nauséabonde odeur qu'il dégage.

Image non disponible

Le langage Pascal

Le Pascal a été inventé dans les années 1970 à Zürich par Niklaus Wirth. Il s'est tout de suite révélé adapté à l'enseignement de la programmation, par sa clarté, sa structuration claire et sa rigueur. Mais le Pascal initial était relativement limité et il s'est rapidement vu greffer des extensions qui en ont fait un langage puissant.

Si vous parcourez, par curiosité, des forums de discussion sur la programmation, vous risquez de tomber sur des réflexions pas très positives sur le langage Pascal. Car il a longtemps été enseigné comme langage de base de programmation dans les écoles et il est resté, dans l'esprit de beaucoup, un langage pour débutants ou pour développeurs amateurs.

Eh bien c'est totalement faux ! Sachez que les premières versions du système Macintosh et des logiciels comme Photoshop, Skype, Jabber, SpyBot ou Everest ont été écrits en Pascal.

Dans le monde du développement professionnel, le Pascal navigue toujours dans les dix à quinze langages les plus utilisés ; citons les plus courants :

  • le C, avec ses dérivés C++, C# (« C sharp »), Objective-C ;
  • le Java ;
  • le PHP ;
  • le Basic et Visual Basic ;
  • Python ;
  • Perl ;
  • Ruby ;
  • le Lisp ;
  • l'Assembleur ;
  • et une multitude d'autres !

Le C et ses dérivés représentent plus de 40 % des parts de marché des langages ; le Java environ 15 % et les autres moins de 5 %. Donc, si vous rêvez de devenir un jour développeur professionnel, vous savez déjà que vous devrez apprendre C et sans doute aussi le Java.

Mais commencer par apprendre le Pascal pourra vous donner de très bonnes bases et vous aider à éviter de nombreux pièges tendus par des langages moins rigoureux. De plus, lorsque l'on apprend à concevoir des algorithmes (c'est-à-dire mettre en place les étapes permettant de résoudre un problème), leur traduction en programme est plus naturelle et plus lisible en Pascal que, par exemple, en C.

Langages de bas et haut niveau

Parmi les langages de programmation, on distingue généralement ceux que l'on qualifie de haut niveau de ceux de bas niveau.

Cela n'a bien sûr rien à voir avec l'altitude à laquelle vous travaillez ni avec le salaire que vous percevez. Non, la différence vient du fait que les langages de haut niveau permettent de faire abstraction de la façon dont fonctionne le matériel de l'ordinateur, contrairement à ceux de bas niveau.

La frontière est même un peu plus floue que cela car nombre de langages de haut niveau offrent des fonctionnalités de bas niveau. C'est ainsi que la plupart des systèmes d'exploitation (Windows, Android, etc) et des pilotes de périphériques sont maintenant écrits dans des langages de haut niveau (surtout en C).

Nous situerons le Pascal (comme le C) dans les langages de haut niveau, même s'ils permettent tous les deux du traitement de bas niveau. D'ailleurs, nous n'aborderons absolument pas les fonctionnalités de bas niveau du Pascal dans cet ouvrage.

Langages compilés et langages interprétés

Je vous ai dit un peu plus haut que Pépé était un compilateur, qui traduisait le langage Pascal en langage machine. En fait, Pépé traduit entièrement le code source en langage Pascal et crée ce que l'on appelle un exécutable, qui est un fichier qui contient exclusivement du langage machine.

Donc le compilateur travaille une seule fois : il lit le code source en Pascal, crée un exécutable et c'est ce dernier qui va être copié sur les autres machines pour être exécuté. Pas le compilateur !

Sachez qu'il existe une alternative à cette manière de procéder : au lieu de créer une fois pour toutes un exécutable que l'on peut distribuer, on installe sur toutes machines un interpréteur, qui va traduire le langage Pascal et l'exécuter au fur et à mesure.

Pour fixer les idées :

Compilateur Interpréteur
Le code source est traduit une fois pour toutes en langage machine Le code source est traduit en langage machine à chaque exécution
Le compilateur ne doit pas être présent pour faire fonctionner le programme L'interpréteur et le code source doivent être présents pour exécuter le programme

Les toutes premières versions du Pascal étaient interprétées ; il existe encore actuellement des interpréteurs Pascal mais l'immense majorité des outils de développement d'aujourd'hui sont basés sur des compilateurs. On peut donc affirmer sans crainte que le Pascal est un langage compilé.

Assez de blabla

Oui, je suis sûr que vous avez hâte de passer à l'action ! Commençons par installer notre compilateur.

Installation de Pépé le Compiler

Démarrez l'application Google Play et, dans le champ de recherche, inscrivez « Pépé le Compiler » :

Image non disponible

Voici la fiche signalétique de Pépé :

Image non disponible

Touchez le bouton « Installer » :

Image non disponible

Puis « Accepter et télécharger ». C'est parti :

Image non disponible

Et notre gentil putois vient se ranger sagement dans nos applications :

Image non disponible

Premier test : un « Hello World »

Depuis les débuts de la programmation, une tradition s'est installée : le tout premier programme que l'on conçoit, lorsque l'on découvre un nouveau langage ou un nouveau compilateur, salue le monde entier avec un joyeux « Hello World ! ».

Il faut bien avouer qu'avec nos outils actuels, l'affichage de ce petit message ne requiert pas plus de trente secondes ; mais pensez qu'à l'aube de l'informatique, quand les langages dits « de haut niveau » n'existaient pas encore, la réalisation d'un tel programme était beaucoup moins évidente - et la satisfaction d'y parvenir en était d'autant plus grande !

Nous allons sacrifier à la tradition et créer un premier petit programme qui va saluer le monde.

D'un subtil effleurement de doigt sur son icône, lancez Pépé le Compiler :

Image non disponible

Oh que cet écran paraît vide !

Touchez les trois points verticaux, en haut et à droite, pour dérouler le menu principal :

Image non disponible

Nous allons créer un nouveau programme ; assez logiquement, il faut toucher le menu « Nouveau ».

Vous êtes tout de suite invité(e) à donner un nom au programme. Appelez-le « Hello » :

Image non disponible

Touchez « OK » pour valider ce nom.

Dans le bandeau supérieur de l'écran, vous voyez le chemin d'accès complet au programme. À présent, l'essentiel de l'écran est occupé par une zone d'édition au fond bleu.

Recopiez-y scrupuleusement le code source suivant :

 
Sélectionnez
  1. Program Hello; 
  2.  
  3. Begin 
  4.   WriteLn('Hello World !'); 
  5. End. 

Image non disponible

Sachez pour l'instant que les majuscules et minuscules n'ont guère d'importance mais que, par contre, la ponctuation est primordiale : mettez bien les points-virgules, le point final et ne remplacez surtout pas les apostrophes par des guillemets.

Lorsque vous avez terminé, enregistrez votre code source : touchez les trois points verticaux du menu et choisissez « Sauve » :

Image non disponible

Personnellement, je trouve que la taille des caractères de la zone d'édition est un peu grande, surtout si nous devons écrire par la suite de plus longues lignes. Si vous le souhaitez, vous pouvez toucher le menu de Pépé puis « Taille de fonte » ; optez ensuite pour la taille 12 :

Image non disponible

Effleurez ensuite le fond bleu. Vous constatez que les caractères du code source ont légèrement rétréci.

Il faut à présent demander à Pépé de compiler le programme. Retournez au menu principal et touchez « Compile ». Si vous avez scrupuleusement recopié le code source, vous obtenez le message d'information suivant :

Image non disponible

Par contre, si vous avez fait une erreur, Pépé vous l'indiquera. Si, par exemple, vous avez omis le point final, il vous retournera ce message :

Image non disponible

L'erreur renseignée est « Unexpected end of file », c'est-à-dire « fin de fichier inattendue ». Dans ce cas, touchez le bouton « Fait », corrigez votre erreur et recommencez la compilation.

Revenons à notre message de succès de compilation :

Image non disponible

Pépé a créé un fichier exécutable appelé « Hello.exe », d'une taille de 184 octets. Pour l'exécuter, touchez simplement le bouton « Exécute » :

Image non disponible

Le petit « Hello World ! » s'est affiché et Pépé indique que l'exécution s'est déroulée sans erreur.

Il est important de savoir que des erreurs peuvent se produire à l'exécution d'un programme, même si la compilation n'en a détecté aucune. Rassurez-vous, nous allons apprendre à les éviter.

Pour retourner dans la zone d'édition de Pépé, touchez le bouton « Éditer ».

Lecture et écriture