What Languages Fix
Kevin Kelleher suggested an interesting way to compare programming languages: to describe each in terms of the problem it fixes.
Kevin Kelleher 提出了一种比较编程语言的有趣方法:根据每种语言所解决的问题来描述它们。
The surprising thing is how many, and how well, languages can be described this way.
The surprising thing is how many, and how well, languages can be described this way.
Algol: Assembly language is too low-level.
Algol:汇编语言太低级了。
Pascal: Algol doesn't have enough data types.
Pascal:Algol 没有足够的数据类型。
Modula: Pascal is too wimpy for systems programming.
Modula: Pascal is too wimpy for systems programming.
Python: Modula-3 is scary.
Python:Modula-3 很可怕。
--> Simula: Algol isn't good enough at simulations.
--> Simula:Algol 在模拟方面还不够好。
Smalltalk: Not everything in Simula is an object.
Smalltalk: Not everything in Simula is an object.
Fortran: Assembly language is too low-level.
Fortran:汇编语言太低级。
Cobol: Fortran is scary.
Cobol:Fortran 很可怕。
PL/1: Fortran doesn't have enough data types.
PL/1:Fortran 没有足够的数据类型。
Ada: Every existing language is missing something.
Ada:每种现有的语言都缺少一些东西。
Basic: Fortran is scary.
基础:Fortran 很可怕。
APL: Fortran isn't good enough at manipulating arrays.
APL: Fortran isn't good enough at manipulating arrays.
J: APL requires its own character set.
J:APL 需要它自己的字符集。
C: Assembly language is too low-level.
C:汇编语言太底层了。
C++: C is too low-level.
C++:C 太低级了。
Java: C++ is a kludge.
Java:C++ 是一个拼凑品。
And Microsoft is going to crush us.
微软将会碾压我们。
C#: Java is controlled by Sun.
C#:Java 由 Sun 控制。
<!-- Javascript: Java is scary.
<!-- Javascript:Java 很可怕。
--> Lisp: Turing Machines are an awkward way to describe computation.
--> Lisp:图灵机是描述计算的一种尴尬的方式。
Scheme: MacLisp is a kludge.
方案:MacLisp 是一个拼凑品。
T: Scheme has no libraries.
T:Scheme 没有库。
Common Lisp: There are too many dialects of Lisp.
Common Lisp:Lisp 的方言太多了。
Dylan: Scheme has no libraries, and Lisp syntax is scary.
Dylan: Scheme has no libraries, and Lisp syntax is scary.
Curl: Lisp syntax is scary, and XML is redundant.
Curl:Lisp 语法很可怕,而 XML 是多余的。
Arc: Scheme has no libraries, and both could be denser.
Arc:Scheme 没有库,而且两者都可以更密集。
--> Perl: Shell scripts/awk/sed are not enough like programming languages.
--> Perl:Shell 脚本/awk/sed 还不够像编程语言。
Python: Perl is a kludge.
Python:Perl 是一个拼凑品。
Ruby: Perl is a kludge, and Lisp syntax is scary.
Ruby:Perl 是一个拼凑品,而 Lisp 语法则很可怕。
Prolog: Programming is not enough like logic.
Prolog:编程还不够逻辑。
<!-- There are a lot of languages I haven't been able to figure out how to describe this way.
<!-- 有很多语言我还没能弄清楚如何以这种方式描述。
Suggestions would be appreciated about any languages missing from the list.
对于列表中缺少的任何语言,我们将不胜感激。
What I'm looking for is not exactly what
我正在寻找的并不完全是
motivated the language designer (Smalltalk was originally intended for children) but what niche the language first lodged in.
语言设计者的动机(Smalltalk 最初是为儿童设计的),但该语言首先定位于什么领域。
What was the appeal of the language to its first users?
该语言对其第一批用户的吸引力是什么?
-->
-->