Qu’est-ce que la programmation ?

Si tu lis ces lignes, c’est que tu sais déjà ce qu’est un ordinateur. En tout cas, tu sais à quoi ça sert, et à quoi ça ressemble. Ici, maintenant, nous allons expliquer comment fonctionne un ordinateur ainsi que les principes de la programmation.

Cette machine contient tout un tas de composants électroniques et aussi quelques composants mécaniques, des ventilateurs, par exemple, pour refroidir l’ensemble.

Tu sauras très bien retrouver l’écran, la souris (ou trackpad) et le clavier.

Tu connais sûrement moins les autres : il est de moins en moins facile d’ouvrir un ordinateur pour voir ce qu’il y a dedans. Pourtant, même si toutes les machines ne ressemblent pas exactement au schéma ci-dessus, toutes contiennent les composants indiqués.

Notamment, la carte mère est composée
– d’un microprocesseur qui exécute ce que tu lui demandes
– d’une mémoire vive utilisée par les programmes lors de leurs exécutions,
– de plusieurs « cartes », composants électroniques chargés d’une tâche spécifique. La carte graphique gère les affichages écran, la carte réseau l’accès à Internet, quant à la carte son, c’est pour le son, bien sûr !,
– et d’un disque dur qui stocke les données sur le long terme.

Tu pourras avoir plusieurs disques durs, c’est plus sûr de sauvegarder ce qu’il y a sur l’ordinateur en deux endroits différents. En effet, les disques durs n’ont pas une durée de vie éternelle même si elle est de 3 à 4 ans en général.

« Le microprocesseur exécute ce que tu lui demandes … »
Ah mais c’est génial, tu penses ! Pourtant, tu n’as jamais vu un ordinateur te préparer ton goûter ….
En fait, il ne fera que ce pour quoi il a été programmé. Mais parce qu’on les programme à faire de plus en plus de choses, certaines personnes pensent que bientôt les ordinateurs pourront faire autant de choses que les humains. C’est pourquoi nous allons nous attarder ici sur ce que veut dire « programmer », tu réaliseras par toi-même que ces personnes parlent plus de science-fiction que de réalité.

 

La programmation informatique qu’est-ce que c’est ?

Différentes étapes de développement d’un logiciel.

 

Qu’est-ce que programmer un ordinateur veut dire ?

Un programme est une liste d’instructions écrites pour résoudre un problème, ou pour effectuer une action.
Par exemple, quand tu démarres l’ordinateur, un programme nommé système d’exploitation commence. Il permet de gérer l’affichage, et l’exécution des autres programmes.
Ensuite si tu veux aller lire une page de Kidisciences sur Internet, il te faut ouvrir un programme de navigation, qui va gérer l’accès au site de Kidisciences ainsi que l’affichage du site. Il va communiquer avec la carte réseau et la carte graphique. Il en existe plusieurs : Firefox, Safari, etc.
Aussi, lorsque tu voudras regarder la vidéo à la fin de l’article, un programme de traitement d’images et de son sera exécuté.
Les programmes sont donc surtout utilisés pour gérer des informations,  les transférer, en général d’Internet vers ton écran, les transformer et au besoin les stocker.

Le terme de programmation est apparu avant que les premiers ordinateurs ne voient le jour, grâce à de célèbres théoriciens de l’informatique, Ada Lovelace (1815-1852), Charles Babbage (1791-1871) et Alan Turing (1912-1954) (plus de renseignements en bas de l’article avec des liens vers des vidéos et des autres articles). Les ordinateurs ont, en fait, été créés pour exécuter les programmes. Mieux et plus vite.

Une partie de la Machine analytique de Charles Babbage et Ada Lovelace – ancêtre de l’ordinateur. Science Museum London

Oui, ils sont beaucoup plus rapides que nous et ne sont pas enclins aux erreurs de calcul (même les adultes font des erreurs de calcul).

Mais pour concevoir un logiciel, il ne faut pas que savoir programmer. En effet, un logiciel doit être attractif, facile à utiliser et aussi facile à améliorer et à adapter à d’autres fonctions ou à de nouvelles machines. Il y a donc un gros travail de design de logiciel, non seulement sur l’aspect visuel mais aussi sur tous les programmes à écrire :
Comment décomposer en plusieurs “sous-programmes” ?
Quels programmes pour quelles fonctions ?
Quels tests faire pour être sûr que ça ne va pas planter ?
Quelles données sont nécessaires ?
Peuvent -elles être accessibles par l’utilisateur ou doivent-elles être cachées ?
Il s’agit de génie logiciel : cela commence par l’analyse des différentes fonctions et nécessités, puis se continue avec les choix techniques pour enfin se terminer avec la programmation.

