Roam 番外:Clojure 悖论

Posted Roam 沙之书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Roam 番外:Clojure 悖论相关的知识,希望对你有一定的参考价值。

之前,Conor 在  中解释 Roam 为什么要雇佣 Clojurians,说具体原因 Paul Graham 在 “Python 悖论” 这篇文章里都已经说了

特地翻出这篇 2004 年的旧文,好好看了一遍,看完感觉真是牛,相隔 16 年,文中的思想毫不过时,难怪阮一峰说:在我眼里,Paul Graham 其实更是一个思想家。

把标题和文中的 Python 换成 Clojure,读起来不会有任何违和

简单来说,Roam 刻意选择 Clojure 编程语言,就是为了招聘更好的程序员,并和 Clojure 的优秀社群一起,给这艘驶往人类思想星辰大海的航船一个强劲动力





Python 悖论

2004 年 8 月

在最近的一次谈话中,我说了一些让很多人不爽的话:你可以让更聪明的程序员去做 Python 项目,而不是 Java 项目。

我不是说 Java 程序员很笨。我的意思是说 Python 程序员很聪明。学习一门新的编程语言是很费劲的。而且人们学习 Python 并不是因为它能让他们找到一份工作,他们学习它是因为他们真正喜欢编程,并对他们已经知道的语言不满意。

这就使得他们成为公司应该雇佣的程序员。因此,由于没有更好的名字,我将称之为 Python 悖论:如果一家公司选择用一种比较深奥的语言来写软件,他们将能够雇佣到更好的程序员,因为这只会吸引那些关心学习它的人。而对程序员来说,悖论更为明显:如果你想找到一份好工作,要学的语言是人们不仅仅为了找工作而学习的语言。

到目前为止,只有少数公司聪明地意识到了这一点。但这里也有一种选择:他们正是程序员最想为之工作的公司。比如说 Google。他们在刊登 Java 编程工作广告时,也希望应聘者有 Python 经验。

我的一个朋友几乎懂得所有广泛使用的计算机语言,他在大部分项目中都用 Python。他说主要原因是他喜欢 Python 写出的代码的样子。这似乎是选择一种语言而不是另一种语言的轻佻理由。但它并不像听起来那么轻浮:当你编程时,你花在阅读代码上的时间比写代码的时间要多。你会像雕塑家处理泥块一样,把源代码碎片推来推去。所以,一个让源代码变得丑陋的语言对于一个严谨的程序员来说是令人恼火的,就像一个雕塑家看到一个充满瑕疵的作品一样。

一提到丑陋的源代码,人们当然会想到 Perl。但 Perl 表面上的丑陋并不是我所说的那种。真正的丑陋不是看起来粗糙的语法,而是不得不用错误的概念来构建程序。Perl 看起来像是一个卡通人物在骂人,但某些地方它有超越 Python 的理念。

到目前为止,无论如何。当然,这两种语言尽管设计目标不同。但它们和 Ruby(还有 Icon、Joy、J、Lisp 和 Smalltalk) 一样,都是由真正关心编程的人创造和使用的。而那些人往往是做得很好的人。


以上是关于Roam 番外:Clojure 悖论的主要内容,如果未能解决你的问题,请参考以下文章

Clojure经典实例 PDF下载

Clojure 类型提示,无法解析类名 clojure.core$double

Clojure基础课程2-Clojure中的数据长啥样?

Clojure基础课程2-Clojure中的数据长啥样?

《Learn Clojure》直播第二期:Clojure 数据类型介绍

Lein Clojure 1.3 与 Clojure 1.2.1