Featured image of post 编程语言解决了什么问题

编程语言解决了什么问题

通过分析每种编程语言解决的问题,深入理解编程语言的发展历程。

📚 返回 Paul Graham 文章目录

编程语言解决了什么问题

Kevin Kelleher提出了一个有趣的比较编程语言的方法:描述每种语言解决了什么问题。令人惊讶的是,有多少语言,以及如何很好地可以用这种方式来描述。

Algol:汇编语言太底层了。

Pascal:Algol的数据类型不够多。

Modula:Pascal对于系统编程来说太弱了。

Python: Modula-3太吓人了。

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控制。

Javascript: Java太吓人了。

Lisp:图灵机是描述计算的笨拙方式。

Scheme:MacLisp是个大杂烩。

T:Scheme没有库。

Common Lisp:Lisp方言太多了。

Dylan:Scheme没有库,而且Lisp语法太吓人。

Curl: Lisp语法太吓人,而且XML是多余的。

Arc: Scheme没有库,而且两者都可以更简洁。

Perl:Shell脚本/awk/sed不够像编程语言。

Python:Perl是个大杂烩。

Ruby:Perl是个大杂烩,而且Lisp语法太吓人。

Prolog:编程不够像逻辑。

还有很多语言我无法用这种方式来描述。对于列表中缺失的任何语言,欢迎提供建议。

我寻找的并不是语言设计者的原始动机(Smalltalk最初是为儿童设计的),而是语言最初占据的利基。这种语言对它的第一批用户有什么吸引力?

英文版:paulgraham.com/fix.html|中文版:HiJiangChuan.com/paulgraham/015-what-languages-fix

📚 返回 Paul Graham 文章目录

更新记录: