« Informatique au lycée/Programmation et langages » : différence entre les versions
Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n) |
m Robot : remplacement de texte automatisé (-(<|</)source([ \t>]) +\1syntaxhighlight\2) |
||
Ligne 25 :
On distingue aujourd’hui cinq générations de langages.
La '''première génération''' est le langage machine, ou code machine. On parle aussi de langage natif. Il est composé d'instructions et de données à traiter codées en binaire. C'est le seul langage qu'un ordinateur peut traiter directement. Voici à quoi peut ressembler un programme en langage machine :
<
A1 01 10 03 06 01 12 A3 01 14
</syntaxhighlight>
Il s'agit de la représentation hexadécimale d'un programme permettant d'additionner les valeurs de deux cases mémoire et de stocker le résultat dans une troisième case. On voit immédiatement la difficulté d'un tel langage.
Ligne 33 :
La '''deuxième génération''' est le langage assembleur : le code devient lisible et compréhensible par un plus grand nombre d'initiés. Il existe en fait un langage assembleur par type de processeur.
Le programme précédent écrit en assembleur donnerait ceci :
<
MOV AX, [0110]
ADD AX, [0112]
MOV [0114], AX
</syntaxhighlight>
Il reste utilisé dans le cadre d'optimisations, mais a été supplanté en popularité par les langages plus accessibles de troisième génération.
Ligne 47 :
La '''cinquième génération''' de langages sont des langages destinés à résoudre des problèmes à l'aide de contraintes, et non d'algorithmes écrits. Ces langages reposent beaucoup sur la logique et sont particulièrement utilisés en intelligence artificielle. Parmi les plus connus, on trouve [[w:Prolog|Prolog]], dont voici un exemple :
<
frère_ou_soeur(X,Y) :- parent(Z,X), parent(Z,Y), X \= Y.
parent(X,Y) :- père(X,Y).
Ligne 55 :
père(tom, erica).
père(mike, tom).
</syntaxhighlight>
Il en résulte que la demande suivante est évaluée comme vraie :
<
?- frère_ou_soeur(sally, erica).
oui.
</syntaxhighlight>
Ce qui signifie que Sally et Erica sont sœurs. En effet, Sally et Erica ont le même père (Tom).
Ligne 71 :
==== Ada ====
<
with Ada.Text_IO;
use Ada.Text_IO;
Ligne 78 :
Put("Hello world!");
end Bonjour;
</syntaxhighlight>
==== Assembleur X86 sous DOS ====
<
cseg segment
assume cs:cseg, ds:cseg
Ligne 95 :
cseg ends
end main
</syntaxhighlight>
==== BASIC ====
<
10 PRINT "Hello world!"
20 END
</syntaxhighlight>
==== C ====
<
#include <stdio.h>
Ligne 110 :
return 0;
}
</syntaxhighlight>
==== C++ ====
<
#include <iostream>
Ligne 120 :
return 0;
}
</syntaxhighlight>
==== FORTRAN 77 ====
<
PROGRAM BONJOUR
WRITE (*,*) 'Hello world!'
END
</syntaxhighlight>
==== Java ====
<
public class HelloWorld {
public static void main(String[] args) {
Ligne 134 :
}
}
</syntaxhighlight>
==== Javascript ====
<
document.write("Hello world!");
</syntaxhighlight>
==== Python 1 et 2 ====
<
print "Hello world!"
</syntaxhighlight>
==== Python 3 ====
<
print("Hello world!")
</syntaxhighlight>
== La machine de Turing ==
|