一坨脓包似的权宜代码,被一群盲目的根本不知IT架构为何物的所谓IT“专业人士”永无休止地复制着,粘贴着。这事儿放在今天你也许很难相信,但就是在这令人无比尴尬的混沌之下,沉睡着美轮美奂的Unix大教堂的遗迹,而Unix恰恰是以设计简约、功能实用、执行优雅而著称于世的。(世间荣耀就此消失……)——摘自<A Generation Lost in the Bazaar>
虽说看过了这几篇文章,但是说实话,由于受到语言的限制,对于文章的主题的确实不能很好的把握,但是还好有一篇是中文翻译的!!!就像救命稻草一般映入眼帘。下面就说说我的理解和体会。
原文的题目是A Generation Lost in the Bazaar,翻译过来就是《有人负责,才有质量:写给在集市中迷失的一代》。
文章的主题显而易见:由于受到开源软件的影响,导致现在的程序员照着这一个模板,一遍又一编的重复童演的东西,仅仅是修改些皮毛,导致目前的专业IT人士缺乏IT的基本知识,而接受过良好的基础训练的人往往会错失这份工作,如此恶性循环下去.文章开头说的很形象,用钉木板这一平常的事情来体现编程是非常简单的,但是这样钉好的模板却没有一点价值,而通过基本功训练,可以掌握到更多用木板做成家具的本领.但是程序员往往不注重这些事情,忽略基本功的培养.
作者进行了一种比喻,将现在程序员所处的现状比成迷失在集市种,而在乱糟糟的软件集市中企图建造教堂,这是引用了Raymond的文章中的比拟.现在的程序员显然高估了自己的能力,就像高估修建集市的农民的能力去修建教堂,没有过硬的技术"简直就是妄想"...
虽说作者的观点有些偏激,但是在某种意义上说,作者一针见血的点出了问题:关于开源之后,代码的重用确实阻碍着计算机软件和编程人员的进步。
关于代码重用的问题,并不能说完全是一无是处,对于初学者,没有足够的经验来独立完成是,通常会借鉴过去的程序,正是因为开源之后,可以接触到源代码,从而更好的去理解,但是,目前的情况是,程序员通常“借阅”之后,顺理成章的将程序化为自己的了,却放弃了改进金额发扬的机会。但是这篇文章却点醒了:代码重用带来的不都是好处,有事会阻碍发展。
文章列举了大量例子:因为代码重用,虽说制作出了自身晚辈且无依赖的包,但是却不知道在反复重用的同时,也造成了极大的浪费——Sam Leffle的graphics/libtiff是在安装www/firefox之前必须安装的122包中的一个,但安装后的firefox浏览器却无法渲染TIFF图片。
文章后面附了许多评论,褒贬不一,作者极力反对集市模式和代码复用,但是个人认为确实过于偏激。适当的代码复用有助于开始阶段的学习和参考,摆脱没有头绪造成的迷茫和困扰。但是,对于如何正确的去借鉴和单纯的抄袭是可以分辨的。在进行代码的复用之后,回过头来,有没有仔细的分析所复用的代码的优点和不足,去粗取精,真正的化为自己所用。代码复用有好的一面也有它不好的一面,过度的代码复用必定会导致泛滥。我们不能完全摒弃别人*,毕竟不是所有人都是单体杀戮兵器,但是也不能永远在混沌中无休止的复制、复制...