公司里曾在北美作为产品研发经理的资深人物某日和我闲聊,说到中美程序员的差别,北美的程序员,尤其是发明那些根本性东西比如JAVA, 比如Message机制,用得都是非常简单的办法,一方面,英语作为母语,与程序设计语言更加靠近,比中国的象形文字来的近,另一方面,这些北美的程序员似乎都深谙大道至简的道理,代码都写得很简单,当然问题的思维方式更为系统。相对的来说,国内的技术人员总是习惯把问题复杂化,不仅理解问题复杂化,解法也复杂,有时正是因为没有理解核心代码的设计,反而使得解法更加背道而驰。
《代码之美》这本书,刚好给了一些关于北美(但不限于)的顶级程序员的例子,与其说它是讲代码之美,到不如说是讲他们的思维方式,我们甚至可以窥见他们的价值观,个人的体会是,这本书里面的顶级程序员们体现了以一系列思维习惯值得国内同行参考:
第一:非常认真全面的研究问题/客户需求,比如在为霍金开发只用一个按钮的交互软件时,他们很快意识到按钮不止表达01,按扭的时长可以成为一种模拟输入,从而为长按和短按分别设计更细化的选项,由此简化了后面的设计。
第二:总是希望用一个个案抽象一种模型,并用于更大的范围,前面的程序可以服务给盲人,Google著名的MapReduce算法开始用于统计百万亿网页上的词频率,后来用于所有分布式环境
第三:永远寻求简单的方式来解决问题,不过有个技巧,就是可以把复杂的难题恰当的分割。MapReduce算法体现了一种简约之美,如同我们常讲的中间件,屏蔽一切分布式,普通的程序员都可以依靠MapReduce和GFS来写用于上千台机器的分布式应用。
在另一章开源ERP5的项目中,复杂的ERP项目的一级类仅有五个,Resouce, Node, Path, Movement, Item, 这些概念加上Order和Delivery的业务基本项构成了基础业务模型,这个设计思维有点像说宇宙是四大元素组成的。
另一个不错的案例来自Linux内核小组关于驱动的研究。
这个模型的抽象能力的缺乏,估计是中国工程师的软肋,也是思维复杂化的原因。硅谷软件人才IC(India/China)比比皆是,但能够定义软件行业的,还都是白人。或许,这个删繁入简的抽象能力,早在中国人学语文的时候被虚情假意的形容词淹没了。
第四:对于技术难题的灵感需要等待,从这本书看起来,软件天才是不存在的,几位顶级程序员都遇到一筹莫展的问题,有些几个月也没有解法,有的是某次喝咖啡的灵光一闪,或者干脆关键的程序都是在喜马拉雅山下的山村写的。
第五:他们都怀有程序改变世界的信心,在关于安全通讯的一章结尾,作者深信他们对于世界的民主化在做贡献,在他们看来:人类文明的代码,越来越需要程序员对其进行重新编程,然后重新接入社会这个操作系统中。比如,基因序列分析,商业软件,计算机建模,更不要说互联网上的多次革命,Email, Blog, SNS, VoIP。
这下理解为什么Google敢于对抗各国政府。
一本很值得细读的书,只要不抱求偏方的心态,读者自有所得。
顶级程序员的思维方式--评《代码之美》
对“顶级程序员的思维方式--评《代码之美》”的回应
《代码之美》热门书评
-
顶级程序员的思维方式--评《代码之美》
45有用 3无用 初学者 2010-10-05
公司里曾在北美作为产品研发经理的资深人物某日和我闲聊,说到中美程序员的差别,北美的程序员,尤其是发明那些根本性东西比如JAVA, 比如Message机制,用得都是非常简单的办法,一方面,英语作为母语,与程序设计语言更...
-
经典巨著
11有用 0无用 这里没有一言堂 2008-10-16
有幸读到《Beautiful Code》的英文版,现在又出了中文版,便急着从China-pub上抢了首发的书来看,随便写写。 这不是一本教科书(Text Book)或者说,拿这个来当教科书会是很失败的选择,...
-
作者还算可以,读者都是猪头
6有用 7无用 乱军中取尔三观 2010-10-06
真不知道这一大群人是怎么把这书读完的,还在豆瓣上写书评打分,p144这样鸡巴大一个bug都没人看出来,出版都tm三年了还没人提交errata。p144第一个函数定义中的if的第一clause应该改成left.arity !== "function"。没看见上一页prefix(&q...
-
失望之极
4有用 35无用 滞留英吉利 2008-10-26
内容平平。没有太多实质内容,完全没必要印刷成书,浪费读者的时间。如果大家有兴趣可以在网上看看足以。http://www.infoq.com/cn/minibooks/beautiful-code还有一点我想应该让国内读者了解:这本书的所有稿酬都捐给了人权组织大赦国际(Amnesty Internat...
-
代码之美,只因爱的太深沉
3有用 0无用 冰糖君 2013-10-21
一直都很钟爱O‘Reilly的书(当然,英文太烂,看的大部分是被机工给翻译成中文的),无论是内容还是书页的质感,但正如你感觉到的一样O‘Reilly的书价格都不菲,至少比绝大多数国内类似内容类似页数的书要贵(难道还有关税这一说法),LZ穷于是大部分读物都只能是图书馆借阅一下,很少做收藏。《代码之美》...
书名: 代码之美
作者: Grey Wilson
出版社: 机械工业出版社
原作名: Beautiful Code: Leading Programmers Explain How They Think
译者: 聂雪军
出版年: 2008年09月
页数: 599
定价: 99.00元
装帧: 平装
丛书: O‘Reilly-“之美”系列
ISBN: 9787111251330