重复发明轮子又何妨?

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值