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.