Document:Un langage veut en corriger un autre

Une définition du Jargon Français.

(Adaptation d'un texte de Paul Graham)

Kevin Kelleher suggéra une façon intéressante de comparer les langages de programmation en décrivant chacun d'eux par les problèmes que ses auteurs tentaient de résoudre. La surprise vient du nombre de descriptions possibles, ainsi que de leur qualité.

ALGOL
le langage d'assemblage est de trop bas niveau.
Pascal
ALGOL n'offre pas assez de types de données.
Modula
Pascal n'est pas assez efficace pour la programmation système.
Simula
ALGOL n'est pas adapté au développement d'un code de simulation.
Smalltalk
en Simula tout n'est pas un objet.
Fortran
ALGOL n'offre pas assez de types de données.
COBOL
Fortran est effrayant. (Par ailleurs certains fans d'Unix affirmaient que Fortran et COBOL sont à l'ordinateur ce que sont le ketchup et la moutarde à un gâteau au chocolat).
PL/1
Fortran n'offre pas assez de types de données.
Ada
quelque chose manque à tout langage existant.
Basic
Fortran est effrayant.
APL
Fortran n'est pas assez bon en traitement de tableaux.
J
APL exige son jeu de caractères spécifique.
C
le langage d'assemblage est de trop bas niveau.
C++
C est de trop bas niveau.
Java
C++ est un kludge. Et Microsoft va nous broyer.
C#
Java est géré par Sun.
Lisp
décrire un traitement en définissant une machine de Turing correspondante est trop lourd.
Scheme
MacLisp est un kludge.
T
Scheme n'a pas de bibliothèques.
Common Lisp
trop de dialectes de Lisp existent.
Dylan
Scheme n'a pas de bibliothèques et la syntaxe de Lisp est effrayante.
Perl
les langages de scripts (shell, awk ou sed) sont trop différents des langages de programmation.
Python
Perl est un kludge.
Ruby
Perl est un kludge et la syntaxe de Lisp est effrayante.
Prolog
la programmation est trop distante de la logique.