Ce que les langages corrigent

Kevin Kelleher a proposé une manière intéressante de comparer les langages de programmation : décrire chacun en termes de problème qu'il résout. La chose surprenante est combien de langages, et à quel point, peuvent être décrits ainsi.

Algol : Le langage assembleur est trop bas niveau.

Pascal : Algol n'a pas assez de types de données.

Modula : Pascal est trop faible pour la programmation système.

Simula : Algol n'est pas assez bon pour les simulations.

Smalltalk : Tout dans Simula n'est pas un objet.

Fortran : Le langage assembleur est trop bas niveau.

Cobol : Fortran est effrayant.

PL/1 : Fortran n'a pas assez de types de données.

Ada : Chaque langage existant manque de quelque chose.

Basic : Fortran est effrayant.

APL : Fortran n'est pas assez bon pour manipuler des tableaux.

J : APL nécessite son propre jeu de caractères.

C : Le langage assembleur est trop bas niveau.

C++ : C est trop bas niveau.

Java : C++ est un bricolage. Et Microsoft va nous écraser.

C# : Java est contrôlé par Sun.

Lisp : Les machines de Turing sont une manière maladroite de décrire le calcul.

Scheme : MacLisp est un bricolage.

T : Scheme n'a pas de bibliothèques.

Common Lisp : Il y a trop de dialectes de Lisp.

Dylan : Scheme n'a pas de bibliothèques, et la syntaxe de Lisp est effrayante.

Perl : Les scripts shell/awk/sed ne ressemblent pas assez à des langages de programmation.

Python : Perl est un bricolage.

Ruby : Perl est un bricolage, et la syntaxe de Lisp est effrayante.

Prolog : La programmation ne ressemble pas assez à la logique.