どの言語を修正するか
Original2002年3月
Kevin Kelleher 氏は、プログラミング言語を比較する興味深い方法を提案しました。それは、それぞれの言語を、それが解決する問題の観点から説明するというものです。驚くべきことは、この方法で説明できる言語がいかに多く、いかに優れているかということです。
**Algol:**アセンブリ言語は低レベルすぎます。
Pascal: Algol には十分なデータ型がありません。
Modula: Pascal はシステムプログラミングには弱すぎます。
Simula: Algol はシミュレーションには十分ではありません。
Smalltalk: Simula 内のすべてがオブジェクトというわけではありません。
**Fortran:**アセンブリ言語は低レベルすぎます。
Cobol: Fortranは怖いです。
PL/1: Fortran には十分なデータ型がありません。
**Ada:**既存の言語にはどれも何かが欠けています。
基本: 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:**プログラミングだけではロジックとしては不十分です。