I.

Les logiciels et leurs origines

Les logiciels sont une invention formidable que l’on utilise à chaque fois que l’on démarre un ordinateur, un mobile, une console de jeux vidéo et bien d’autres appareils électroniques. Certains logiciels sont plutôt simples et seulement conçus pour réaliser quelques tâches, mais d’autres sont extrêmement complexes et peuvent gérer des quantités énormes de données.

À quoi servent les logiciels ?

Voici l’idée de base : les ordinateurs ne comprennent pas le langage humain, mais les programmeurs veulent tout de même construire des ordinateurs faciles à utiliser. À l’évidence, les humains et les ordinateurs ne parlent pas la même langue. C’est là qu’intervient le logiciel : l’interface entre le matériel informatique et les utilisateurs. Elle nous accompagne dans l’utilisation de notre ordinateur. Creusons un peu le sujet.

Quelle langue les ordinateurs comprennent-ils ?

Les ordinateurs ne comprennent que l’information binaire, généralement représentée sous la forme de signaux électriques « activés » ou « désactivés » : ON (haut de tension) ou OFF (bas de tension). Toutes les informations destinées aux ordinateurs doivent être représentées sous la forme d’une séquence de 1 et de 0 (ON et OFF). En règle général, un « 1 » logique représente une tension plus élevée (par exemple, 5 volts), une valeur HAUTE, tandis qu’un « 0 » logique représente une tension basse (par exemple, 0 volt ou la terre), une valeur BASSE. La séquence (ou série) de 1 et 0 est nommée code binaire.

Les humains et les ordinateurs ne comprennent pas de la même manière une langue, les photos, les vidéos, les textes, les programmes ou encore la musique. Toutes les données doivent donc être converties en code binaire afin de pouvoir être traitées par ordinateur.

Dans les ordinateurs modernes, des systèmes d’encodage font office de traducteur. Ils convertissent ce que l’on leur fournit en code machine. Pour prendre un exemple très simple, quand vous tapez la lettre « A » sur un clavier, celle-ci est convertie par le système de codage de caractères UTF-8 en code machine avec une valeur de 01000001.

Un exemple de traduction de code binaire en cours
Un exemple de traduction de code binaire en cours

Imaginez le nombre de 1 et de 0 nécessaire pour représenter un livre en code binaire. Imaginez le nombre de 1 et de 0 nécessaire pour représenter une photo ou une chanson en code binaire. Comme vous l’aurez compris, représenter des images, du texte, des programmes ou même de la musique en code binaire – en 1 et en 0 – est plutôt complexe et fastidieux. Nos ordinateurs modernes réalisent cela automatiquement. C’est un processus invisible pour la plupart des utilisateurs.

Essayez d’imaginer ce processus à l’époque des premiers programmeurs : ils devaient tout exprimer en code binaire en travaillant à la main !

Quel rôle ont joué les programmeurs dans l’évolution des logiciels ?

Peu importe le langage ou le type de langage que nous utilisons pour écrire nos programmes, ces derniers doivent être en code machine pour pouvoir être exécutés par l’ordinateur.

Quand le premier ordinateur «moderne» électrique a été créé, les programmeurs ont réalisé que la vitesse et la capacité de mémoire réduites de ces appareils limitaient leur imagination et l’expérience des utilisateurs non experts.

Cela les a forcés à créer des «traducteurs de langage» pour faciliter leur travail d’écriture de code machine. On compte trois catégories principales de traducteurs de langages dans nos ordinateurs: assembleurs, compilateurs et interpréteurs. Nous allons nous intéresser à cela dans la partie suivante.

Les programmeurs utilisent des langages de programmation pour créer les logiciels. Il en existe de nombreux et ils ont évolué au fil des années. La documentation sur le sujet reconnaît généralement cinq générations de langages de programmation (page en anglais).

Les langages de programmation sont classés selon deux niveaux: haut ou bas. Les deux premières générations font partie des langages de bas niveau, tandis que les trois suivantes sont rattachées aux langages de programmation de haut niveau.

Nous sommes maintenant prêts pour la prochaine partie. Nous allons en apprendre plus sur les langages de haut et de bas niveaux et la programmation.

Next section
II. Les langages de programmation et la création de logiciels