L A P R O G R A M M A T I O N I N F O R M A T I Q U E
L E P R O C E S S U S D E P R O G R A M M A T I O N
Combien de fois t’est-il arrivé/e de te frustrer parce que l’ordinateur ne faisait tout simplement
pas ce que tu voulais qu’il fasse? Est-ce comme lorsque tes parents te demandent de nettoyer ta
chambre et que tu ne le fais pas? Voyons si c’est le cas. Dans le cas du nettoyage de ta chambre,
les paroles échangées pendant la communication ont été comprises par les deux parties, mais
quelqu’un a refusé de le faire (on ne nommera pas qui!). Au cours d’un échange avec
l’ordinateur, le langage utilisé n’a pas eu l’effet désiré. Une des parties qui « conversait » a
utilisé des termes incompris de l’autre.
Le langage est donc important. Comment alors l’humain s’assure-t-il d’être compris par
l’ordinateur ?
LE LANGAGE MACHINE
0010100111010101100101011001!
As-tu saisi le sens de cette instruction? L’ordinateur, lui, n’aurait aucune difficulté à
comprendre. En fait, ce langage de 0 et de 1, la base du système binaire, est le seul qu’il
comprenne et qu’il maîtrise. Lorsqu’un programme informatique est sous la forme de
0 et de 1, on dit qu’il est en code machine.
Il n’est donc pas facile de communiquer directement avec un ordinateur. C’est pourquoi les
programmeurs ont mis au point des langages de programmation en vue de faciliter la
composition des instructions d’un logiciel. Ils se sont aussi entourés de processus de
programmation pour structurer leurs efforts.
LE PROCESSUS DE PROGRAMMATION EN INFORMATIQUE
Entre l’idée de la nécessité d’un programme informatique et de sa réalisation en un code
machine pour régir le comportement de l’ordinateur, le programmeur fait appel à une série de
processus qui l’aideront dans sa démarche.
L’illustration ci-dessous schématise bien cette séquence de processus. Le programmeur sera
ainsi progressivement conduit du langage humain au code source, pour finalement aboutir au
code machine.
Langage humain : Mets la variable « somme » égale à trois.
Code source :
Code machine : …001001010010101011001010101010011011110100101010…
LA COMPILATION ET L’INTERPRÉTATION
Les langages de programmation ont évolué pour ressembler beaucoup plus au langage humain
qu’au langage machine en 0 et en 1.
Un processus doit donc exister pour que les instructions que tu écriras en Visual Basic soient
traduites en langage machine que l’ordinateur pourra comprendre et exécuter. En d’autres mots,
il faut un processus pour passer du code source en Visual Basic, par exemple, au code objet en
0 et en 1 (le code objet est équivalent au code machine). En fait, cette traduction s’accomplit
par l’une ou l’autre des deux méthodes suivantes : la compilation ou l’interprétation.
C’est en fait le choix du langage de haut niveau qui détermine la méthode de traduction utilisée.
Certains langages sont compilés (p. ex., Turbo Pascal, C) alors que d’autres sont des langages
interprétés (p. ex., Visual Basic). Il y en a même, comme Java, qui font appel à une combinaison
des deux méthodes. Par définition, les compilateurs et les interpréteurs sont eux-mêmes des
programmes! Eh oui! Ce sont des logiciels composés spécifiquement pour prendre les
instructions que tu as composées dans un langage de programmation et les convertir sous la
forme de codes compris par la machine.
Une analogie pour comprendre compilation et interprétation
Comment distinguer compilateur et interpréteur? C’est ce que tu découvriras en répondant à la
question suivante : S’il est facile pour deux francophones de se parler, comment s’y prendre
lorsqu’un francophone communique avec un anglophone? Voici les deux solutions qui
t’aideront à départager la différence entre compilation et interprétation.
Solution interprétée.
Le francophone fait appel à un interpréteur qui traduit du français à l’anglais au fur et à
mesure. Le francophone prononce d’abord une phrase en français. L’interpréteur écoute la
phrase, la reformule dans l’autre langue et la dicte en anglais à l’anglophone. Ce processus est
répété pour chacune des phrases. La communication entre le francophone et l’anglophone a
beau commencer sans délai, l’interprétation est quand même un processus lent; la
communication est continuellement entrecoupée par les efforts de traduction.
Solution compilée.
Le francophone consigne tout ce qu’il doit dire par écrit dans un document. Ce document en
français est ensuite entièrement traduit en anglais. Le résultat final est un document compilé en
anglais qui implique les faits suivants. La compilation exige la traduction complète du
document avant sa prise en charge par l’anglophone, ce qui entraîne un délai important avant
le début du processus réel de communication. L’avantage ne se révèle qu’une fois que le
document final est entre les mains de l’anglophone; il peut être lu à n’importe quel moment
opportun et à la vitesse désirée, sans pause aucune.
De tels scénarios sont analogues à ceux pouvant se produire dans le domaine de l’informatique.
Il suffit tout simplement de voir que le français est similaire au code source, l’anglais, au code
machine et que l’anglophone est l’ordinateur.
Le compilateur
Le compilateur traduit la totalité du programme source en code machine. D’un seul coup, le
compilateur compile entièrement le code source et génère un fichier exécutable composé
de code machine. Ce fichier exécutable s’enregistre sur un support de stockage (disque dur,
cédérom, etc.). Cela signifie donc que :
le programme ne peut être exécuté qu’une fois le code entièrement traduit ;
toute modification apportée au code source nécessite une recompilation ;
L’illustration ci-dessous donne une bonne idée de l’application du processus de compilation.
L’interpréteur
L’interpréteur, quant à lui, fournit les outils nécessaires à ce qu’un programme écrit en langage
source puisse être compris et exécuté par l’UCT, ligne de code par ligne de code. Dès que
l’interpréteur tombe sur une instruction, il la traduit et demande immédiatement à l’UCT de
l’exécuter avant de passer à l’instruction suivante. Ce processus est répété jusqu’à ce que le
programme ait terminé. Cela signifie donc que :
l’interpréteur est un programme qui doit être chargé en mémoire en même temps que le
programme source qu’il doit interpréter ;
les instructions du programme source sont ramassées et exécutées une à la fois ;
le code interprété n’est pas conservé. Si un tel programme doit être réexécuté, il doit
passer de nouveau par l’interpréteur ;
L’illustration ci-dessous donne une bonne idée de l’application du processus d’interprétation.
En résumé, tout langage de haut niveau peut-être soit compilé ou interprété. C’est le type
d’application qui se porte juge du choix. Voici des facteurs à considérer :
L’interpréteur doit être chargé en mémoire au cours de l’exécution d’un programme
interprété; l’espace mémoire disponible à l’exécution de ce dernier est donc réduit. Dans
le cas du compilateur, il n’est chargé en mémoire que pendant l’étape de compilation;
seul le code machine d’un programme compilé réside en mémoire au cours de
l’exécution.
Dès qu’un fichier exécutable est accessible, il peut être exécuté aussi souvent que désiré
sans devoir utiliser le compilateur. Cependant, avec un programme en langage
interprété, il faut utiliser l’interpréteur chaque fois que l’on désire exécuter un tel
programme.
Les programmes en code machine ont une rapidité d’exécution supérieure à celle des
programmes interprétés.
Il est plus facile et plus rapide de modifier le code d’un programme interprété que celui
d’un langage compilé. Les langages interprétés ont donc l’avantage de réduire le temps
de développement.
Selon toi, dans un environnement de production où la vitesse d’exécution du programme est de
mise, lequel des programmes, compilé ou interprété, aura l’avantage? Pourquoi? Dans un
environnement de production la vitesse de développement est de mise ? Pourquoi ?
Ce pourrait être de bonnes questions d’examen.
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !