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.