Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Dossier : 10 questions sur les langages de programmation
(Article écrit par Edgar Pixel et extrait de Tilt - octobre 1987)
|
|
Les ordinateurs, c'est comme les personnalités difficiles, il faut savoir leur parler !
Peut-on utiliser un ordinateur sans langage ?
Oui, bien sûr, il suffit de rentrer toutes les instructions une à une. Il faut pour cela connaître
parfaitement la machine et chacun de ses processeurs avec ses registres, ses instructions,
ses modes d'adressage. La programmation s'effectue en binaire. La démarche est démente.
Cela dit, on peut malgré tout prétendre qu'il s'agit de programmation en "langage machine",
auquel cas, chaque fois que quelqu'un programme, on décide d'appeler "langage" le moyen de
communication avec la machine. Alors la question est absurde et tout ordinateur qui tourne
utilise de fait un langage.
Les jeux utilisent quel langage ? Et les programmes professionnels ?
Les jeux s'écrivent en BASIC à moins qu'ils soient programmés directement en langage d'assemblage,
proche du langage machine. On pourrait aussi utiliser le C ou le Pascal. Cobol est réservé à la gestion.
Lisp ou Prolog à la recherche et à l'Intelligence Artificielle, Ada pourrait servir à tout,
notamment à la gestion. Un jeu logique, comme La Tour De Hanoï est programmable dans tous
les langages de programmation.
Comment fonctionne un langage ?
Le programmeur rédige le code source (celui des listings), ce code source est traduit en code objet, c'est-à-dire
en langage machine par un programme traducteur, appelé interpréteur ou compilateur. Certains langages sont
interprétés, d'autres sont compilés. BASIC, un langage interprété de naissance, possède des variantes compilées,
comme GFA Basic. Symétriquement, des interpréteurs ont été mis au point pour des langages compilés comme le C.
L'interprétation facilite la programmation, la compilation rend possible des exécutions rapides.
Pourquoi l'ordinateur refuse-t-il les erreurs de syntaxe ?
C'est qu'un ordinateur manque d'intelligence et de sens commun. Dites "avance !"
à un être humain, il ou elle avancera de quelques pas, ou mettra la voiture en
marche ou que sais-je encore, en fonction du contexte. L'ordinateur ne comprend pas "avance !",
ni "avance le curseur !", il lui faut savoir de combien avancer ce curseur.
De plus, il comprend ou il ne comprend pas. Il ne tranchera jamais au hasard
pour exécuter une commande ambiguë, mais diagnostiquera une erreur.
L'assembleur et le langage machine sont-ils des langages à part entière ?
Le langage machine n'est pas un langage comme les autres puisque le code objet se confond
avec le code source. Programmer en langage machine signifie rédiger directement le code objet.
L'assembleur fonctionne comme les autres langages puisque le programme d'assemblage est un
compilateur, mais particulièrement simple, ressemblant à un simple dictionnaire où un mot
renverrait à une instruction unique et vice-versa.
Qu'est-ce qu'un langage de haut niveau ?
Ce sont les langages dont les mots ne correspondent pas directement à des instructions des
processeurs mais sont conçus pour permettre la programmation la plus aisée et rationnelle
possibles. Un mot du langage peut générer plusieurs lignes de code objet.
Qui décide du contenu d'un langage ?
Leurs inventeurs. Ça se complique lorsque coexistent de multiples versions différentes.
Ainsi, des tentatives de normalisation de certains langages ont parfois vu le jour.
Est-ce que toutes les machines comprennent tous les langages ?
Une machine comprend un langage si quelqu'un a programmé une version de ce langage adaptée
aux processeurs de la machine en question. L'objectif recherché est de produire des versions
du langage qui ne présentent aucune différence pour le programmeur qui connaîtrait déjà
le langage sur une autre machine. Quelques obstacles existent :
- Les machines ne savent pas tout faire : ainsi, des langages pourraient prévoir des instructions
mathématiques qui dépasseraient les capacités de calcul des processeurs.
- Un langage peut occuper trop d'octets pour la mémoire de la machine.
- L'assembleur, par définition, diffère selon les processeurs et est, de
ce fait, rigoureusement intransportable. Ainsi l'assembleur du processeur 8086 du PC
n'est pas transportable sur un Amiga qui exige l'assembleur de son processeur, le 68000.
On dit parfois que des logiciels se programment comme des langages (des grosses gestions de
fichiers par exemple) alors DBase III+ sur IBM est-il un langage comme BASIC ou Pascal ?
Oui, mais il n'est pas universel. Il ne permet de faire que de la gestion de fichiers. C'est
un méta-langage, une instruction d'un programme de bases de données peut déclencher un programme
complexe, lui-même écrit dans un langage évolué.
Qu'appelle-t-on donc langage ?
C'est un programme un peu particulier. Il permet de commander l'ordinateur en utilisant des
commandes brèves et faciles à comprendre par le programmeur, sans trop descendre dans les
détails du fonctionnement de la machine.
|