`
java-mans
  • 浏览: 11387489 次
文章分类
社区版块
存档分类
最新评论

我们是否还需要造轮子?

 
阅读更多

在我和一些朋友深入讨论"底层"的技术细节时,经常被一些"超级大师"(火星来的)
讽刺为造轮子,我总是淡然一笑.因为说你在干什么事只是说了一个事实,而这个世界并没有
任何标准来评判这个行为是否正确,也许只有上帝知道.

别人已经发明的轮子我们是否还需要造?
当然需要,就在某些讽刺我们在造轮子的"大师们"的言论中竟然还会加上一两句:
中国的IT技术就是因为你们这行人才永远赶不上别人.
看看这种前后矛盾的大师观点,既然反对造轮子,那么很多技术已经被别人发明了,
中国为什么还要再去造一次轮子?如此说来,龙芯这些项目都是无意义的事了,国家花那么多
经费造了来的只是别人多少年前发明出来的轮子,有什么意义?

其实太多时候,造轮子是有意义的,也是非常必要的.因为自己造的轮子对于自己而
言是最合适的.或者抬高一点说我自己认为我造的轮子别人的好.如果你有能力造轮子,而且
造得快,那么我还真找不出不造轮子的理由.
节省时间吗?不一定,你去买别人的轮子要从家里到商场交易再运回来,对于有能力
造轮子的人这段时间足够造出比买来的轮子更好用的轮子了.举一个我们经常用到的上传组
件的例子,任何人第一次下载smartUpload等这种通用轮子后,读文档,学习使用方法,拿到自
己的代码中测试,时间不会少于30分钟吧?但对于精通http协议的人,把客户端打包提交过去
的无符号字符序列分解为需要字段和文件,30分钟也足够了,也就是说30分钟我同样实现了一
个轮子,而是自己实现的轮子至少要比那个通用的轮子调试,调用要方便多了,更别说修改其
中的bug了.另外我自己实现的我可以非常轻易地"翻译"到别的语言中,比如再花20分钟我可
以实现成c#中的上传组件,那么你试试把smartUpload这个轮子"翻译"到c#中看看要多久?

如果你的能力不足以造轮子,那当然没有必要在需要轮子的时候先去研究如何造,然
后再自己动手打造.但如果你在买轮了的时间内可以打造更好的轮子,你就应该坚决地打造自
己的轮子!所以,是否应该造轮子,取决于你在还没有需要轮子的时候的知识积累,不是在需要
的时候才去研究如何造,而是在需要的时候就可以造出来.而且比别人买轮子更快,质量更好,
对于这样的造轮运动,实在想不出有什么可笑的,在我心目中那是软件技术的最高境界.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics