言語が解決する問題
Original2002年3月
Kevin Kellehnerは、プログラミング言語を比較する興味深い方法を提案しました。それは、各言語が解決する問題を記述することです。驚くべきことに、多くの言語がこの方法で的確に記述できるのです。
Algol: アセンブリ言語は低レベルすぎる。
Pascal: Algolはデータ型が不足している。
Modula: Pascalはシステムプログラミングには弱すぎる。
Simula: Algolはシミュレーションに適していない。
Smalltalk: Simulaのすべてがオブジェクトではない。
Fortran: アセンブリ言語は低レベルすぎる。
Cobol: Fortranは恐ろしい。
PL/1: Fortranはデータ型が不足している。
Ada: 既存の言語はすべて何かが欠けている。
Basic: Fortranは恐ろしい。
APL: Fortranは配列の操作に適していない。
J: APLは独自の文字セットを必要とする。
C: アセンブリ言語は低レベルすぎる。
C++: Cは低レベルすぎる。
Java: C++は補修の必要な言語。そしてMicrosoftに押し潰されそうだ。
C#: Javaは Sunに支配されている。
Lisp: チューリング機械は計算を記述する方法として不便である。
Scheme: MacLispは補修の必要な言語。
T: Schemeにはライブラリがない。
Common Lisp: Lispには方言が多すぎる。
Dylan: Schemeにはライブラリがなく、Lispの構文が恐ろしい。
Perl: シェルスクリプト/awk/sedはプログラミング言語として不十分である。
Python: Perlは補修の必要な言語。
Ruby: Perlは補修の必要な言語で、Lispの構文が恐ろしい。
Prolog: プログラミングは論理学のようではない。