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

重复发明轮子又何妨?

 
阅读更多

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

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

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

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

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

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

相关推荐

    Django是否存在重复制造轮子

    不过让我感到有点困惑的是,怎么样才叫做不要重复制造轮子?如何才能站在巨人的肩旁上?现在网络如此发达,资源如此丰富,开源社区也发展的很好。有很多源代码可以下载,使用。那是不是说当我们在写一个程序的时候就...

    决不重新发明轮子.docx

    【决不重新发明轮子】这个概念源于创新策略中的一种智慧,即避免不必要的重复劳动,有效利用已有资源进行改进和优化。在IT行业中,这一理念尤为关键,因为技术更新迅速,不断有新的产品和服务出现,而大部分创新往往...

    重复造轮子,表单验证

    在IT行业中,"重复造轮子,表单验证"是一个常见的议题,特别是在软件开发中。当我们谈论表单验证时,通常是指在用户提交数据到服务器之前,在客户端(通常是Web浏览器)进行的数据验证过程。这个过程确保了用户输入...

    发明轮子之“红黑树 二”

    通过阅读博客文章"发明轮子之“红黑树 二”",我们可以期待作者对红黑树的深入解析,包括更复杂的操作如旋转和颜色调整,以及如何在实际编程中应用这些概念。"redblacktree"这个文件名可能是该系列教程的源代码示例...

    记录用的好的插件,开源项目,代码等等。不重复造轮子_Notes.zip

    记录用的好的插件,开源项目,代码等等。不重复造轮子_Notes

    省力的轮子PPT课件.pptx

    轮子作为人类历史上重要的发明之一,它的出现极大地改变了人类的生产和生活方式,提升了工作效率,减轻了人力负担。 首先,轮子的主要特点包括圆形结构、旋转运动和滚动摩擦。圆形设计使得轮子在转动时具有连续性,...

    了不起的轮子PPT课件.pptx

    综上所述,这个课件虽然简短,但足以引发我们对轮子这一简单却又至关重要的发明的深度思考。通过深入探讨轮子的科学原理、历史演变及其在各领域的应用,我们可以更好地理解和欣赏这个“了不起的轮子”带给我们的便利...

    ops_channel:运维通道是联接运维人员与机器的一座桥。它跟常用的开源运维工具(`ansible`,`saltstack`,`puppet`)没有本质区别,那为什么还要重复造轮子呢?

    它跟常用的开源运维工具( ansible , saltstack , puppet )没有本质区别,那为什么还要重复造轮子呢? 运维通道有那些特点? 运维通道简单,高效,安全,可靠,可扩展。 简单:只有一个初始化文件,无需第三方...

    个人项目,将维护起来,方便以后重复造轮子,同时也开源出来给广大强大的程序员们一起优化更新代码_tools.zip

    个人项目,将维护起来,方便以后重复造轮子,同时也开源出来给广大强大的程序员们一起优化更新代码_tools

    SolidWorks小轮子

    在机械设计领域,SolidWorks是一款广泛应用的三维计算机辅助设计(CAD)软件...设计师通过精确的计算和模拟,确保轮子在实际应用中既耐用又高效。这样的设计过程充分体现了SolidWorks在机械工程中的强大能力和灵活性。

    本项目本着避免重复造轮子的原则,建立一套快速开发JavaWEB项目(asurplus-layui),能满足大部分后台管理系统基础

    本项目本着避免重复造轮子的原则,建立一套快速开发JavaWEB项目(asurplus-layui),能满足大部分后台管理系统基础开发功能,使得开发人员直接可从业务模块开始,减少大量的重复开发工作。前端框架使用 layui-mini ...

    TRIZ方法_关于发明创造的工程性方法

    总的来说,TRIZ提供了一个框架,让工程师和创新者能够系统性地处理复杂问题,跨越不同领域和行业,借鉴历史上的成功案例,避免重复发明轮子,从而加速创新进程。通过掌握TRIZ方法,个人和企业可以提升其解决问题的...

    了不起的轮子小班科学详细内容PPT课件.pptx

    【了不起的轮子——小班科学教学内容】 在幼儿教育阶段,科学启蒙是非常重要的一个环节,它能够激发孩子们对周围世界的探索兴趣,培养他们的观察力和思考能力。本课件“了不起的轮子”旨在让小班的孩子们了解轮子的...

    幼儿园小班科学活动教案《轮子工程师》含反思.docx

    《轮子工程师》是一份针对幼儿园小班的科学活动教案,旨在通过有趣的方式引导幼儿认识轮子的特性和功能,并初步理解不同形状如圆形、三角形、正方形的特点及其在日常生活中的应用。活动的设计旨在激发孩子们的好奇心...

    轮子哥安卓开发框架,非常好用

    轮子哥安卓开发框架,一个非常优秀的开源框架。 各项界面,对话框,全面的内存优化、布局优化、代码优化、瘦身优化。 项目中常见的代码进行了封装,或是封装到基类中、或是封装到工具类中、或者封装到框架中,不...

    中班科学轮子PPT学习教案.pptx

    轮子是人类历史上的一项重大发明,极大地推动了交通运输和生产力的发展。在PPT的第一部分,讲述了原始人如何从滚动重物如圆木的过程中得到灵感,将滚木切割成轮子,从而减少了搬运的难度。这一创新体现了人类对工具...

Global site tag (gtag.js) - Google Analytics