(本文是之前我在人人网上写的一系列小说,尚未完成,先把目前写的贴到这里吧)
零
“你知道吗?我的孩子,我们对主宰这个世界的神秘法则几乎一无所知。” ——教皇儒略三世
(本故事纯属胡扯,如有雷同纯属巧合)
雷哥站在软院一楼的圆厅中,腰沉三寸,足踏两仪,双手自然地搭在身体两侧,不知情的会以为他要跳骑马舞,实际上这是一种极其高深的架势。《五轮书》 里管它叫“无构之构”,《笑傲江湖》里说这是“无招胜有招”,我却知道,这乃是雷哥从C++的虚函数里悟出来的架势,就叫做“虚函数之阵”。
雷哥左面的人身长八尺,着西装革履,戴玄色墨镜,望之若雨果・维文,只是右手拿着一杆长枪,看来与他的一身装束极不协调。雷哥右面的人则是后面弯腰 驼背,前面大腹便便,头上的大胡子和长发散乱地纠结在一起,看来似乎想要模仿Richard Stallman的打扮,却整得神形两不似,只像是屌丝;更蛋疼的是,现在明明是大冬天,这家伙还是穿着一身油迹斑斑的T恤和短裤,让人不禁怀疑他没别的 衣服了。而在雷哥的正前方,则站着一个老头子,一头白发,一袭白袍,无风自动,像极了《魔戒》里的白袍甘道夫。
只听“hello world”的一声大喝,雷哥左侧的雨果・维文忽然出手,一杆长枪以迅雷不及掩耳之势刺向雷哥。只见雷哥不慌不忙,觑准了一个时机,转身移动到枪杆的侧 面,右手轻轻一带,枪尖便朝另一侧刚刚冲过来的Richard Stallman冲了过去,后者一个“冲”字诀刚刚发了出来,见状马上一个驴打滚才堪堪避开,其状狼狈不堪。不过这二人也不相互埋怨,四目一个交会,立马 又一齐冲向了雷哥。
我站在雷哥后方的位置观察着战局,与白袍甘道夫相对而立。只见雷哥虽然以一敌二,却丝毫不落下风。原来“天下武功,唯快不破”,雷哥的武功全都领悟 自C/C++,后者本就在现代编程语言中堪称速度上的无双王者;再加上雷哥这人平时写程序对效率的追求极其苛刻,数据能放在栈里的就不放在堆里,如果带上 汇编优化的三元表达式比if语句更快那就绝不用后者,这种追求在他修炼了传说中的神功秘笈CSAPP后更是进入了一种化境。
反观他的两个对手,速度上明显已经输了一筹。
那雨果・维文的功夫显然来自Java——Java本是为兼容多种平台设计的“一次编译,处处运行”的编程语言,所以从中领悟的功夫自然也是老少咸 宜,即使身着西装革履,也一点不影响招式的发挥;但另一方面来讲,即使施招者穿运动服,也提升不了多少速度——它的速度只能是这么慢了。更重要的是,由于 Java这东西号称“完全面向对象”,所以雨果・维文的每一招——即使是一个“hello world”——都不得不先封装成一个对象,然后出招;这样的后果就是,由于每一招招式都封装了起来,招式与招式之间相互承接的部分就会显得相当生硬,唯 一的办法就是使用各种设计模式来补足——这些设计模式虽然圆滑了招式之间的承接,却进一步降低了其速度。再加上这位雨果・维文似乎对设计模式的掌握还不够 充分,在应付雷哥凌厉的出招时便显得左支右绌。
而那位模仿Richard Stallman装扮的仁兄招式被我观察了许久,才发现并非来自Emacs Lisp,而是Perl。因此他的一招一式都让人搞不明白他到底想干什么,但有时候突然之间那些像疯人跳舞的比划就变成了妙不可言的一击,这着实给雷哥造 成了几次险境。幸而这位Richard Stallman似乎经常稍后自己也理解不了自己的比划是什么意思了,有时前面刚刚一招逼得雷哥暴露出五六个破绽,下面他却忘了该用哪一招;更多时候干脆 比划着比划着,他自己就看不懂自己在比划什么了。幸而如此,即使险象环生,雷哥也能很快从防守之势夺回攻击的主动权,以一敌二而不落下风。