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: 编程还不够像逻辑。
![]() | ||||||
![]() | ![]() | 日文译文![]() | ![]() | ![]() | ![]() | 法文译文![]() |
![]() | ||||||
![]() | ||||||
![]() | ![]() | 葡萄牙文译文![]() | ||||
![]() |

