Was Sprachen beheben
Kevin Kelleher schlug eine interessante Methode vor, Programmiersprachen zu vergleichen: jede anhand des Problems zu beschreiben, das sie löst. Das Überraschende ist, wie viele Sprachen sich auf diese Weise beschreiben lassen und wie gut das funktioniert.
Algol: Assemblersprache ist zu Low-Level.
Pascal: Algol hat nicht genügend Datentypen.
Modula: Pascal ist zu schwach für Systemprogrammierung.
Simula: Algol ist nicht gut genug für Simulationen.
Smalltalk: Nicht alles in Simula ist ein Objekt.
Fortran: Assemblersprache ist zu Low-Level.
Cobol: Fortran ist beängstigend.
PL/1: Fortran hat nicht genügend Datentypen.
Ada: Jeder existierenden Sprache fehlt etwas.
Basic: Fortran ist beängstigend.
APL: Fortran ist nicht gut genug für die Manipulation von Arrays.
J: APL erfordert einen eigenen Zeichensatz.
C: Assemblersprache ist zu Low-Level.
C++: C ist zu Low-Level.
Java: C++ ist ein Klotz. Und Microsoft wird uns vernichten.
C#: Java wird von Sun kontrolliert.
Lisp: Turing-Maschinen sind eine umständliche Art, Berechnungen zu beschreiben.
Scheme: MacLisp ist ein Klotz.
T: Scheme hat keine Bibliotheken.
Common Lisp: Es gibt zu viele Lisp-Dialekte.
Dylan: Scheme hat keine Bibliotheken, und Lisp-Syntax ist beängstigend.
Perl: Shell-Skripte/awk/sed sind nicht genug wie Programmiersprachen.
Python: Perl ist ein Klotz.
Ruby: Perl ist ein Klotz, und Lisp-Syntax ist beängstigend.
Prolog: Programmierung ist nicht genug wie Logik.