各种编程语言们都能干什么

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是被Oracle(Sun)控制的Lisp: 用图灵机形式描述太复杂笨拙Scheme: MacLisp太混乱T: Scheme没有函数库Common Lisp: 有太多的Lisp的语言影响Dylan: Scheme没有函数库,语法太乱Perl: 不太能满足编程的需求Python: Perl太恐怖Ruby: Perl太恐怖,且Lisp语法太恐怖Prolog: 其他语言在逻辑等方面不够强大原文 paulgraham.com/译文 ourjs

Smalltalk能干什么……