读《黑客与画家》有感

中国科学技术大学软件王申雨 原创作品转载请注明出处

    经老师推荐,我入手了有着“硅谷创业之父”之称的保罗·格雷厄姆著作的《黑客与画家》一书。欲读其书,先了解其生平故事。出乎意料,年轻的保罗并不是天赋异禀,专精于计算机,而是有着与我们如今年轻人一样的广泛兴趣:他曾热爱过哲学,涉猎过美术,思维天马行空,甚至一度生活入不敷出。万万没想到,最后他全身心投入计算机事业的理由竟是,为了生计。但是不可否认,保罗年轻时候的“博学”在一定程度上影响了他的计算机事业。此书中诸多融合其他学科的见解,令我获益颇深。

一。

    开篇保罗给我们讲述的是一个有趣的话题:为什么书呆子不受欢迎?答曰:他们的心思在别的地方。在哪呢?在使得他们看起来变得更加不受欢迎的领域上。作者看来,书呆子在一定程度上和聪明的学生是同义词。这可能因为受到文化不同的差异,但我们遵循保罗的观点去审视我们自己,也许也有对的上号的地方。在自己兴趣的方面,我们也许也是文中的“书呆子”。我们“沉溺”于这其中的乐趣,当碰上不能理解此中精髓的同龄人时,大家显得如此格格不入。当我们变成成年人之后,会发现当初或是成为“书呆子”或是成为“不欢迎”书呆子的一员时,都是多么可笑。我们仅仅是在自己的兴趣中探索罢了。“任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心投入。”回顾过去,这也不失为一种独特的体验。

二。。

    黑客与画家?正是被这个书名所吸引,翻到了这一小篇章。大多数的人应该不会把这两者联系到一起。毕竟一个人的精力有限,不会去参悟两个看似不会有交集的领域。在我了解保罗生平后,也只是简单的把他的这两个阶段归咎于人生中偶然的经历,不会有精深的大道理了。读罢此节,我发现自己的理解毕竟太狭隘了。“黑客也是创作者,与画家、建筑师、作家一样。”当你按部就班,毫无创造,那么你就不是一个合格的黑客,或许都不能成为一个合格的程序员工程师。现实里,我们少数人会成为顶尖的黑客,但是从此节得到经验之谈,对我们如何在自己的专业领域取得进展是莫大启发的。

    不要以为我们编写开发一款软件,做的仅仅是编写而已。软件工程的精髓在于开发,而我们在学习以至于在以后的工作中,很可能都只是做一个被动的代码填充者。我们的创意,会因为种种原因而流产,只剩下枯燥的“码写”部分。也许在一定时期内这种模式不能够被改变,但我们必须坚持自己的理念,至少我们有自己的思维,说不定就有厚积薄发的一天。人们无法考核你的工作,甚至误解你的工作,都不是最糟糕的事。更大的危险是你自己也误会自己的工作。

    如果我们想成为真正的软件设计者,我们要热爱设计。你不热爱一件事情,不会愿意把它做的优秀。其次是耐心。正如画家在创作一幅作品的时候,并不是一蹴而就的。他们先图描了画卷的轮廓,然后涂抹枝叶细节。我们不可能在程序毫无框架的时候,完美的设计了程序的所有功能。真正弄清楚整个程序的时候,应当是代码编写的完成时。在这个过程中,我们会不断的调试,修改,发现。这才是我们真正需要学习体会的。不要患得患失,什么知识都想要去学习。也许有很多理论知识,它们其实远没有看起来那么重要。哪个画家在完成绘画时,熟识通每种颜料的成分比?

   这些只不过是此节精髓之一二,还有许多类比不经历过,难以立刻理解,也够我一个时期去体悟了。

三。。。

    在这本书中,我还看到了一个编程语言解析的有趣话题。

    保罗把计算机的所有操作的罗列于一个操作命令清单中,称之为计算机的机器语言。如我们所知,机器语言复杂度高,维护困难。我们发展了汇编语言,如今更是进入了高级语言的时代。在种类众多的高级语言统治下,我们有必要只使用其中的一种吗?作者举出了文艺复兴和古代封建社会的例子进行对比。虽然文艺复兴会引起冲突、不和,但社会却朝着繁荣在发展;古代封建社会固步自封,最后只是一步步的走向死亡。如今,我们可能会用到功能强大的高级语言,即使它的内核或有漏洞,这也不可抹灭高级语言所带来的便利。

    以前不懂开放源码的意义是什么。这不仅仅是便于开发者自己解决一些存在的BUG,更重要的一方面是使得人人都可以参与。虽然自身水平有限,但是得意参与某个功能的BUG修改,感觉同一群志同道合的人一起做一件有意义的事,也许就是大家的开心所在吧。

    在这本书中还有许多精彩的内容,推荐大家自己去阅读。

    最后,以任课老师一句介绍结束,与大家共勉。

    Coding your will。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值