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.