Loading...

言語が解決する問題

Original

2002年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: プログラミングは論理学のようではない。