Types de langages informatiques
Pour pouvoir communiquer avec un ordinateur l'homme a conçu une série de langages informatiques, sans ses derniers on pourra pas manipuler un ordinateur ou lui transmettre des instructions, il y a plusieurs classifications de ses langages, mais celle à la quelle je penche plus est la suivante :
-
Langage machine
-
Langage assembleur (assembly language)
-
Langage évolué
-
Langage de balisage (langage de marquage)
-
Langage de requête
Langage machine
Le langage machine appelé aussi langage binaire, c'est avec ce langage que fonctionnent les ordinateurs. Il consiste à utiliser deux états (représentés par les chiffres 0 et 1) pour coder les informations (texte, images etc.). L'homme travaille quant à lui avec 10 chiffres (0,1,2,3,4,5,6,7,8,9), c'est ce qu'on appelle communément la base décimale.
L'ordinateur est un outil même s'il est très sophistiqué, il est trop limité
toutes les données sont étrangères pour lui, il ne sait pas ce que signifie une vidéo, de la musique, du texte etc. Pour lui tout cela n'est accessible que s'il est
transcrit en une suite de 1 et 0 ou plus précisément en une suite d'impulsions
électriques. Contrairement à l'homme qui a dix doigts et avec lesquels il compte de 0 à 9 (10 nombre : base décimale), et qui forme avec ces dix chiffres les autres nombres, l'ordinateur n'a que deux doigts, le pauvre
ne peut compter que de 0 à 1 (2 états) ce qui fait qu'il ne reconnait que deux chiffres et avec lesquels il forme les autres nombres par exemple chez les hommes le nombre 32 est composé des deux chiffres 3 et 2 chez l'ordinateur ce nombre est représenté par 0100000.
Dans le langage machine, le programmeur doit entrer chaque commande et toutes les données sous forme binaire c'est à dire sous forme de suite d'octets, chaque octet comportant une succession de 8 bits, chaque bit étant représenté par le 1 ou le 0. Voici un exemple d'une commande en langage machine comportant 4 octets : 11001010 00010111 11110101 00101011.
Bit signifie "binary digit", c'est-à-dire 0 ou 1 en codage binaire. C'est la plus petite unité d'information manipulable par une l'ordinateur. Le bit peut être représenté par une impulsion électrique, en fait le processeur est composé de millions de transistors si le courant passe dans un transistor cela se traduit par le 1 & vice-versa, et puis une succession de 1 et 0 forme un octet (suite de 8 bits, exemple : 00100111).
Un octet peut correspondre par exemple à un caractère c'est à dire les chiffres, les lettres, les signes de ponctuation (virgule, point-virgule, double-point etc.). Pour être plus explicite le nombre 14 codé sur 8 bits est représenté par (00001110), le 0 est représenté par huit zéros (00000000), 255 est représenté par (11111111) et ainsi de suite.
N'oubliez pas que n'importe quelle information que ça soit des caractères, des images, de la musique ou de la vidéo est codée en langage binaire, et pour mentionner la taille d'un fichier on utilise certaines mesures à savoir : le kilooctet, le mégaoctet, le gigaoctet et enfin le téraoctet.
A partir de décembre 1998, l'organisme international IEC à standardiser les valeurs de ces unités :
- un kilooctet (ko) = 1000 octets ;
- un Mégaoctet (Mo) = 1000 Ko = 1 000 000 octets ;
- un Gigaoctet (Go) = 1000 Mo = 1 000 000 000 octets ;
- un Téraoctet (To) = 1000 Go = 1 000 000 000 000 octets.
Néanmoins faites attention car pas mal de logiciels se servent encore de l'ancienne notation :
- un kilooctet (ko) = 210 octets = 1024 octets ;
- un Mégaoctet (Mo) = 220 octets = 1024 Ko = 1 048 576 octets ;
- un Gigaoctet (Go) = 230 octets = 1024 Mo = 1 073 741 824 octets ;
- un Téraoctet (To) = 240 octets = 1024 Go = 1 099 511 627 776 octets.
Pour connaître la taille d'un fichier ou dossier, cliquez sur lui avec le bouton droit de votre souris puis cliquez sur propriétés, et vérifiez que l'onglet "Général" est bien sélectionné.
Langage assembleur
Le langage assembleur est un langage de bas niveau proche du langage machine qui peut être directement interprété par le microprocesseur de l'ordinateur tout en restant lisible par un humain.
L'assembleur a été créé pour faciliter le travail des programmeurs. Il consiste à représenter les combinaisons de bits employées en langage binaire par des symboles faciles à retenir : Pour chaque instruction exprimée en langage machine, le programmeur code ses programmes en langage assembleur, ceux-ci sont ensuite transcrits par un logiciel appelé assembleur en langage machine, puis exécutés par l'ordinateur.
Par exemple, un processeur de la famille x86 reconnaît une instruction du type
10110000 01100001.
En langage assembleur, cette instruction sera traduite par un équivalent plus facile à comprendre pour le programmeur :
mov %al,$0x61
Cette instruction signifie mettre la valeur hexadécimale 61 (97 en décimal) dans le registre 'AL'.
Contrairement à un langage de haut niveau (pascal, java, C, C++), il y a une correspondance entre le code assembleur et le langage machine, ainsi il est possible de traduire le code dans les deux sens sans perte d'information. La transformation du code assembleur en langage machine est accomplie par un programme nommé assembleur, dans le sens contraire par un programme appelé désassembleur. Les opérations correspondantes s'appellent respectivement assemblage et désassemblage.
Chaque microprocesseur possède son propre langage machine, et par conséquent son propre langage d'assemblage (l'exemple précité est pour le x86). Pour remédier à cette lacune, les informaticiens ont crée des langages évolués qui par un petit bout de code ou une seule instruction symbolique pourraient représenter et résumer une séquence de plusieurs instructions en langage machine, et qui puissent fonctionner sur tous les processeurs voire sur toutes les plateformes (Windows, Linux, Mac Os).
Langage évolué ou langage de haut niveau
On désigne par langage évolué tous les langages se situant au dessus des langages de bas niveau (langage machine, assembleur). Le langage évolué est un langage qui accomplit beaucoup pour un minimum de code et d'effort de programmation, il y en a tout un paquet et je cite à titre d'exemple : Pascal, Java, C, C++, C#, Visual Basic (ou VB), Delphi, Python, Perl, PHP, JavaScript, VBscript, ASP etc.
Ces langages sont qualifiés d'évolués, car ils masquent la complexité de la programmation. Contrairement au langage assembleur qui est très proche du langage machine, ils proposent des couches qui rendent le matériel abstrait. Pour écrire un logiciel de messagerie internet, pas besoin de connaître la marque de la carte réseau ou du modem. Encore une autre chose l'assembleur ne se sert pas des structures évoluées comme les boucles (while, for) et les conditions (if, switch) alors que ces dernières font une partie intégrante dans les langages évolués.
Bref la syntaxe des langages évolués est très simplifiée, on y trouve par exemple des mots en anglais (if, do while, switch, integer, string) donc il est plus accessible et compréhensible aux gens que l'assembleur lui même plus accessible que le langage machine. Dans les langages évolués, les commandes sont introduites à l'aide du clavier, à partir d'un programme en mémoire. Elles sont ensuite interceptées par un programme "compilateur", qui les traduit en langage machine.
La famille des langages évolués peut être subdivisée en deux grandes catégories :
-
Les langages de scripts
Un script est une suite de commandes destinées à être exécutées dans leur ordre d'apparition ligne par ligne, instruction par instruction ce qui peut se traduire par une lenteur plus ou moins sensible. A l'instar des langages compilés les langages de scripts emploient aussi des variables, les structures de contrôle (boucles, conditions), quelques exemples : JavaScript, VBscript, PHP, ASP etc. -
Les langages compilés (langages interprétés)
Ces langages sont traduits en langage machine avant leur exécution par un programme compilateur, ces programmes fonctionnent ensuite comme s'ils étaient directement écrits en langage machine. Ce qui se traduit par une plus grande rapidité d'exécution par rapport aux langages interprétés. Quelques exemples : Java, Python, C, C++, Pascal etc.
Donc retentissez qu'un langage compilé est un langage où toutes les instructions sont traduites en code binaire avant d’être exécutées par un compilateur. Un langage interprété est un langage décodé et exécuté instruction par instruction lors de l’exécution du programme.
Récapitulons pour ces trois premiers types de langages : Le langage machine représente le langage dans lequel s’exprime le résultat final d’une compilation de langage assembleur ou d’un langage évolué. Le langage machine ne comporte que des 0 et 1 et il se charge et s'exécute directement par le microprocesseur. D'ailleurs c'est le seul langage compris par l’ordinateur, tous les autres langages sont établis par l'homme pour vulgariser la programmation à l'esprit humain et ne peuvent être exécutés par le processeur qu'après être compilés.
Le langage assembleur est doté d'une vitesse d'exécution plus rapide que les langages évolués, en plus il permet d'agir directement sur le hardware (c'est à dire le matériel comme le processeur ou la mémoire).
Langage de balisage (langage de marquage)
Ces langages reposent sur ce qu'on appelle des balises ou tags, ces derniers sont des étiquettes avec lesquelles on peut étiqueter des données (mots, texte etc.) pour produire un effet chez eux tant en sens (leurs donner du sens : ceci est un paragraphe, ceci est un titre, citation etc.) qu'en rendu visuel (italique, gras, couleur du texte etc.), on peut étiqueter des données en les encadrant par ces balises, parmi ce type de langages il y a le HTML (HyperText Markup Language), le XML, le SGML, XHTML (Extensible HyperText Markup Language). Pour comprendre leur fonctionnement, voici une liste d'exemples en html et xhtml :
- pour mettre en gras un mot ou une phrase on doit l'entourer par les deux balises <b> </b>, tout ce qui sera à l'intérieur de ces deux tags sera mis en gras et tout ce qui est en
dehors sera affiché sans effet :
texte simple <b>tout ce qui est entouré par ces deux balises sera mis en gras</b> texte simple ; - Pour mettre en italique : <i> texte en italique </i> ;
- Pour qualifier du texte comme étant un paragraphe on doit l'entourer par les deux balises <p></p> ;
- Pour signaler une citation, on se sert de la paire : <blockquote></blockquote>.
Notez que les deux premiers exemples concernent la forme (gras, italique etc.) et les deux derniers la sémantique et le sens (paragraphe, citation).
Langages de requêtes
Ces langages qualifient le plus souvent les langages propres aux bases de données, ils sont représentés notamment par le SQL (structured query language) en français langage structuré de requêtes, il permet tout simplement de gérer une base de données par exemple l'interroger, y insérer des données ou en supprimer d'autres, lui demander de faire ressortir des données selon des critères que je lui fixe. On traitera ce langage de manière exhaustive lors du cours PHP/MYSQL.
Toutes mes félicitations vous venez d'apprendre les types de langages informatiques. Vous pouvez célébrer ce grand exploit ![]()
Dans nos prochains tutos on va se focaliser sur les technologies du Web, je ferais en sorte que chacun d'entre vous puisse créer son propre site avec ses propres mains. Chapitre suivant : introduction aux langages HTML, XHTML et CSS.
Inscrivez-vous en une minute !!
Connectez-vous




