看到以话痨出名的尼傲自发地陷入了自我禁言的状态,乔臻倩第一时间就猜到了原因。的确,她所说的这些内容,本身就需要很多相关的知识才能完全明白,而要在理解的基础上,再把它们用程序的形式实现出来的难度,对于一般人来说肯定是非常具有压倒‘性’的。即便是对于“小超人”尼傲,这当中怕是也有不小的挑战,毕竟对方并不是这个领域里的专家。
好在这一回乔臻倩恰巧有办法。在他们实验室的众多研究项目中,她曾经就参加过一个实时筛选幽闭者患者可能感兴趣的话题的项目。
她记得项目本身很成功,一系列的筛选数据在实际应用中的结果和进展方向都很不错。不过后来因为资金用完了,再次申报的时候,被上面以“即使实验成功,受益人群比重太小”为由给拒绝了,最后也就没能摆脱不了了之的命运。其实这也是很多研究项目的最终归宿,但那些拒绝的理由是否真的有道理,可就真不好说了。
乔臻倩在猜到了尼傲发愁的原因之后,立刻就联想到这个当年不幸夭折的项目来,看上去正合尼傲用。还真没想到这个原以为已经被尘封忘却了的实验原型,现在竟然又被挖掘出新的价值来。
在这点上,乔臻倩倒是和尼傲有着差不多的脾气,是个爽气的、想干就干的人。急急忙忙给尼傲扔过去一句:“你别急,我有好东西给你!”,她就飞快地把这个项目从自己的备份设备里给找了出来。
幸好乔臻倩自小在康远途的熏陶下,养成了随时整理各种资料的好习惯,这时候按照自己编写的索引,一下子就从故纸堆里把想要找的东西都给翻将出来。于是连同程序、实例、报告和论文,一股脑儿打了包,都给尼傲给发了过去。
然后做了个困顿不堪的表情:“东西都给你了,希望能够帮到你。
我是不行了,一把把的眼泪啊。撑不住了,要去赴周公之约了。
能不能用,你自己慢慢看着办吧。”
想了想,乔臻倩又加了一句,“别太累了,早点休息,毕竟罗马也不是一天就能够建成的。等到条件更完善些,准备更充分些,做起来也许就会驾轻就熟,不用这样子苦苦挣扎啊。送你一句话:心急吃不了热粥。
我下了。88”
乔臻倩给他的东西,可以说再一次帮了他大忙。平时很能说的尼傲突然发现自己的语言功能通道有些失灵了,他完全不知道该怎么来表示自己心里的感‘激’之情。只觉得眼睛里有些酸酸涩涩的,而心‘潮’也随之起伏不定,平时张嘴就来的一堆一堆的话,这时候却好像被什么东西给牢牢地堵住了,怎么也说不出口。而乔臻倩的头像,却是在他能说出任何字眼之前,逐渐地褪‘色’,最后完全的黯淡了下去。
虽然乔臻倩临下线前特地提醒了他一句,要注意休息,可惜尼傲不能等,也不想等。
尼傲慢慢地深呼吸了几口,让自己冷静了下来,打开压缩包。乔臻倩给他的东西很完善,从背景,到理论构思,到实验数据,到可运行的程序,应有尽有。尼傲还是一贯的做法,在一目十行地扫过文档了之后,他就果断地打开了附带的样例的源程序。
对于一个写程序出身的人来说,拿到一段陌生的程序第一件会做的事情,一般都会是看看源程序。尼傲自然也不例外,但是同别人不同的是,在他眼里,程序本身就是一‘门’艺术。怎么构造,怎么连接,怎么包装,怎么优化,这方方面面的考量、权衡,其难度一点也不比写一份书法,或者是绘一幅画来得容易。
要说现在写程序吧,已经不再象以前那样,是一件很困难的事,随着众多“所见即所得”的编程环境,和把逻辑结构图直接转化成编码的工具的大力开发和推广,事实上已经大大地缩减了写程序的难度。当然另外一方面也要归功于,“编程要从娃娃抓起”的论调。在这种思想的影响下,很多中学,甚至一些‘私’立的小学,都开始设置了科目来教孩子们编程,以至于跑到大街上随便大叫一声,“谁会编程”,估计十个人里怕有一多半会很牛哄哄地回答“我会!”。
然而和一般的程序能运行,能出正确结果的基本要求不同,尼傲在这方面有着近乎偏执的高标准。在他看来绝大多数的程序员的程序都只能算是有匠意,而不具匠心,当然还有很多根本都够不上“匠”的边,所以也才有了与之相对应的“码工”和“码农”的叫法。
在尼傲的心目中,这种称呼就是对写程序这‘门’技术,不,这‘门’艺术,最大的污蔑,也是很多程序员自甘下贱的表现。想想也是,既然没有人喜欢拉里邋遢,脏‘乱’嘈杂,那么被冠之为“第二智能”头衔的人工智能的核心程序又怎么会喜欢构成自己的每一行代码,是一副粗糙晦涩、随意拼凑的呢?
然而乔臻倩给的代码,并不属于“码”字辈出品的行列。源程序是一个叫“能繁能简”的人写的,而程序的风格果真如作者之名,给尼傲的感觉就是“既简短而‘精’炼,又繁复难解”。能用一行代码的地方,这位作者绝不会去写第二行,可是他那一行代码的长度,往往又顶得上别人的好几行。
尼傲下意识地点算了一下,所有的函数功能接口里,也没有一个超过五行代码的。这种风格让尼傲想起了一个名头曾经很响亮的程序员组织——“问题的本质”。这个组织成员推崇的核心理念就是:任何独立的功能模块,都能用不大于五行程序来表现。
这种编程的思想曾经在it、软件行业引起了轩然大‘波’,支持者酷爱其背后的哲学思想,而反对者则痛恨由此带来的繁复的逻辑设计和句法调用。“问题的本质”最后当然不可避免的没落了,毕竟绝大多数人都喜欢简单明了,容易理解的东西。一行顶人家十行的风格,并不是每个人都能忍受得了的。
遥想当年,两派人马曾经针锋相对地辩论过无数次。只是当时尼傲还小,很遗憾地没能参与其中,否则以他那惟恐天下不‘乱’的‘性’子,一定会怂恿着凌若山一起,两边都来煽风点火,热闹看个够本。
没想到,事隔多年以后居然在这么个场合,让他意外地重温了当年这可以说是昙‘花’一现的“五行派”的风格。一时间原有的疲劳居然又被甩到了一边,尼傲就像是个得了新玩具的孩子,一头钻进了程序里,玩得兴致勃勃、不亦乐乎。
说实话,尼傲并不是“五行派”的粉丝。在更讲究实效的他看来,把原本简单明了的逻辑,用繁复的组合方式表现出来,看起来是省了一些代码,可是却让原来简易可读的程序变得含糊晦涩,从某种程度上来说,实在是一种舍本逐末的表现。当然,凡事都有两面‘性’。这也是针对一般的人而言,对于追求极致的程序艺术家来说,这可又是一个完全不同的故事。
试想一下,把不同的调用,组合以及涉及到功能‘性’上的优化,能够用一行简单的代码表现出来,这本身就是一种高深的艺术,需要全面‘性’的眼光,独特的思维和视角,丰富的实际经验才能达到。所以原则上来说,看“五行派”高手的代码,就像品一碗二十年纯的“壮元红”,让人只觉得芬芳,醇厚,口齿留香,种种滋味都能在那被压缩得极‘精’妙的字里行间里体会到;而反观“五行派”庸手的代码,则正如中国北宋时曾流行的“太学体”,为了追求险怪奇涩,结果让人形同嚼蜡,实实在在的‘鸡’肋感觉。
很难得的是“能繁能简”的程序明显是属于前者,尼傲一路看下来,就好象是在读一部丝丝入扣而又动人心弦的,既体会到了其中起承转合处的妙处,也看到了整个程序会带来的结果。这一下子,顿时令得尼傲信心大增。
通常对于别人的程序,尼傲总是会下意识地抱以一定的怀疑态度。即便是亲密如傅承艺的代码,尼傲也是习惯了毫不客气地拿来就改,而且还一定是大改特改。可是眼前的这一份程序,尼傲难得的产生了完全不需要修改,应该是装上了就能用的感觉。
这种感受顿时令他‘精’神大振,之前已经渐渐消散了的斗志,这一刻立马又全都凝聚回来,而且还更为炙烈和高昂。只消看他那充满了光采的眼神,和踌躇满志的架势,就会让人觉得,此时再配上一句“燃烧吧,我的小宇宙”这标准的台词,那一切就都完美了。