您的位置:首页 > 职场人生

"不要自己发明轮子"与"了解轮子是如何发明的"

2010-08-21 10:46 323 查看
[b]转自http://cto.csdn.net/Article.aspx?Name=wumin&pointid=3720[/b]

老外经常说:不要自己发明轮子。

其实现实中也有不少人跟我这么说。不是说这句话不对,而是说总感觉有点别扭,总好像是差了些什么。

高中时的政治课有一句“劳动创造了美”,总是让我觉得少了些什么。当然这句话我打小就知道,但想从道理上解析这句话,却是在课堂上产生的想法。困惑的解答是在大学二年级看一本哲学书中找到的,我在这里把原意重复一下:

1、“劳动创造了美”,这句话只是马克思书中一段话中的一句,虽然很美,但并不是那段话的全部含义。

2、“劳动创造了美”,并不是充分必要条件。我完全可以把它改成“劳动创造了丑”,而且完全正确,当然,如果前者正确。

3、“劳动创造了美”,是说劳动可以创造美,但没说劳动就不能创造别的什么(比如“丑”)。

我曾在《系统研发中的假命题》这篇博客中论述过类似情况,就是说,一个说法提出来,让你觉得是那么回事,可一旦实际起来,又觉得不太是那么回事。它的危害在于,听起来很对,做起来很错,做得越多,错得越远,危害越深。

“不要自己发明轮子”是对的,但老外一定没说过,你同样也不需要“了解轮子是如何发明的”。

我在现实生活中发现,许多人把“不要自己发明轮子”,同样理解成了不需要“了解轮子是如何发明的”。他们的逻辑仅限于“我会使用就可以了”。

这多少就像如果我是普通手机用户,那我会用手机就可以了。可如果我是手机的设计、生产、维修人员,我也仅限于会使用别人发明好的“轮子”,那就没有不出事的。

我发现有很多VC开发人员不知道Windows下的函数栈空间的默认值是1M。一旦变量声明需要的空间超过1M而导致运行崩溃时,他们一脸的无辜与不解。

我管这种方式叫“挑战常识”!比如,一个兄弟前两天和我说,读取一个1M左右的文件到内存是纳秒级的,我当时就晕了,不晓得计算机什么时候已经先进到这个程度了。后来一查,原来相关时间的最小单位是100纳秒!而他就看到了纳秒这两个字。这简直就是天地之差!

另一个让我惊讶的是一个来面试程序员。我问他一个char型数据的取值范围是多少,他认真想了一下回答我说:是0到2的8次方。我赶紧提醒说char是带符号的,他又想了一下说,是负的2的8次方到正的2的7次方。我当时无言以对!

不要自己发明轮子是对的,但如果大家都不知道轮子是如何发明的,就错得太远了!

技术之所以为技术,是因为它有很高的门槛。而这个门槛内外的区别就是:知其然,和知其所以然。大部分人可以知其然,某些人必须知其所以然。特定的时候可以知其然,过了这个时候就必须知其所以然!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  手机 windows 面试 生活