查看原文
其他

程序员的三大优点:懒惰、急躁和傲慢

有点小懒惰的 图灵教育 2022-12-23
1987 年的今天,Perl 1.0 发布。
今天是 Perl 语言诞生 35 周年。

忽略一下这张图的时间
Perl  语言发明人 Larry Wall 是一位传奇的黑客、一个风趣幽默的人。他的传世名言——
程序员的三大优点是:懒惰、急躁和傲慢。
在编程圈子的普及程度大概仅次于——
林纳斯大神的 “Talk is cheap. Show me the code.” 
但是,很多人还不太了解大神这句话背后的整套方法论。在多个场合,Larry Wall 将自己的方法论描述为“懒惰、急躁和傲慢”。他说这是一名优秀程序员的三种美德。Larry 解释:
  • 懒惰激励他寻找自动化任务的方法,避免不必要的工作;
  • 急躁使他想快速高效地完成事情;
  • 而傲慢使他有信心应对困难的问题。

Larry 将这套方法在他的知名作品骆驼书(Programming Perl)中详细解释如下:

“We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.”

These virtues are elaborated on as follows:

Laziness

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris. (p.609)

Impatience

The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. (p.608)

Hubris

Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. (p.607)

好了,此刻正是周末的小尾巴,祝大家抓紧愉快!
文章虽然很短,但好作品还是要推荐的
如果你想知道更多如此有趣有料的编程老黄历,抓紧入手编程日历2023!

附0:Larry Wall 简介及 Perl 语言速览

Larry Wall 访谈截图
(我觉得只有这个神态能反映 Larry 大神的内涵)
1954 年,出生于印第安纳州的一个数学和计算机科学世家。
1975 年,从加州大学伯克利分校获物理学学士学位,并于 2 年后获计算机科学硕士学位。毕业后,在劳伦斯伯克利国家实验室做系统管理员。

1987 年 12 月18 日,发布 Perl 1.0 ,这是一种高级编程语言,广泛用于 Web 开发、系统管理和数据操作。Perl 以其灵活性、简单性和强大的正则表达式功能而闻名,因此是处理大量文本或数据的任务的首选。

  • 1987: Perl 1.0 is released
  • 1988: Perl 2.0 is released

  • 1989: Perl 3.0 is released

  • 1991: Perl 4.0 is released

  • 1993: Perl 5.0 is released

  • 1996: Perl 5.002 is released

  • 1998: Perl 5.004 is released

  • 2000: Perl 5.6 is released

  • 2002: Perl 5.8 is released

  • 2004: Perl 5.10 is released

  • 2007: Perl 5.12 is released

  • 2011: Perl 5.14 is released

  • 2014: Perl 5.16 is released

  • 2018: Perl 5.28 is released

  • 2021: Perl 5.32 is release
为了推广 Perl 语言,Larry 撰写了多本关于编程和计算机科学的图书,其中 Programming PerlPerl Cookbook 是  Perl 程序设计方面的知名作品。
除了在 Perl 上的工作,Larry 还通过参与各种开源项目和组织为开源软件社区做出了重大贡献。例如,他曾担任开源倡导组织(Open Source Initiative,OSI)董事会的成员。
为表彰他在开源软件领域的贡献,Larry 被授予互联网名人堂、自由软件推进奖、 O'Reilly 开源奖等奖项与荣誉。
附1:Perl 语言名称的由来
很多时候,大家以为 Perl 是  Practical Extraction and Report Language 缩写,实际上,它背后的故事更有趣儿。Larry 最初打算把语言命名为 Pearl(珍珠),但是,当时已经有了一种叫 Pearl 的编程语言,不得已,Larry 放弃了字母中的 a,以免混淆。
附2:Larry Wall 的图书作品
31 年前,大神写的首本作品 Programming Perl 是编程领域的经典之作:
这本书到 2012 年出版第4版,一直是学习 Perl 的首选参考书。
另外,1998 年,Larry Wall 跟 Tom Christiansen 出版 Perl Cookbook ,这本也是领域内的经典作品。
附3:其他资料
Hacker News 上专门有一篇帖子非常严肃地讨论“懒惰、急躁和傲慢”,有兴趣的朋友可以去看看:Laziness Impatience Hubris 
https://news.ycombinator.com/item?id=23825931
下面是关于 Larry 的一个很棒的访谈:
https://www.youtube.com/watch?v=aNAtbYSxzuA
特别说明:
本篇文章的一小部分内容由 ChatGPT 君操刀。感兴趣的同学可以猜一猜是哪一部分。
还没完!最后——
变得有趣是人类的永恒追求,但是真正实践的人总是少数,
搞一本日历作为电脑伴侣,每天看 2 分钟,
就为变得有趣迈出了那么一小步!
每天一小步,一年一大步
交给《了不起的程序员2023》!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存