为什么Python对你如此重要?

Fredrik Haard最近发表了一篇“为什么Python对你如此重要”的文章,引起了开发者的热烈讨论。本文对其简要编译。

我相信Python对软件开发人员很重要。现今已经诞生了不少的编程语言,它们都有各自不同的特性:强大者如Lisp,快速如C,运用广泛如Java,论古怪则如Haskell。与这些语言不同,Python是一门比较中庸的编程语言,它将语言的很多特性进行了融合,迄今我还未有其他语言如Python这般协调。

Python知道开发人员阅读代码比编写它花的时间要多得多,因此将精力集中于引导开发者编写易读的代码。当然,Python也能写出令人晦涩(obfuscated)的代码,但是写代码最舒服的方式还是(假如你了解Python)保持适度精炼,即:代码总能明确反映你的意图。这一点很重要。使用Python开发可谓轻而易举。甚至包括许多库,也能用Python完美编写,保证其易读性(你可以比较一下其他语言的框架实现,比如用Java编写的Spring)。

同样Python也意识到对开发人员而言开发速度的重要性。易读而精炼的代码只是一部分,另一部分取决于强大的构造函数,可避免许多繁琐重复的代码。此外,可维护性也是很重要的——代码行数(Line of Code,LoC)在很多度量结果都会中出现,或许没什么用,不过它至少说明了你需要审查多少代码,需要理解多少代码并从中发现问题。

此外,Fredrik Haard还提到了Python的另一个优势——Toolmaking。

快速的软件开发速度、简练的技巧(其他语言开发人员也能轻松掌握Python基本技巧)、庞大的标准库维系了这一优势。任何项目都会遭遇任务自动化任务情况,在我的经验中,用Python写的自动化任务比其他主流语言要快一个数量级——事实上,这也是我学习Python的原因。……

能够轻松开发custom tool其实还包含了另一层意思,即开发和维护custom software也会很容易。这也是为什么,在庞大的Django成为最著名的Python Web框架之后,还是有大量成功的小巧甚至微型框架存在的原因。当使用一门强大的编程语言,拥有大量标准及第三方库的时候,你并不经常需要考虑妥协(trade-off),而这在使用许多现成的(off-the-shelf)大型框架时是必然会遭遇的。

根据Fredrik的观点,编写能够很好契合客户模型而不是一个框架的软件这点很重要。而许多开发人员将时间都耗在了框架配置以及掩盖它们的缺点上,而不是真正的开发。