梦断代码阅读笔记03
个人感受部分:
01.太过骄傲,总是喜欢自己创造代码的快感,以为拾人牙慧是不齿的行为。
02.其实代码复用是一条捷径,总有人比自己强,他们的代码能够帮助我们更好的完成项目,拾人牙慧其实恰恰是一个人智慧的体现。
03.以后不只偏信自己的个人能力,要适当的相信他人的创造之物,但不能照搬,需要取其精华去其糟粕,将别人的智慧转化为自己的智慧。
读后感:
作为一名程序员,我们该如何看待和处理和软件的关系呢?对于程序员来说,如图对于作家、艺术家以及所有那些在白板一块上开始描绘作品的人一样,项目最有趣的部分往往是最开始的时候。这段话我深有感触,每次无论是写一个网站,还是完成软件大作业,最开始满怀期待开始开工的时候,才是最快乐的时候。越到后面,遇到了技术上的瓶颈,写了许久代码的劳累和烦躁,就觉得写代码真是一件痛苦的事情。引用一句不恰当的话来说就是,人生若之如初见,那该多好啊。
“程序员就像诗人,他的工作几乎全是纯思考”。程序的确"几乎全是纯思考"的产物,但不会永远停留在思考阶段,否则就什么也做不出来了。程序员从思维的沃土上摘取点子,再用代码一行一行的把它实现。
2002年,网络股泡沫刚刚消失。技术工业的冰河时代导致大量程序员失业或者待业,相当多的程序员转而投身开源项目,以维持自身的技能和在外界的露面率,同时挠挠自己的技术之痒。大批程序员赋闲,导致出现了许多新软件,——有小型的项目,也有目标远大的项目。程序员是永不言弃的,他们即使现在被现实狠狠的锤倒,还是想着有朝一日卷土重来,重新再战自己的事业,继续未完成的改变世界的梦想。这就是我喜欢程序员的原因,他们永远乐观幽默,不会轻言放弃。
下面开始我感兴趣的“乐高假设”。当人们梦想着把软件变成流水线工作时,他们常会期盼标准性的插件新西兰学者詹姆斯和罗伯特有时用“后现代程序员”的笔名共同写作,他们把这梦想叫做“乐高假设”:“未来,程序可以将由可复用的部件组合而成。软件部件将在全球范围内提供。软件工程将从编程的窠臼的脱离出来”。我大概明白了作者的意思,我们都玩过乐高玩具,即使没有,小的时候也一定玩过积木,如果各种插件,从架子上取几样零件,拼到一起就是可以使用的软件,再不用去编写大量代码,还错误连篇。这样的假设固然很好,不用再痛苦的编程了。
可现实是想要走向这个编程乌托邦之路的程序员大多发现此路不通。如果软件组件像乐高积木块,那么他们就该细小,不可再分、可被替代;他们互相之间应该更为相像,他们应该只能与有限几种相邻的的组件拼接。然后,当我们仔细观察真实程序时就能发现,真实程序中组件在尺寸上和功能上以及和其他组件的可拼接数量少差异巨大。它们“大小不定,就像不规则的形体,不像乐高积木”,即便如此,还是有很多人向往着乐高假设,花费毕生精力去完成这一假想。
生产出通用构造块式软件包并不容易,这显而易见。尽管屡经失败,乐高之梦仍然在现在编程史上投下长长的影子。对于路上的每一个障碍,一代又一代的程序员总能找到借力方法,避免自行开拓之苦。就是我们现在所说的可复用代码。我们也被老师要求使用github,创建自己的代码库,但这些例程代码库往往是孤岛一群。标准化过程往往略过这个领域;软件界有太多势不两立的标准,举目望去,四顾皆是。不光是技术障碍和经济隔阂把开发者和他们承诺的乐高之地分开,有时人类的天性也来插一脚。没错,优秀的程序员重写或复用,但程序员常以创造为荣,叫他拾人牙慧,无异于抚其逆鳞。有时,软件开发者深受"此处尚未创造"综合征折磨,偏信于自己的技术和所在机构的能力,以至于不相信他人所造之物;有时,他们不肯花时间研究他人的工作,甚至不肯瞥一眼别人的东西是否符合自己的所需,这是我们最大的被诟病的地方,我们太过骄傲,很少谦逊。