Wat Talen Oplossen

Kevin Kelleher stelde een interessante manier voor om programmeertalen te vergelijken: beschrijf elke taal in termen van het probleem dat hij oplost. Het verrassende is hoeveel, en hoe goed, talen op deze manier beschreven kunnen worden.

Algol: Assembly is te laag-niveau.

Pascal: Algol heeft niet genoeg datatypen.

Modula: Pascal is te zwak voor systeemprogrammering.

Simula: Algol is niet goed genoeg voor simulaties.

Smalltalk: Niet alles in Simula is een object.

Fortran: Assembly is te laag-niveau.

Cobol: Fortran is eng.

PL/1: Fortran heeft niet genoeg datatypen.

Ada: Elke bestaande taal mist iets.

Basic: Fortran is eng.

APL: Fortran is niet goed genoeg in het manipuleren van arrays.

J: APL vereist zijn eigen tekenset.

C: Assembly is te laag-niveau.

C++: C is te laag-niveau.

Java: C++ is een kludge. En Microsoft gaat ons verpletteren.

C#: Java wordt gecontroleerd door Sun.

Lisp: Turing Machines zijn een onhandige manier om berekeningen te beschrijven.

Scheme: MacLisp is een kludge.

T: Scheme heeft geen bibliotheken.

Common Lisp: Er zijn te veel dialecten van Lisp.

Dylan: Scheme heeft geen bibliotheken, en Lisp-syntax is eng.

Perl: Shell scripts/awk/sed lijken niet genoeg op programmeertalen.

Python: Perl is een kludge.

Ruby: Perl is een kludge, en Lisp-syntax is eng.

Prolog: Programmeren lijkt niet genoeg op logica.