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: Shell 脚本 /awk/sed 不够像编程语言。
Python: Perl 是一个混乱的东西。
Ruby: Perl 是一个混乱的东西,而且 Lisp 的语法让人害怕。
Prolog: 编程不够像逻辑。