编程语言解决的问题
Original2002年3月
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: 编程不够像逻辑。