《黑客与画家》这本书的中译本出版于年4月,它的作者是美国互联网界创业教父,哈佛大学计算机博士PaulGraham,他的译者是著名blogger、译者阮一峰先生。
这本书在年一上市就受到了广大人民群众的爱戴,我在第一时间拿到纸质书后,通读了两遍,当时感觉很震撼,可以说本书是我近年来读过的最优秀的人文类技术图书,个人非常喜欢,所以在去年在图灵推出多看电子书后,又购买了电子版《黑客与画家》,放到手机和Pad上随翻随看,最近又开始重读。
好书的特点是常读常新,一本好书往往沉淀了作者几十年的岁月,绝不是你草草翻上一遍就可以理解和掌握的。虽然是同样的文字,在不同的时间和环境阅读,往往给你带来不同的启示和感悟。下面是我重读的读书笔记。
Redesign——设计永无止歇
PaulGraham在黑客的第十四章-梦寐以求的编程语言里,写了一节关于Redesign的随笔。什么是好的文字?好的文字来自于不停的修改,好的编程语言和软件产品同样如此,在个人的工作生涯里,我的体会是,再多的修改也不过分。可以说没什么软件产品是完美的,完美主义者都是不断打磨产品以趋近完美。如果不信,那么各位看官可以打开你们一年前写得代码或文章,如果脸红的话就吱一声吧。
同样,如果你想不断的调整自己的设计和实现,那你就需要保证你的工作在某个特定阶段是可持续的。我的建议是无论选择公司,还是在公司内部选择工作,尽可能选择能够长期投入和完善的事情做,如果你半年做一个项目,之后又换成另一个,然后再换,除了积累了一大堆项目经验之外,1、你个人能力没有得到提升,2、你永远无法完成一个优秀的产品。在产品公司,你可以为优化某个算法或Ajax效果花费一个月的时间,这在以单纯做项目或外包的公司是不可想象的。找一家程序员被当做天才和宝贝的公司,去做可持续的产品…..
推荐两段核心文字,大家体会下阮一峰老师的翻译功底:
——为了写出优秀软件,你必须同时具备两种互相冲突的信念。一方面,你要像初生牛犊一样,对自己的能力信心万丈;另一方面,你又要像历经沧桑的老人一样,对自己的能力抱着怀疑态度。在你的大脑中,有一个声音说“千难万险只等闲”,还有一个声音却说“早岁哪知世事艰”。(Youhavetobeabletothinkhowhardcanitbe?withonehalfofyourbrainwhilethinkingitwillneverworkwiththeother.)
——如果你能平衡好希望和担忧,它们就会推动项目前进,就像自行车在保持平衡中前进一样。在创新活动的第一阶段,你不知疲倦地猛攻某个难题,自信一定能够解决它。到了第二阶段,你在清晨的寒风中看到自己已经完成的部分,清楚地意识到存在各种各样的缺陷。此时,只要你对自己的怀疑没有超过你对自己的信心,就能够坦然接受这个半成品,心想不管多难我还是可以把剩下的部分做完。
时间与流行
一种编程语言想要变得流行,最后一关就是要经受时间的考验——《黑客与画家》
时间有时候是很无情的,很多流行的东西,随着时间的流逝将变得面目全非。美貌与时尚如此,技术同样要经历岁月的洗礼。进入21世纪以来,技术热点不断变更,每次的技术更迭,就像流水冲刷河床一样,虚无的流走,沉淀下来的才是有价值的东西,我们要做的就是那些能沉淀下来的东西,这需要去判断和选择。
进入21世纪,从静态语言到动态语言、面向对象编程到函数式编程、从模型驱动设计到领域驱动设计、从SOA到云计算、从BI到大数据、从BS到移动互联,无论技术热点如何变化,站着挣钱的永远是那些踏踏实实做产品和技术的。年SOA火热的时候,每家软件公司和互联网公司都号称自己面向服务了,甚至IBM、BEA等公司为SOA确定了SCA和SDO规范,但3年以后,无人再提SOA,无非就是用开放的技术实现原来的EAI么…
有位在校大学生问,“我们下学期要学习数据库,以后想从事大数据方向,不知道从什么方面学习大数据”。我的建议是,不要被现在大数据的噱头忽悠了,等你两年后毕业出来,可能已经没人提大数据这回事了。如果真的对数据感兴趣,踏踏实实把关系数据库学好,有时间的话再学一门编程语言,掌握数据结构,再有余力学习一些数据挖掘和推荐算法等知识,这就行了,相信我,你没那么多时间!