為什么會(huì)有這么多的編程語(yǔ)言
朋友 Kevin Kelleher 向我建議了一個(gè)比較各種編程語(yǔ)言的有趣方法:看看它們各自都是來(lái)解決什么問(wèn)題的。可問(wèn)題是,像這樣去描述,你可以羅列出無(wú)數(shù)的語(yǔ)言,而且你可以使用各種的角度來(lái)描述。
Algol: 匯編語(yǔ)言太低級(jí)了。
Pascal: Algol 語(yǔ)言缺少足夠的數(shù)據(jù)類型。
Modula: Pascal 語(yǔ)言對(duì)于系統(tǒng)應(yīng)用編程來(lái)說(shuō)太弱了。
Simula: Algol 語(yǔ)言在仿真模擬方面不夠好。
Smalltalk: Simula 語(yǔ)言里并不是所有的東西都是對(duì)象。
Fortran: 匯編語(yǔ)言太低級(jí)。
Cobol: Fortran 語(yǔ)言不好用。
PL/1: Fortran 語(yǔ)言缺少足夠的數(shù)據(jù)類型。
Ada: 所有現(xiàn)存的編程語(yǔ)言都有缺失。
Basic: Fortran 語(yǔ)言不好用。
APL: Fortran 語(yǔ)言在數(shù)組操作上不好用。
J: APL 語(yǔ)言需要自己的字符集。
C: 匯編語(yǔ)言太低級(jí)。
C++: C語(yǔ)言太低級(jí)。
Java: C++太笨重。微軟在壓迫我們。
C#: Java 是 Sun 公司控制的。
Lisp: 用圖靈機(jī)方式描述計(jì)算機(jī)計(jì)算太別扭。
Scheme: MacLisp 語(yǔ)言太笨拙。
T: Scheme 語(yǔ)言沒(méi)有程序庫(kù)。
Common Lisp:Lisp 語(yǔ)言的方言太多了。
Dylan: Scheme 語(yǔ)言沒(méi)有程序庫(kù),Lisp 語(yǔ)法太瘋狂。
Perl: Shell 腳本/awk/sed 都不像編程語(yǔ)言。
Python: Perl 語(yǔ)言太讓人受不了。
Ruby: Perl 語(yǔ)言太笨拙,Lisp 語(yǔ)法太瘋狂。
Prolog: 編程不夠邏輯。
英文原文鏈接:What Languages Fix