Plutôt que programmer, on dit parfois coder parce que la programmation consiste à traduire des actions dans un langage compris par l’ordinateur pour qu’il puisse les exécuter.

 

Un langage de programmation qu’est ce que c’est ?

Avec les ordinateurs, puissantes machines de calcul, apparaît un autre élément : le langage de programmation. Il s’agit de mots, d’un vocabulaire et d’une grammaire avec lequel le programme est écrit.
Les machines n’étant, comme tu l’as vu, que des composants électroniques, elles ne comprennent pas notre langue, on doit donc tout leur traduire.
Une instruction d’un programme en langage assembleur, un des plus anciens langage, ressemble à cela :

movb 61,%al

Il s’agit d’une seule ligne d’un programme qui permet de faire des additions.
Ce langage est proche de la machine car il faut décomposer toutes les actions en opérations très simples, élémentaires, qui indiquent au processeur exactement ce qu’il faut faire. Par exemple, cette ligne de programmation signifie qu’il faut stocker 61 à l’endroit nommé « al ».
Tu peux imaginer que les lignes suivantes permettent de stoker le deuxième nombre, d’additionner ces deux valeurs et de stocker le résultat de l’addition à un endroit différent.
Oui, oui, ce langage est très technique, mais il permet de contrôler au maximum l’exécution des calculs de la machine !

L’assembleur, c’est bien pour ceux qui savent comment l’ordinateur est construit, ils peuvent alors exploiter cela au mieux pour écrire des programmes plus efficaces et rapides. Mais en général, ce langage est assez compliqué à lire. Et une des premières règles de programmation à respecter, c’est qu’il faut pouvoir relire et comprendre un programme que l’on a soi-même écrit il y a quelques mois, ou quelques années !
Alors on a créé d’autres langages pour pouvoir écrire des programmes compliqués sans se perdre. On a ainsi séparé le programme source, écrit et compris par les hommes, du programme binaire qui est le programme source traduit automatiquement pour l’ordinateur. Oui, un programme est chargé de traduire le programme source et de gérer la mémoire et toutes ces choses ennuyeuses ou difficiles à connaître pour les non experts de l’architecture de la machine.

Mais cela est une longue histoire : une centaine de langages a été créée, chacun avec ses particularités… : https://fr.wikipedia.org/wiki/Liste_de_langages_de_programmation

Pff, c’est compliqué…

Non, cela paraît compliqué mais c’est très simple : un programme est une suite d’instructions à suivre afin par exemple d’ouvrir une vidéo sur Internet.

Un langage de programmation permet de communiquer avec l’ordinateur pour qu’il exécute le programme efficacement. Le même programme peut être écrit dans des langages de programmation différents, mais certains langages facilitent certaines actions ou permettent de mieux gérer des structures de données compliquées.

 

L’informatique = des disciplines

Nous avons abordé quelques-unes des disciplines informatiques :
– l’architecture, qui s’intéresse aux composants électroniques de l’ordinateur,
– les réseaux qui gèrent les connexions externes entre ordinateurs, en particulier la transmission efficace et la sécurité,
– le développement de logiciel, qui est le développement de programmes aboutis, complexes mais utilisables par tous.

Il est aussi important de se souvenir que toutes ces disciplines sont liées. Et comme on ne trouve pas des experts en tout, il faut travailler en équipe !

 

Le bonus de la fin !

Avant de finir, pour te remercier d’avoir lu jusqu’au bout : une vidéo !

Scilabus (qui fait des supers vidéos Youtube sur https://www.youtube.com/user/scilabus) raconte la vie d’Ada Lovelace en Lego. Ada est une des premières théoriciennes de l’informatique. Une des premières à avoir parlé de programme avant même que l’ordinateur n’existe. Quand on pense informatique et programmation, on s’imagine souvent un homme enfermé dans une chambre avec un écran montrant des messages obscurs et verts. Pourtant, les femmes sont autant capables que les hommes de programmer.

L’animation en Lego a été faite par Marc-Andre Caron.

 

Pour aller plus loin, un joli article de Lê / Science4All nous parlant de l’histoire d’Alan Turing  :  http://kidiscience.cafe-sciences.org/articles/cryptographes-heros-dans-lombre/

et un article de Ludmilla Science sur les robots :  http://kidiscience.cafe-sciences.org/articles/quest-ce-quun-robot-vraiment/

Auteur : Emilie/Sense the Science

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *