Home |
---|
Language.
Fournir des informations à la machine.
Le langage de programmation est un formalisme (généralement textuel) :
On peut distinguer les langages par :
ouvre
(porte)
. On se préoccupe alors plus des événements
qui peuvent survenir dans une application, et de comment ils doivent survenir.porte.ouvre()
. On se préoccupe alors plus des entités
existantes et de leurs relations/interactions.Un langage est constitué de :
Nom | Ada | C++ | C# | Eiffel | Java | JavaScript | Pascal | SmallTalk | Commentaire | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Version/ Fournisseur | GNU | 1 | 1 | ANSI | Borland | |||||||||||
Domaine | Technologie | Produit/ Release | 95 | 4 | 5 | 0 | 2 | 5 | Delphi | |||||||
Exécution | Machine | Machine | CLR | JVM | Interpréteur | Machine | Interpréteur | |||||||||
Compilation | Préprocesseur | Oui | Non | Non | Oui | |||||||||||
Structures de données | Constantes | constant |
final |
const |
||||||||||||
Enumérations | type MonEnum is (A,
B, C); |
enum MonEnum { a,
b, c} |
Non | enum MonEnum { a, b, c } |
Oui | |||||||||||
Numériques | Entiers | var: Integer var: Short_Integer |
[unsigned] char, [unsigned] [long] int |
byte short int long Byte
Short Integer Long |
INTEGER |
byte short int long |
Byte Short Integer Long |
|||||||||
Flottants | Float Long_Float |
float, [long] double |
float Float |
REAL DOUBLE |
float |
Float |
||||||||||
Caractères | Unique | Character |
char (8 bits) |
char |
char |
Character |
||||||||||
Chaîne | String var |
char* |
String |
CHARACTER |
String |
|||||||||||
Booléen | Boolean |
|
boolean Boolean |
|
boolean Boolean |
|||||||||||
Enregistrements | record |
struct |
Classes | Classes | record | |||||||||||
Type génériques | Templates | generic
type MonType |
Oui | var : Classe[ Type] |
Non | Classe<Type> |
Non | Modèles ou "patrons" de classes | ||||||||
OO | Héritage simple | Oui | Oui | Classe1: Classe2 |
Classe1 inherit Classe2 |
Classe1 extends Classe2 |
Non | Oui | Oui | |||||||
Héritage multiple | Non | Oui | Classe1: Interface1, Interface2 |
Classe1 inherit Classe2 Classe3
|
Classe1 implements Interface1,
Interface2 |
Non | Oui | |||||||||
Structures de contrôle | Condition | if (cond) then |
if (cond) ... |
if (cond) ... |
|
if (cond) ... |
if (cond) ... |
if cond then ... |
||||||||
Cas | case var is |
switch (var) { case x: break;
} |
|
|
switch (var) { case val1:
break; case val2: break;
} |
switch (var) { x: break; } |
|
|
|
|||||||
Boucle | Itération | for var in [reverse]
discreteRange loop |
for (init; while;
inc) ... |
foreach (var in col) ... |
|
for (init; while;
inc) ... |
|
for (init; while;
inc) ... |
|
|
|
|||||
Un au moins | do ... while |
|
do ... while |
do ... while |
|
|
|
|||||||||
Tant que | while (cond) ... |
|
while (cond) ... |
while (cond) ... |
|
|
|
|||||||||
Suite | continue |
|
continue |
continue |
|
|
|
|||||||||
Stop | break |
|
break |
break |
||||||||||||
Gestion des erreurs | Exceptions | Oui | Oui | Oui | Non | Oui | Non | Oui | ||||||||
Robustesse | Contrôle des conversions | Non | Oui | Non | ||||||||||||
Contrôle des limites de tableau | Non | Oui | ||||||||||||||
Contrôle division par zéro | Oui | |||||||||||||||
Gestion mémoire | Pointeurs | Oui | Non | Oui | Oui | |||||||||||
Allocation | Automatique | Non | Oui | Non | Non | Non | ||||||||||
Libération | GC | Oui | Non | Oui | Non | Non | Non | Oui | Garantie de robustesse | |||||||
Mise au point | Assertions | assert.h |
Non | Oui |
Nom | BASIC | COBOL | PERL | Commentaire | |||
---|---|---|---|---|---|---|---|
Version/ Fournisseur | Microsoft | ||||||
Domaine | Technologie | Produit/ Release | Visual Basic | ||||
Exécution | Interpréteur | Oui | Oui | ||||
VM | Non | Non | |||||
Machine | Non | ||||||
Compilation | Préprocesseur | ||||||
Structures de données | Constantes | Non | |||||
Enumérations | Non | ||||||
Numériques | Entiers | var% |
32 bits | ||||
Flottants | var! var# |
32 bits | |||||
Caractères | Unique | Non | 32 bits | ||||
Chaîne | var$ |
Suite de 32 bits | |||||
Enregistrements | Non | ||||||
Type génériques | Templates | Non | Modèles ou "patrons" de classes | ||||
Structures de contrôle | Condition | if cond then ... |
|
|
if (cond) { } |
||
Cas |
|
||||||
Boucle | Itération | FOR var=exp TO exp
[STEP exp] |
foreach $var (liste) ... |
||||
Un au moins |
|
||||||
Tant que |
|
||||||
Suite | NEXT var |
|
|||||
Stop | |||||||
Gestion des erreurs | Exceptions | ||||||
Robustesse | Contrôle des conversions | ||||||
Contrôle des limites de tableau | |||||||
Contrôle division par zéro | |||||||
Gestion mémoire | Pointeurs | ||||||
Allocation | Automatique | ||||||
Libération | GC | Garantie de robustesse | |||||
Mise au point | Assertions |
Nom | SQL | OQL | EJBQL | JDOQL | Commentaire | ||
---|---|---|---|---|---|---|---|
Version/ Fournisseur | |||||||
Domaine | Technologie | Release | |||||
Nom | SGML | HTML | XML | Commentaire | ||
---|---|---|---|---|---|---|
Version/ Fournisseur | ||||||
Produit/ Release | ||||||
Domaine | Technologie | FixPack | ||||
Home |
---|