读《构建之法》1、2、16章有感
拜读了邹欣老师的著作中第一、二、十六章后,收获颇丰,同时我也产生了下列的几点思考。
第一章 概论:
根据文中所阐述的计算机科学和软件工程的差别
我从中了解到,计算机科学偏向于理论而软件工程偏向于实践。老师又在后文中指出
“除了学术水平名列前茅的学校,其他学校的这些院系大部分老师做的都是偏工程方面的研究(所谓“横向项目”),大部分学生毕业后也投身于解决具体的工程问题,这跟软件学院、软件工程系(院)的研究和培养方向非常雷同。这是目前中国IT产业发展的现状,但并不是说世界上没有人研究计算机科学的各个领域,或者说计算机科学就等同于软件工程。”
这不禁引发了我的思考。既然计算机科学偏于理论软件工程偏于实践,而实践又是建立在理论基础上的,那从事理论研究人员较少会不会导致实践的单一重复化呢,或者是无物可付诸实践的现象?如果说世界上从事研究的学者较多而国内较少,这是不是也是导致国内计算机领域发展不如国外的根本原因呢?
第二章 个人技术和流程:
在本章中,作者向我们着重介绍了测试以及它的重要性,然而在实际的企业中,测试由测试工程师负责,那么对于没有意向从事这一职业的同学, 还有必要花大把的时间来学习测试吗?
在谈到提升扩展程序复杂度时,作者提到了许多方面,我感到深受启发,不过与此同时也倍感压力,比如在“需求方面扩展”一栏中书中写道
“做一个图书信息系统,要求有10万本书,100万条借/还书记录。很多同学做的图书馆信息系统只有不到10本书的记录,这是图书馆么?”
我们要如何获得这么大的数据记录呢?即使能够获得这些数据,对于大数据的存储和处理又涉及到了其他的领域,这显然和学生有限的时间形成了矛盾。如果减小数据量的话又达不到锻炼的效果,那么要如何平衡两者呢?
第十六章 IT行业的创新:
这一章老师谈到了创新,特别是在迷思二中讲到大家实际并不喜欢创新的地方让我深有感触,不禁想补充一个例子。著名物理学家特斯拉就是一位创新者,他发明了交流电并且无偿贡献了他的所有发明,却遭到了世人的排挤和遗忘,被爱迪生不遗余力的打压,斥他为科学异端,伪科学。这都是因为他的想法过于超前,甚至领先于当时几个世纪,让人们无法接受。
再说说我的疑问
在“迷思之四:创新者都是一马当先”中,作者举例了很多先行者不是领导者的例子,这让我不禁思考,是否做先行者是无意义的呢?先行者是否都是那些被枪打的“出头鸟”呢?是否要先等待别人先行动然后自己再做那个second mover呢?与此同时我还有另一个疑问,既然不是先行者,他们用了别人用过的点子,那么他们还是创新者么?