Lo que los Lenguajes Solucionan

Kevin Kelleher sugirió una forma interesante de comparar lenguajes de programación: describir cada uno en términos del problema que soluciona. Lo sorprendente es cuántos, y cuán bien, se pueden describir los lenguajes de esta manera.

Algol: El lenguaje ensamblador es demasiado básico.

Pascal: Algol no tiene suficientes tipos de datos.

Modula: Pascal es demasiado blando para la programación de sistemas.

Simula: Algol no es lo suficientemente bueno en simulaciones.

Smalltalk: No todo en Simula es un objeto.

Fortran: El lenguaje ensamblador es demasiado básico.

Cobol: Fortran da miedo.

PL/1: Fortran no tiene suficientes tipos de datos.

Ada: A todos los lenguajes existentes les falta algo.

Basic: Fortran da miedo.

APL: Fortran no es lo suficientemente bueno manipulando arrays.

J: APL requiere su propio conjunto de caracteres.

C: El lenguaje ensamblador es demasiado básico.

C++: C es demasiado básico.

Java: C++ es un arreglo improvisado. Y Microsoft nos va a aplastar.

C#: Java está controlado por Sun.

Lisp: Las Máquinas de Turing son una forma incómoda de describir la computación.

Scheme: MacLisp es un arreglo improvisado.

T: Scheme no tiene librerías.

Common Lisp: Hay demasiados dialectos de Lisp.

Dylan: Scheme no tiene librerías, y la sintaxis de Lisp da miedo.

Perl: Los scripts de shell/awk/sed no se parecen lo suficiente a los lenguajes de programación.

Python: Perl es un arreglo improvisado.

Ruby: Perl es un arreglo improvisado, y la sintaxis de Lisp da miedo.

Prolog: La programación no se parece lo suficiente a la lógica.