重复发明轮子又何妨?
2009-03-15 20:57
375 查看
“不要重复发明轮子”,软件工程大师如此告诫。然而在我看来,很多情况下重复发明轮子是非常必要的,按现在流行的话就是“必须的”。当然,重复发明轮子是需要特别慎重的,有意义并且值得做方可,而且这个要发明的轮子要具备足够的创新。
前些日子,一个师弟要来我们公司实习,由于没什么相关经验没能如愿。然后他就问,如何积累原始经验呢?我当时又是怎么积累经验的呢?“实践”,我用这两个字回答。做计算机技术这行,必须要不断实践,不断学习,方能持续性地进步。从大学本科到研究生期间,我一直在兴趣的引导下写些小软件,比如五子棋游戏、PHP相册、启动U盘制作工具、个人网站等,另外还做了不少兼职项目,包括以前大学的招生网、招生语音查询系统、某公司后台管理系统、某WAP流媒体应用平台等等。此外,我还在学习和研究工作中,实现了一系列算法程序,网络存储、数据挖掘和分布式计算相关的软件。这些实践为我积累了很多很多经验,使得我在毕业找工作面试时,显得很有经验,并且很有信心。其实,这些实践大多都是在“重复发明轮子”。对于我来说,重复发明轮子为我积累了经验,而且时常对轮子的改进或者完全重新设计轮子,让我认识了创新的重要意义。
对我而言,为了学习和实践,为了积累经验,我不断重复发明着轮子,改进着轮子,也会发明全新的轮子。但是,很多人都没有意识到,很多情况下发明全新的轮子都是以重复发明了前人的轮子为前提的。创新是需要土壤的,而实践是这个土壤的主要组成部分。单从软件工程的角度来看,考虑软件质量、开发成本、开发周期等因素,我们需要尽量不重复发明轮子。对于IT公司,核心技术往往是企业的命脉,不能因为已经有轮子了,就不发明轮子。当关系和影响到公司的生存时,必须要发明自己的轮子,把命运牢牢掌握在自己手里。想想咱们中国,通用CPU、操作系统、编译器、办公软件...,就是因为我们没有发明自己的轮子,而处处受制于国外,甚至还威胁到国家的安全。在开源领域,中国对开源界的贡献是非常非常小的,就是因为我们大家都习惯于拿来主义,自由地享受着别人发明的轮子,而很少去重复发明或者全新发明轮子。
其实还是那句老话,“走自己的路,让别人去说吧”,该重复发明轮时就重复发明一下又何妨!如果再在轮子上来点创新,或者创新性地发明新的轮子,那说不定别人就会重复发明你的轮子了。
(Aiguille LIU / 刘爱贵 / aigui.liu@gmail.com)
前些日子,一个师弟要来我们公司实习,由于没什么相关经验没能如愿。然后他就问,如何积累原始经验呢?我当时又是怎么积累经验的呢?“实践”,我用这两个字回答。做计算机技术这行,必须要不断实践,不断学习,方能持续性地进步。从大学本科到研究生期间,我一直在兴趣的引导下写些小软件,比如五子棋游戏、PHP相册、启动U盘制作工具、个人网站等,另外还做了不少兼职项目,包括以前大学的招生网、招生语音查询系统、某公司后台管理系统、某WAP流媒体应用平台等等。此外,我还在学习和研究工作中,实现了一系列算法程序,网络存储、数据挖掘和分布式计算相关的软件。这些实践为我积累了很多很多经验,使得我在毕业找工作面试时,显得很有经验,并且很有信心。其实,这些实践大多都是在“重复发明轮子”。对于我来说,重复发明轮子为我积累了经验,而且时常对轮子的改进或者完全重新设计轮子,让我认识了创新的重要意义。
对我而言,为了学习和实践,为了积累经验,我不断重复发明着轮子,改进着轮子,也会发明全新的轮子。但是,很多人都没有意识到,很多情况下发明全新的轮子都是以重复发明了前人的轮子为前提的。创新是需要土壤的,而实践是这个土壤的主要组成部分。单从软件工程的角度来看,考虑软件质量、开发成本、开发周期等因素,我们需要尽量不重复发明轮子。对于IT公司,核心技术往往是企业的命脉,不能因为已经有轮子了,就不发明轮子。当关系和影响到公司的生存时,必须要发明自己的轮子,把命运牢牢掌握在自己手里。想想咱们中国,通用CPU、操作系统、编译器、办公软件...,就是因为我们没有发明自己的轮子,而处处受制于国外,甚至还威胁到国家的安全。在开源领域,中国对开源界的贡献是非常非常小的,就是因为我们大家都习惯于拿来主义,自由地享受着别人发明的轮子,而很少去重复发明或者全新发明轮子。
其实还是那句老话,“走自己的路,让别人去说吧”,该重复发明轮时就重复发明一下又何妨!如果再在轮子上来点创新,或者创新性地发明新的轮子,那说不定别人就会重复发明你的轮子了。
(Aiguille LIU / 刘爱贵 / aigui.liu@gmail.com)
相关文章推荐
- 【分析师一定要看!用数据讲故事的五个步骤】1.理解数据源;2.明确你要讲的故事;3.定义用户体验 ;4.简单法则;5.避免重复发明轮子
- 学以致用,不重复发明轮子,做个聪明人!
- 重复发明轮子 自己实现哈希表。
- 不要重复发明轮子:C++重用的5重境界(5)——消息通信(完结篇)
- 增长黑盒:零代码基础做智能电商网站,不要重复发明轮子
- 不要重复发明轮子:C++重用的5重境界(1)——代码重用
- Please stop re-inventing the wheel (请不要重复发明轮子)
- 请不要重复发明轮子
- 不要重复发明轮子:C++重用的5重境界(2)——简单DLL
- 不要重复发明轮子:C++重用的5重境界(4)——继承接口DLL
- 几个常用的JAVA类(坚持“不要重复发明轮子”的原则,留着重用)
- 不要重复发明轮子:C++重用的5重境界(3)——代理接口DLL
- 轮子还是要重复发明的
- 不要重复发明轮子-C++STL
- 刚才看别人总结的,JDBC各种数据库连接,汗颜啊。老是抄袭别人的。哎。不要重复发明轮子。。
- 说说重复发明轮子的事儿
- 不要重复发明轮子:C++重用的5重境界
- 我不是在重复发明轮子
- [置顶] Android Studio 如何导出和导入自己的常用设置,避免重复制造轮子。加快开发速度
- .NET开发的文本编辑器,(又发明轮子了,VB代码,不喜误入)