星期三, 九月 24, 2008

[Geekland]程序员的乐观性、emacs的org模式的和wiki、Newton的利爪

alas,我自己都觉得这个名字太长了。

-------------------谦逊的分割线---------------------------

程序员群体天生就是一个乐观的群体。但是且慢,真的是这样吗?让我们来看看有哪些表现。

  • 如果你熟悉社区,那么你对呆伯特漫画系列和xkcd webcomic一定不会陌生。
  • 随便找一篇程序员写给程序员看的文档,你会有怎样的印象呢?比如这篇正则表达式的教程,里面有什么呢?

除非你是超人 :)

要么你是一个天才,要么,你不是地球人

IP地址中每个数字都不能大于255,大家千万不要被《24》第三季的编剧给忽悠了...

地球人,是不是觉得这些术语名称太复杂,太难记了?我也和你一样。知道有这么一种东西就行了,它叫什么,随它去吧!“无名,万物之始...”

...god

怎么样,有点感觉了吧。是不是有点...扯

ok, 看过了事实,让我们一起来想想为什么。

  • 程序员写code非常枯燥,再不给自己找点乐子,就真的要崩溃了
  • 程序员是一群高智商的群体,并且有文化,为了体现优越性,有足够的理由表现一些风度,而humors就是最好的表现形式
  • 我为什么要写程序员的乐观性,¥%……—*#

--------------restart...loading...----------------------------

最近因为某种原因,阅读了人月神话,非常非常棒的一本书,其中有这样的一节The Second-system Effect, 大意是说一般人在软件的第一版中小心谨慎,第二版中就要大胆的多了,多半会按完美主义者的做法去添加一切稀奇古怪的想法,这个往往会使软件的开发步入一个泥塘,最危险的系统。为什么会有所谓的second-system effect呢?Brooks在随后的经典的没有银弹这篇轮文中指出软件开发之所以困难的根本原因是系统就是这么复杂,软件的核心就是模拟,比方我们说打一个电话,真正的发生是在电路接通时候,我们需要把这个物理过程映射到软件系统中,同时还要模拟这个过程中发生的逻辑。

然而,不幸的是,大多数程序员都没有意识到系统的复杂性,也就是程序员有说盲目的乐观性,这是因为(下面的是一种典型的心理学观念):

  • 软件系统实在太复杂了,远比我们想象的更复杂,然而,进化论给与我们的本能使得我们人类天生具有这样的倾向:把过分简单的事物复杂化,同时也把过分复杂的事物简单化。也就是说,在应当悲观的时候我们往往比我们想象的要乐观一点,而在应当乐观的时候我们往往又要比我们想象的要悲观一点。对于程序员来说,不幸的是,我们往往要面对的大多数现实都是悲观的:-(
  • 软件过程正如很多人指出的那样,是类似于写作,绘画一样的创造的过程(不难理解为什么The Element Of Style这样一本指导写作的书在程序员和geek那里被奉为圭皋了^-^)。在我看来,创造的过程是带着惊喜和呵护的心情的,带着一种添砖加瓦的态度,是一种建设者的心态,不难理解为什么这种手工艺创造者对于现实多半会带着一种乐观大于悲观的态度了。同时,程序员和作家、画家或者音乐家之间最大的区别是,程序员要创造的世界几乎就是一个真实的世界,类似于造物主的工具让程序员有了从“无”到有的能力。Alas,造物主。也许程序员的成就感要来得强烈和自然一点吧:~)

1 条评论:

Unknown 说...

http://powazek.com/posts/1655