O Que As Linguagens de Programação Consertam

Tradução livre do artigo What Languages Fix de Paul Graham para o Português.

Kevin Kelleher sugeriu um jeito interessante de comparar linguagens de programação: descrevê-las em termos dos problemas que elas resolvem. É incrível como muitas linguagens podem ser (muito bem) descritas desta forma.

Algol: linguagem de máquina é muito baixo-nível.

Pascal: Algol não possui muitos tipos de dados.

Modula: Pascal é muito fraco para programar sistemas.

Simula: Algol não é bom o bastante para simulações.

Smalltak: nem tudo em Simula é um objeto.

Fortran: linguagem de máquina é muito baixo-nível.

Cobol: Fortran dá medo.

PL/1: Fortran não tem muitos tipos de dados.

Ada: todas as linguagens existentes são incompletas.

Basic: Fortran dá medo.

APL: Fortran não é bom o bastante para manipular vetores.

J: APL requer um conjunto de caracteres próprio.

C: linguagem de máquina é muito baixo-nível.

C++: C é muito baixo-nível.

Java: C++ é gambiarra e a Microsoft vai nos massacrar.

C#: Java é de posse da Sun.

Lisp: Máquinas de Turing são um jeito esquisito de descrever computação.

Scheme: MacLisp é gambiarra.

T: Scheme não possui bibliotecas.

Common Lisp: há muito dialetos de Lisp.

Dylan: Scheme não possui bibliotecas e Lisp dá medo.

Perl: scripts em shell/awk/sed não são bons o bastante como linguagem de programação.

Python: Perl é gambiarra.

Ruby: Perl é gambiarra e Lisp dá medo.

Prolog: programação não é parecido o bastante com lógica.