Kevin Kelleher suggested an interesting way to compare programming languages: to describe each in terms of the problem it fixes. The surprising thing is how many, and how well, languages can be described this way.
Kevin Kelleher 提供了一种很有意思的比较语言的方法：用解决了的问题来描述该语言。令人惊讶的是，竟然有如此多的语言都可以这样很漂亮的表述。
Algol: Assembly language is too low-level.
Pascal: Algol doesn't have enough data types.
Pascal: Algol 的数据类型太少。
Modula: Pascal is too wimpy for systems programming.
Modula: Pascal 系统编程太弱。
Simula: Algol isn't good enough at simulations.
Simula: Algol 不太适合仿真应用。
Smalltalk: Not everything in Simula is an object.
Fortran: Assembly language is too low-level.
Cobol: Fortran is scary.
Cobol: Fortran 太恐怖。
PL/1: Fortran doesn't have enough data types.
PL/1: Fortran 的数据类型太少。
Ada: Every existing language is missing something.
Basic: Fortran is scary.
Basic: Fortran 太恐怖。
APL: Fortran isn't good enough at manipulating arrays.
APL: Fortran 处理数组太弱。
J: APL requires its own character set.
J: APL 需要它自己的字符集。
C: Assemby language is too low-level.
C++: C is too low-level.
Java: C++ is a kludge. And Microsoft is going to crush us.
C#: Java is controlled by Sun.
C# : Java 是Sun的。
Lisp: Turing Machines are an awkward way to describe computation.
Lisp : 用图灵机描述计算过程太笨拙。
Scheme: MacLisp is a kludge.
T: Scheme has no libraries.
T: Scheme 没有库。
Common Lisp: There are too many dialects of Lisp.
Common Lisp: Lisp有太多的方言了。
Dylan: Scheme has no libraries, and Lisp syntax is scary.
Perl: Shell scripts/awk/sed are not enough like programming languages.
Perl : Shell, awk, sed 作为编程语言太弱。
Python: Perl is a kludge.
Ruby: Perl is a kludge, and Lisp syntax is scary.
Ruby : Perl太恐怖，Lisp语法太恐怖。
Prolog: Programming is not enough like logic.