第九十五章 演讲和炮轰(2 / 2)
杜秋又点了一下屏幕,切换到另外一种优化方式,然后介绍道:“还有一些用了更为简单的方式,从上而下计算,用循环来实现递归……”
肖家霖右手握拳砸了一下左手,有些懊恼的说道:“这个法子确实更简单。”
他的懊恼还没结束,立刻变成了惊讶,因为杜秋又展示了一种优化方案,这个方案代码很长,但是把时间复杂度从O(n)大幅减少为了O(logn)。
“靠,这怎么优化的,我看不懂。”
“我也看不懂。”
杜秋拿起杜春华安排他带过来提前打广告的保温杯,喝了一口水,让报告厅里的听众有时间看代码,然后才解释道:“这是我设计的一种比较特殊的优化方案,需要有一定的数学基础才行……”
他先介绍了一个矩阵公式,然后再讲解了代码,讲的很精炼,张栋梁数学不太好,没有听懂,有些疑惑道:“一个斐波那契数列而已,有必要搞的这么复杂吗?”
肖家霖听懂了,觉得杜秋肯定另有深意,因此沉默着没有回答。
果然,杜秋讲解完了之后,说道:“你们可能认为这种优化方式是小题大作,吃饱了撑的,事实上这种优化方式可以触类旁通,在别的地方发挥作用,比如计算数值的整数次方,这个题目我给大家10分钟的时间,你们想想怎么编程。”
张栋梁抬眼望去,见幕布上出现了一道题目,和书签上的那个有点类似,都是设计一段代码,实现C语言某个库函数的功能,同样属于乍一看很简单,细想却很复杂的问题,他拿出铅笔,靠着微凉的墙壁,在记事本上涂涂抹抹写了好几分钟,却感觉大脑一团乱麻,完全没法解决。
杜秋并没有在讲台上傻站着,而且走下讲台,在陈志扬的介绍下,挨个和坐在前排的老师以及教授认识。
他虽然只讲了不到十分钟,但却展现出来了不俗的实力,因为第三种优化方法很冷僻,也比较复杂,用到了高等数学的知识,不仅学生们没想到,老师和教授也都没想到,有实力自然没人怠慢,个个都很热情,有的鼓励,有的赞赏,只有侯院士不满意,说道:“小杜啊,你把大猷拐去美国打工,让我少了一个好学生,是不是该有所表示?”
“您想要什么表示?”
“我喜欢下象棋,但是研究所那边没有合适的棋友,大猷之前说帮我写一个可以跟电脑下棋的程序,写了半年都没写好,不如你帮我写一个,要是写的好,咱们的恩怨就一笔勾销。”
“行,那就一言为定。”
“事先得说明,你写的程序要是个臭棋篓子,我可是不认的。”
“保证不会。”
杜秋闲聊了一会,在姜丹枫做出时间已到的暗示之后,再次走上讲台,敲了敲麦克风,问道:“有人写出来了吗?”
经过两轮筛选,能进来听演讲的学生都是比较有能力的,因此很多人都举起了手,杜秋随便选了几个学生,让他们把答案递上来,但没有公布对或者不对,而是切换了一下PPT文档,讲解起了自己写的两段代码,第一段用传统方法解题,代码有几十行,繁琐而又低效,第二段用刚才的数学公式解题,代码只有短短几行,简洁而又高效。
讲解完了之后,杜秋调出了宣传海报上的原始代码,总结道:“我拿这段代码做海报,是想让大家知道开源软件的三个好处。”
“第一,课本上的知识和生产中的需求是两码事,计算机是生产力工具,不是纸上谈兵的玩具,只懂理论不懂实践是不行的,然而以国内目前的环境,在校学生很难有实际开发一款成熟软件的机会,如果不想当书呆子,唯一的途径就是阅读优秀的开源软件代码,了解真正的软件开发是什么样子。”
“第二,计算机软件是一个很讲究创新的行业,想要创新,首先得有积累,文学家可以看曹雪芹或者托尔斯泰的著作,数学家可以看高斯或者欧拉的著作,物理学家可以看牛顿或者爱因斯坦的著作,程序员靠什么积累?只有看开源软件的代码,比如这个公式,就是我从某个开源软件的递归函数中发现的。”
“第三,写开源软件会让你们进步的更快。”杜秋拿起刚才那几个学生递上来的答案,在空中扬了扬,说道:“如果你们知道我会把这些答案贴在墙上给所有人看,会不会想的更严谨一点?写的更仔细一点?如果在大庭广众之下,被很多人指出了其中的错误,你们会不会认真反思?不再犯同样的错误?”
这三个好处非常浅显,即使不说在座的学生也都明白,但是经过这几天的亲身体验,每个人都有了更深的理解和体悟,报告厅里鸦雀无声,不少人脸上都流露出若有所思的表情。
接下来杜秋把PPT切换到了书签上的那个题目,讲解了起来,肖家霖只听了两句,就叹息道:“难怪杜总说我勉强算合格的码农,我们没有考虑到最大正整数和最小负整数的判定和溢出问题。”
张栋梁默然点头。
“现在软件越来越复杂,几十个甚至上百个员工一起工作已经变成了常态,软件公司需要的是有团队协作能力的人才,而不是单枪匹马的孤胆英雄,如果没有良好的编程习惯,考虑问题漏洞百出,一会这里打补丁,一会那里出bug,不仅老板要揍你,同事也会拿键盘来砸你。”
“书签上的这个题目,是想告诉大家开源软件的另外一个好处,那就是增长眼界,明辨好坏,分清楚哪些是好的编程习惯,哪些是坏的编程习惯,因为有很多开源软件是陌生人一起合作的项目,如果编程习惯不好,很难和他人合作。”
杜秋说到这里,从讲台上拿起了一本C语言的教科书,说道:“这本书的作者我不认识,因此不做评价,但我可以负责任的告诉大家,当你们阅读完一款或者几款优秀的开源软件代码之后,如果不能从这本书里找出200个以上的错误、疏漏以及谬论,就不是一个合格的计算机专业学生,因为这本书里表现出来的编程思维、编程风格以及编程习惯极其恶劣!”
话音刚落,只听嗡的一声,整个报告厅都沸腾了,因为那本教材非常出名,发行量极大,全国几乎所有大学以及普通编程爱好者都拿它作为入门教材,还有不少省部级的高官和院士级的名流为其题词,可谓国内最权威的C语言教科书了,结果却被杜秋如此不屑,自然引起了极大的争议。