`
javasalatu
  • 浏览: 725334 次
  • 性别: Icon_minigender_2
  • 来自: 北京
博客专栏
96df99eb-e89d-3228-9c8e-967fc745ec52
程序员的自我经营之道
浏览量:7715
文章分类
社区版块
存档分类
最新评论

重复发明轮子又何妨?

 
阅读更多

  “不要重复发明轮子”,软件工程大师如此告诫。然而在我看来,很多情况下重复发明轮子是非常必要的,按现在流行的话就是“必须的”。当然,重复发明轮子是需要特别慎重的,有意义并且值得做方可,而且这个要发明的轮子要具备足够的创新。

  前些日子,一个师弟要来我们公司实习,由于没什么相关经验没能如愿。然后他就问,如何积累原始经验呢?我当时又是怎么积累经验的呢?“实践”,我用这两个字回答。做计算机技术这行,必须要不断实践,不断学习,方能持续性地进步。从大学本科到研究生期间,我一直在兴趣的引导下写些小软件,比如五子棋游戏、PHP相册、启动U盘制作工具、个人网站等,另外还做了不少兼职项目,包括以前大学的招生网、招生语音查询系统、某公司后台管理系统、某WAP流媒体应用平台等等。此外,我还在学习和研究工作中,实现了一系列算法程序,网络存储、数据挖掘和分布式计算相关的软件。这些实践为我积累了很多很多经验,使得我在毕业找工作面试时,显得很有经验,并且很有信心。其实,这些实践大多都是在“重复发明轮子”。对于我来说,重复发明轮子为我积累了经验,而且时常对轮子的改进或者完全重新设计轮子,让我认识了创新的重要意义。

  对我而言,为了学习和实践,为了积累经验,我不断重复发明着轮子,改进着轮子,也会发明全新的轮子。但是,很多人都没有意识到,很多情况下发明全新的轮子都是以重复发明了前人的轮子为前提的。创新是需要土壤的,而实践是这个土壤的主要组成部分。单从软件工程的角度来看,考虑软件质量、开发成本、开发周期等因素,我们需要尽量不重复发明轮子。对于IT公司,核心技术往往是企业的命脉,不能因为已经有轮子了,就不发明轮子。当关系和影响到公司的生存时,必须要发明自己的轮子,把命运牢牢掌握在自己手里。想想咱们中国,通用CPU、操作系统、编译器、办公软件...,就是因为我们没有发明自己的轮子,而处处受制于国外,甚至还威胁到国家的安全。在开源领域,中国对开源界的贡献是非常非常小的,就是因为我们大家都习惯于拿来主义,自由地享受着别人发明的轮子,而很少去重复发明或者全新发明轮子。

  其实还是那句老话,“走自己的路,让别人去说吧”,该重复发明轮时就重复发明一下又何妨!如果再在轮子上来点创新,或者创新性地发明新的轮子,那说不定别人就会重复发明你的轮子了。

(Aiguille LIU / 刘爱贵 / aigui.liu@gmail.com)

分享到:
评论
1 楼 pdreamer 2013-09-02  
支持

相关推荐

Global site tag (gtag.js) - Google Analytics