免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: W.Z.T
打印 上一主题 下一主题

[C] c程序员重复造轮子是否是好事 [复制链接]

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亚冠之水原三星
日期:2015-06-02 16:34:202015年亚冠纪念徽章
日期:2015-10-19 18:13:37程序设计版块每日发帖之星
日期:2015-11-08 06:20:00
11 [报告]
发表于 2009-05-25 19:52 |只看该作者

回复 #10 reiase 的帖子

如果用C的话,这几个东西显然要有一个通用的代码

论坛徽章:
0
12 [报告]
发表于 2009-05-25 20:11 |只看该作者
原帖由 W.Z.T 于 2009-5-25 18:24 发表
今天跟一同事谈了下关于重复造轮子的问题, 我是程序员新手, 毕业一年, unix+c环境编程。 我认为所有c程序员都应该重新造下轮子, 多从基础代码开始写起, 写自己的函数库, 重复造一些轮子来锻炼下软件工程的 ...

出于自己锻炼的目的,鼓励造,造的越多越好。
但在项目中,一定要尽量用现成。特别是在像upstream项目贡献代码时,如果你之前没调查完全,自己造了一些已有的轮子,会引来暴风雨般的批评。
实际上很多时候想自己造轮子主要还是见过的轮子太少,等见的多了,做的多了,自然就不会有这种想法了(当然,不排除等你牛了,发现有些轮子太丑陋不能忍受,推到重写:wink: )

论坛徽章:
0
13 [报告]
发表于 2009-05-25 20:23 |只看该作者
公司的项目,还是选用稳定的轮子为好

论坛徽章:
0
14 [报告]
发表于 2009-05-25 20:31 |只看该作者

回复 #11 xinglp 的帖子

为啥不把精力集中在问题上呢

现在基本小程序用数组,大程序用库或者python

论坛徽章:
0
15 [报告]
发表于 2009-05-25 22:01 |只看该作者

回复 #1 W.Z.T 的帖子

如果你对一件事的看法还停留在“好坏之分”这个层面上,那我觉得也没什么可说的了。

我的看法主要有以下四个方面:

● 你可以把造轮子的行为看作基本功的练习。每深入一个层次,就必须对上一个层次有更细致的了解。着手编写 C 语言函数库,你一定会加深对 C 语言本身的认识。
时间的分配。人的精力是有限的,如果太专注于闭门造轮子,整个知识结构就会发生倾斜,这对学习很不利,工作中更不允许处处都推倒重建,因为工程上还讲究一个延续性的问题。就算没法顾全,也要要稍微照顾一下大局对不对。
经验的积累。这是真实的代码,不是纸上谈兵。写过一遍,无论写全了,还是只实现了一部分,都已经积累到不少的经验,要相信以后一定用得着。
心态。自己写的东西,质量未必好,生产环境中不一定用得上,抱着学习的态度去做就可以了,别管别人怎么说,但求问心无愧。

总的说来,我支持基础扎实的人通过各种造轮子来体会各种不容易,同时也反对连皮毛都不怎么涉及就好高骛远的行为。



[ 本帖最后由 langue 于 2009-5-25 22:10 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2009-05-25 23:10 |只看该作者
最近几天在造数据库接口的轮子,造的时候发现真是不容易,现在仅仅实现了oracle的部分功能,sysbase,mysql的都没涉及,就留了个函数表在那里,边项目边造轮子,真他nnd的累,更郁闷轮子还有点儿瘪

论坛徽章:
0
17 [报告]
发表于 2009-05-25 23:59 |只看该作者
“重复造轮子”是一个二意性很强的讲法,这是无数万恶翻译中的又一个,比如“在太空能看见长城”,“宏”,“变量声明”,“正规表达式”云云,永远被专业人士所不齿。

"reinvented the wheel" 翻译成中文应该是“重复发明轮子”,它要说明的重点在于:轮子的特点及原理已经被我们熟知,你不去参考公认的做法而自己凭空思考轮子的原理及构造,最终得出一个被人们所熟知的结论,这个过程是没有意义的。就如在牛顿之后再发表牛顿定律,在爱因斯坦后再发表相对论一样。人们不会把你当成天才,而是把你当成孤陋寡闻的白痴……

学习的主要过程就是了解原理,而如何使用是你自己的问题。轮子的造法理应在学习阶段掌握,正如编程里的各种算法,你都了解也没有错。但如果抛开原有的算法自己非要写出个一样而且效率更低的来,那就真是没话说了……

当然我感觉楼主的意思是:有没有必要学习基础的算法,换句话说就是要不要了解轮子的原理。那答案是肯定的,学没有坏处。

而关于造轮子的问题嘛,仁者见仁。用别人造的和自己造的都可以,反正自己造好了也可以一直用,别人造的也是一样用,完全个人喜好,不必太过在意。当然,如果自己造得比别人好,那自然是更加美好的事情了~

论坛徽章:
0
18 [报告]
发表于 2009-05-26 00:35 |只看该作者
原帖由 no2song 于 2009-5-25 23:59 发表
“重复造轮子”是一个二意性很强的讲法,这是无数万恶翻译中的又一个,比如“在太空能看见长城”,“宏”,“变量声明”,“正规表达式”云云,永远被专业人士所不齿。

"reinvented the wheel" 翻译成中文应 ...



我想这不是翻译的问题,是传播的问题(个人想法,没任何证据)。

要不要重新做一个轮子要看自己目的。

如果你抱着学习轮子原理的心态,我认为这是必须的;如果你是想要做一个更好的轮子的,我会有所保留;如果你仅是为了要轮子而做轮子,这是没必要的。

做一个更好的轮子需要更多的是耐心,而不是原理性的东西。如果你有,just do it。

论坛徽章:
0
19 [报告]
发表于 2009-05-26 07:20 |只看该作者
原帖由 future0906 于 2009-5-26 00:35 发表



我想这不是翻译的问题,是传播的问题(个人想法,没任何证据)。

要不要重新做一个轮子要看自己目的。

如果你抱着学习轮子原理的心态,我认为这是必须的;如果你是想要做一个更好的轮子的,我会有所 ...


如果你抱着学习轮子原理的心态,我认为这是必须的;如果你是想要做一个更好的轮子的,我会有所 ...

我想这就是我想要表达的意思了, 我造轮子还是想学习下原理,  掌握好基础。

论坛徽章:
0
20 [报告]
发表于 2009-05-26 07:21 |只看该作者
原帖由 no2song 于 2009-5-25 23:59 发表
“重复造轮子”是一个二意性很强的讲法,这是无数万恶翻译中的又一个,比如“在太空能看见长城”,“宏”,“变量声明”,“正规表达式”云云,永远被专业人士所不齿。

"reinvented the wheel" 翻译成中文应 ...



"reinvented the wheel"原来一直把这句话理解错了, 的确重新发明轮子没有意义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP