●数年前,当我们把UNIX比做漆黑的原野,而把有着图形界面的Windows比做是明亮的动物园时,也许忽略了存在于漆黑的原野的另一个世界。习惯了UNIX的开发人员,往往放着图形界面不用,而更愿意在漆黑的原野中摸索。
●我们必须看到,LAMP正在成为继.Net和J2EE之后的第三大平台,而以MySQL为首的开源数据库军团正在对Oracle、DB2和SQLServer等专有软件构成越来越大的威胁。
●要进入这座殿堂,你首先需要学会像超级黑客一样思考。而单单一个Linux操作系统,其源码打印出来却可能如十几本砖头一样厚的书本。
开源基石Eric Raymond | 自由软件之父Stall man | 巨擎Jon Hall |
我们因何而逃避?很多人都会把单调归结为主要原因。如果你不信,不妨做一下这样的实验:把自己的手脚捆住,之后,让别人把一个有漏洞的容器装满水,放到你的头顶,然后任由水滴下,如此反复多日,你一定会因为单调而产生恐惧。事实上,这种方法在古代就已作为一种酷刑而存在,遭受这种酷刑的人最终会因单调而疯狂。再研究下去,我们还不难发现,就做学问而言,不成功的主要原因多半在于我们忍受不了此间的单调。于是,当这种单调的感觉袭来之时,学生逃课,考试失败,直至学业荒废,都变成了可能的事情。由此,对于做学问而言,首要任务是找到一扇门,去躲开这份单调。
我们因何陷入单调的困境
同样的事情在一遍遍上演,如果你痴迷于棋道,你可能被囚禁于十九乘十九的方格中却乐此不疲;如果你沉醉于书本,就只有你自己才能体会得出书中的黄金屋和颜如玉。但在我们的心目中,浪漫与深沉似乎只属于文学与哲学,如此一来,与计算机沾边的学生似乎注定只能在单调中度过他们的大学生涯。在人们的印象里,程序员往往只会在离开公司时才会打破令人窒息的沉默,吐出几个让人费解的词:“我辞职。”而计算机专业的优等生,则保持着多年在自己的书包里把各类课本放在固定位置的习惯。
更为不幸的是,他们在现行的教育体制下,将注定远离某些超级黑客们建造起来的充满了神秘感的宫殿,而生活在别人用函数和接口建立起来的钢筋水泥般冷硬的表层技术中。从计算机技术的发展历程中,我们不难发现,现有的应用完全可以采用已有的技术建立起来,而某些处于垄断地位的超级巨头们为了自己的利益,却非要创造出一些故作高深的技术,让整个行业中的人跟着他们疲于奔命。而这种整个行业都在采用的“奔腾IV”的速度,让它的从业者在不断地学习和工作中,过分地透支了他们的体力。于是,单调和压力不可避免地产生了。而对学生而言,今天的从业者就是他们明天的阴影,这种业界的单调感也自然会潜移默化地影响到在校的学生。由此,我们也就不难想象,为什么一个上班可以玩滑板车的Google公司会受到青年学生如此狂热的追捧,以至于经历了十年寒窗的清华学子竟然为了要加入其中而不惜以应聘厨师助理为代价。
我们似乎正陷入一个怪圈,单调的力量正在如同古代放在最终疯狂了的士兵头上的滴漏一样,消耗着我们的活力。我们要做的,是不得不找到这扇门,以便走出这个单调的怪圈。
超级黑客的宫殿
人们对于道教,往往给出这样的评价,认为它是药铺,平时它可有可无,而只有当我们病魔缠身时,才会突然想起。今天,当我们身陷单调的怪圈时,同样需要找到类似于道教的哲学。
这个时候,我们可能会注意到一群人。数年前,当我们把UNIX比做漆黑的原野,而把有着图形界面的Windows比做是明亮的动物园时,也许忽略了存在于漆黑的原野的另一个世界。习惯了UNIX的开发人员,往往放着图形界面不用,而更愿意在漆黑的原野中摸索。当外面的IT从业界和学生热衷于两年一换的开发工具时,两年时间却被他们用在了只能熟悉一种UNIX上。当我们感叹于自己三十岁以后的归宿时,他们却依然信奉着“三年一小成,五年一大成”的信条。更为奇妙的是,我们再深入下去,会发现我们忽略的不仅是原野,更有这些超级黑客们花费心血建立起来的一座座充满着迷幻色彩的宫殿。可以说,这些宫殿将是我们走出单调的不二法门。同时,我们必须看到,LAMP正在成为继.Net和J2EE之后的第三大平台,而以My SQL为首的开源数据库军团正在对Oracle、DB2和SQL Server等专有软件构成越来越大的威胁。
进入殿堂的钥匙
当超级黑客们构筑起来的圣殿出现在我们的面前时,一切似乎已变得出奇地简单,我们所需要做的仿佛只是抬腿迈入这些殿堂,就可以开始我们充满希望的摆脱单调的旅行。然而,就如同日出的一瞬,光明替代了暗夜所残存的最后一丝阴影一般,接下来的困难却可能在顷刻之间就扫走我们的欣喜。
举例来说,要进入这座殿堂,你首先需要学会像超级黑客一样思考。而单单一个Linux操作系统,其源码打印出来却可能如十几本砖头一样厚的书本,换句话说,为了进入Linux这座殿堂,你需要消化十几本砖头一样的图书。而这仅仅是个开始,为了让你的程序编译顺畅,你可能需要熟悉GCC,为了让你的开发能和别人同步,你需要知道Subversion,为了让你的业务能在圣殿中运行自如,你还要精通Linux+Apache+MySQL+PHP的组合。
于是,你需要走上一条修行的路,而在这个过程中,你同样需要阅读一本又一本直指人心的经典。今天,我们欣喜地发现越来越多的学生正在走进这座圣殿。我们同样需要把这些通往圣殿的经典之作介绍给他们,因为,这些经典之作将是打开殿堂的钥匙。
附录:通往开源圣殿的阶梯
1、《UNIX编程艺术》,《大教堂与集市》的作者Eric Raymond的力作。电子工业出版社出版。
2、《Linux内核源代码情景分析》上下册,国内高手毛德操、胡希明所著的国内第一本介绍Linux内核源码的著作。浙江大学出版社出版。
3、《Linux程序设计权威指南》,于明俭、陈向阳、方汉著。可能开源的后学者已不知于明俭、陈向阳、方汉为何许人物,但翻翻历史,就不难明白曾经的Linux四剑客为什么会威风八面。机械工业出版社出版。
4、《FreeBSD操作系统设计与实现》,Marshall Kirk Mc Kusick和George V.Neville-Neil著。就算你是Linux的铁杆迷,也不要忽视Free BSD的存在,更不要轻视这本国内最全面、最权威的Free BSD著作。人民邮电出版社出版。
5、《Contributing to Eclipse中文版》,Erich Gamma、Kent Beck著。Eclipse你一定听说过,Erich Gamma和Kent Beck的名气你一定也听说过,他们两手联袂打造的只能是经典之作了。中国电力出版社出版。
6、《PostgreSQL7数据库开发指南》,许宏松著。推荐它不为别的,只为我们没有找出第二本讲PostgreSQL的图书。机械工业出版社出版。
7、《MySQL权威指南》,George Reese等著。沾了O’Reilly的光,我们还是把它归入经典之作吧。中国电力出版社出版。
8、《学习Python第二版(英文影印版)》,Mark Lutz、David Ascher著。把它列入经典不仅是因为它的作者在提供有用的实例与详细解释说明之间取得近乎完美的平衡,还在于它是我们所查到的国内少有的几本以Python为内容的图书。东南大学出版社出版。
9、《版本控制之道――使用CVS》,Dave Thomas和Andy Hunt著。是一本好书,而且是我们所能找到的为数不多的一本关于开源版本管理的书。电子工业出版社出版。
10、《PHP和My SQL Web开发》,Luke Welling、Laura Thomson著。很适合开发者的一本入门书。机械工业出版社出版。