言語が解決する問題
OriginalMarch 2002
Kevin Kelleher は、プログラミング言語を比較する興味深い方法を提案しました。それは、各言語を解決する問題の観点から記述することです。驚くべきことに、多くの言語が、この方法でうまく記述できることがわかります。
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++ はごちゃごちゃしている。それに、マイクロソフトが私たちを潰そうとしている。
C#: Java は Sun によって制御されている。
Lisp: チューリングマシンは計算を記述するためのぎこちない方法である。
Scheme: MacLisp はごちゃごちゃしている。
T: Scheme にはライブラリがない。
Common Lisp: Lisp の方言が多すぎる。
Dylan: Scheme にはライブラリがなく、Lisp の構文は恐ろしい。
Perl: シェルスクリプト/awk/sed はプログラミング言語に似ていない。
Python: Perl はごちゃごちゃしている。
Ruby: Perl はごちゃごちゃしていて、Lisp の構文は恐ろしい。
Prolog: プログラミングは論理に似ていない。