作者:寸锐斋 来源:CSDN博客 酷勤网收集 2007-11-24
还是一个Simon的故事。
有一次,Simon和一个程序员G谈为什么要离开上一个公司。
G说,“我原来在一个小组做struts;后来项目做完了,公司调我到另一个组去。那个组用国内某公司开发的集成开发系统,用工具拖拖拽拽就做完了。我觉得学不到东西,所以就走了。”
Simon问:“为什么学不到东西?”
他说:“拖拖拽拽不是把程序员变成傻瓜了吗?”
Simon问:“Visual C++开发工具也可以用拖拖拽拽完成很多工作,很久以前都得手写的;为什么没有人觉得那是把程序员变成傻瓜呢?”
他想了想说,那很多Java代码都在组件内,看不到。没有办法学到底层。
Simon问:“是吗?你觉得你struts掌握得怎么样?”
他说很熟。
Simon又问:“那你看过struts的源码吗?”
他愣住了,说没有。
于是Simon问G,那你用struts和用那个集成开发工具生成的库有什么不一样?
G没有办法回答Simon的问题。
抱着G一样的认识的程序员是很多的。这是个认识自己的问题。我们从各种信息渠道,不知道积累了多少先入为主的谬论而不自知。
认识自己是最困难的。造物主创造人类的时候,所给予的感知器官:眼、鼻、耳、肤,全部都是一致对外的。这是一个适合认识世界,但不适合认识自己的机制。萦绕在大脑中的,始终是自己的“一厢情愿”。我也和那位G一样,经常随时会自己或被别人发现思想中的自相矛盾,有时羞愧得想要蜷成一团。
要认识自己,所需要的是勇气和智慧。随着年龄的增长,最大的益处就是能够开始有勇气反省自己,有时用一点自嘲,让自己变得轻松一点。
希望和大家共勉:慎独而三省其身。
评论:
清秋冷月 发表于2006-10-16 11:22:00 IP: 207.46.89.*| 这个比喻非常精辟,非常好,说出了我的心声! 实际上,我认为目前中国的程序员(包括正在大学里的计算机系学生)当中,至少有80%根本就不适合这个行业!他们就是根本没有认识清楚自己,只认为搞电脑看上去很NB,搞电脑听说能当白领……就一窝蜂地挤进来了! |
刚被fire的人 发表于2006-10-16 10:31:00 IP: 222.64.250.*
| 说得好!单纯的人会经常自省.虚伪的人会经常无道德放纵自己.为自己的虚伪心灵释放! |
zhengyun 发表于2006-10-16 12:49:00 IP: 221.221.11.*
| 我觉得这个是很正常的。 每个人都会在人生道路上处于不同阶段。 从唯物主义看,这是一个人必须经过的历程。 不断认识自己,不断超越自己。 人就是这么一个过程。 而不单单是程序员。 每个行业的人都需要这么历练。 所以为什么需要和高手过招,为什么要不断地和别人倾谈,为什么需要不断有人质疑你挑战你。 就是要让你提早认识自己。 认识自己是最难的,也是每天都需要做的。 |
airskys 发表于2006-10-16 15:55:00 IP: 221.12.171.*
| 人应该时刻反省自己 在这个浮躁的社会里面能做到心情平静去做学问的人不多了 |
pacman2000 发表于2006-10-16 13:29:00 IP: 220.178.29.*
| 类似的问题还有GC: 资源管理实在太重要了,因此不能交给程序员做。 资源管理实在太重要了,因此必须交给程序员做。 |
婚庆产品 发表于2006-10-16 16:01:00 IP: 218.61.150.*
| >>那你用struts和用那个集成开发工具生成的库有什么不一样? G真笨,这样的问题都回答不了!! 如果说 struts 在 二楼的话,那么 那个集成开发工具生成的库 至少在五楼以上,struts 更接近底层! 我现在还无法直达地下室,但是我也不想只停留在四、五楼的层次。 |
ouhua 发表于2006-10-16 17:30:00 IP: 202.104.106.*
| 软件工程师要有怀疑精神,软件业常常会有一些大师,高手出现,他们的言论不一定具有普遍意义,或者说他们有可能是出于某种动机,因此我们要实事求是,独立思考,千万不能偏信和盲目崇拜. |
ouhua 发表于2006-10-16 17:33:00 IP: 202.104.106.*
| 还有软件工程师的价值体现在哪里,应该关注的是什么,很明显不是Struts这样的东西. |
无知者无谓 发表于2006-10-16 17:53:00 IP: 222.134.121.*
| 什么叫深入底层?你见识过cpu的内部指令集吗?你知道一行程序代码是如何转化为cpu的内部指令,然后完成工作的吗?你知道cpu在执行内部指令时,在cpu内部发生了哪些物理变化吗? 你知道电流是如何携带信息的吗?你知道电流是如何携带信息,然后在一台服务器的硬件内部流动的吗?你知道把程序代码转换成能被电流所携带信息的整个过程吗?你知道代码是如何通过一条小小的导电线缆将信息传递出去的吗? |
无知者无谓 发表于2006-10-16 18:05:00 IP: 222.134.121.*
| pacman2000 发表于2006-10-16 13:27:00 IP: 220.178.29.* 这个正好说明了为什么开源软件在程序员中很受欢迎,因为程序员拥有自由的权力,而不是处处受限制却一点没有办法。 ---------------------------------------------- 如果一味的追求自由的权力,为何不自己打造一款cpu,紧接着自己再打造出一整套完整的硬件系统,然后再自己搞一个操作系统的内核,然后再去开发真正意义上的自由软件。 如果现在还在使用着别人开发出来的硬件,又使用着别人设计出来的操作系统内核,然后再在此基础上去开发所谓的自由软件,这不是自欺欺人吗? |
无知者无谓 发表于2006-10-16 18:20:00 IP: 222.134.121.*
| 清秋冷月 发表于2006-10-16 11:22:00 IP: 207.46.89.* 这个比喻非常精辟,非常好,说出了我的心声! 实际上,我认为目前中国的程序员(包括正在大学里的计算机系学生)当中,至少有80%根本就不适合这个行业!他们就是根本没有认识清楚自己,只认为搞电脑看上去很NB,搞电脑听说能当白领……就一窝蜂地挤进来了! ------------------------------------------------------------------- 他们岂止是没有认清自己,他们通常都特别的有自信,自我感觉都特别的良好!他们在思考问题的时候,太过于想当然了。他们通常认为只要是别人会的,我同样也会。别人能做到的事情,我同样也能做到。比尔。盖茨能成为世界首富,我为什么就不可以?哈哈哈。。。。 等着看吧,无知者都会因为自己的当初的愚蠢行为而买单的!自己种的苦果,一定要自己独自去享用才行!~ |
janze 发表于2006-10-16 19:31:00 IP: 58.33.185.*
| 拖拽和直接的语言在语义上是同等的。但是从现有的经验来看,拖拽能够比较好的表达简单的语义。而直接的语言能够表达复杂的语义。有一个比方,小孩子和动物容易看懂手势和肢体语言。但是,等小孩子掌握了语言之后,它的基本交流会用语言,手势只是会起辅助性的作用。而动物永远只能是用简单的交流方式。 这就是程序员为什么想要。。。 |
我愚钝 发表于2006-10-16 21:20:00 IP: 222.64.81.*
| 这故事想说明什么? 要看代码?struts其实和拖拽没什么不同?要自省?要每天变着法子想自己龌龊思想的哪个犄角旮旯里还有没被“省”过的余孽? 坦白的说吧,我觉得这种拐弯抹角用一个其实八竿子打不着的比方来构造一些看似哲理或者禅意的说教,和装B大概没什么不同,而且装得还不太高明。那么多人在这里讨论了这么多,你们谁能告诉我你们讨论出了什么懂得了什么?得到了什么对你们的开发工作有益处的启迪了? 空坐谈玄,不如起而行之。写几段代码,看点有用的书,和家人聊聊天,比在这里一日三省吾身,不知道有用多少。 |
匿名 发表于2006-10-17 22:05:00 IP: 61.149.133.*
| 毫无意义的争论。Simon 跟G说的是两个概念的问题,Simon偷换了概念。谁说 "用Visual C++,就没有人觉得那是把程序员变成傻瓜呢" 这个前提就错了,^_^。 |
匿名 发表于2006-10-18 10:09:00 IP: 222.128.1.*
| 我想可能Simon理解错了G的意思,G 说”我觉得学不到东西,所以就走了“,我感觉并不一定是说工具本身,而是表达希望自己更进一步提高自己,不管是从业务能力,还是技术能力上,相对于现在激烈的市场竞争,我想努力提高自己,学习一些相对门槛比较高的技术和知识,是有必要的。而对于Simon感觉象个学究,喜欢说教,呵呵,言重。把"用Visual C++,就没有人觉得那是把程序员变成傻瓜呢" ,这句话也有问题吧,微软不就想倡导傻瓜式开发吗。 |
陈吉朝 发表于2006-10-19 15:48:00 IP: 210.73.58.*
| 现在的做开发就象是接力赛,接了别人的棒后要往前跑,而不能重新往回跑到起点再跑向终点,G为什么那么想呢,有了汽车偏偏要自己不行,老了健身不成? |
NameNick 发表于2006-10-23 10:01:00 IP: 10.16.26.*
| 你没有错,G也没有错,他的话有一定道理。“那个组用国内某公司开发的集成开发系统”,请问该 公司的这个集成开发环境象JBuder、Eclips或Struts业界普遍使用的东西吗?显然不是,我曾经面试 过一个从某大公司出来的人,他只会用自己公司开发的那一套环境做开发。外面大多数公司采用的St ruts,Spring,hibernate等东西都不了解,由于项目很紧没有时间给他学习,只有请别人了。 |
江千帆 发表于2006-10-24 20:36:00 IP: 218.80.146.*
| 在我看来,学习并不在于使用的工具。 struts也好,C++也好,图形化开发也好,其本质在于解决问题的思路,而不是工具本身。 由于并不知道该图形化语言究竟叫什么名称,姑且称之为X。X具备了大量的现有模块,通过组装就能够实现一定的功能。作为一个从代码级别开发的程序员,最能从中得到的就是“代码模块的设计利弊”“哪些模块化的方式是带来麻烦的”“那些模块化的方式是有用的”以及“那些模块化是它没有实现的”。 学无止境 |
来自:http://blog.csdn.net/cunruizhai/archive/2006/10/15/1335694.aspx

