论坛首页 综合技术论坛

做一个 Dirty 的程序员

浏览 9029 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-12-22  
去年姚明有一场球打的很漂亮,火箭队的教练汤帅说姚明变“Dirty”了。直接翻译过来就是变“肮脏”了,这不是骂人吗!但是其实汤帅说姚明打球打得很“Dirty”是对姚明最大的夸奖,意思是他打得很实用,很有侵略性。
我现在想想我们也应该成为“Dirty”的程序员。那么什么是我心目中“Tidy” 的程序员呢?就是那些言必称微内核、言必称设计模式、言必称 OOAD、言必称 UML、言必称多层结构、言必称 CMM 的人。无时无刻不在显示着他们的专业身份。这些人往往写出过一大批语言华美的文章,在《程序员》之类的杂志上面发表过数篇论述“企业级”应用的文章。他们做的任何事情都使得他们更加象专家。使我想到一句话,“除了临门一脚,怎么看都象是球星。”
相比之下 Open Source 的开发者可没有他们那么光鲜。Linus、Kent Beck、Gavin King 关心的可不是什么是否一定要用微内核、是否一定要用设计模式这样的问题。他们只关心架构是否实用,是否能真正解决问题。他们是解决问题的人。就象 potian 所说,他们是真正的悟道者。
在软件开发中,那些真正的脏活累活解决起来就很简单吗?这些脏活累活可以不用做吗?那些“Tidy” 的程序员总的说来可以分成两类,一类是几乎就没有做过脏活累活,但是天资聪明,以很短的时间读过了很多书。另外一类是以前做过脏活累活,也不见得有多少收获,现在学而优则仕,已经不必再做脏活累活了。感觉良好之余,摆摆老资格,写几篇掏糨糊的文章教训教训小字辈。
坐而论道是永远不能懂得开发的真谛的。国内软件开发者存在的问题不是你是否要用这个框架那个框架的问题,是你是否有能力另出机杼创造出一个更好的框架的问题。Open Source 不仅仅给你了鱼,还给你了渔,但是你有能力成为那个打渔人吗?
不是做任何事情都必须一招一式按部就班的。等你招式练好了,机会早就没有了。

科学的态度是“大胆假设,谨慎求证”,但是现在国内软件领域“大胆假设,不必求证”的现象实在是太多了,所以有感而发。
   发表时间:2003-12-22  
呵,我们公司有人言必称框架,avalon,设计模型,层次架构的
0 请登录后投票
   发表时间:2003-12-23  
很多技术,不仅仅是说出一个名字来,能明明白白的讲清楚才是真懂,越能细化的讲清楚, 说明知道的越清楚。 有时候看起来一个简单的概念要解释清楚也不容易哟。
0 请登录后投票
   发表时间:2003-12-23  
“言必称”是一个非常容易达到的阶段,也是一个非常低级的阶段。如果不做一些脏活累活来实践的话,是不可能超越这个阶段的。
“言必称”是因为不自信,希望获得交流和反馈。我说得最多的话往往就是我最不自信的话,我如果非常确信了就很少说了。所以“言必称”说明还没有掌握好。套句张大导演的话“手中无剑,心中有剑”才是最高的境界。达到了这个境界,所有的技术对我来说不过都是工具,只要实用就可以自如地运用。我是技术的主人,我控制技术而不是技术来控制我。就象那些用 EJB 做任何项目的人,我的看法是“有了一把锤子,看到什么都是钉子”。
小时候看过很多武侠书,做软件开发和练武确实有很多相通的地方。
0 请登录后投票
   发表时间:2003-12-23  
呵,灌一下,
dlee最喜欢哪一本,
我是喜欢《铁血大旗门》
0 请登录后投票
   发表时间:2003-12-23  
很多了,
《天龙八部》、《笑傲江湖》、《鹿鼎记》
《多情剑客无情剑》、《边城浪子》、《绝代双娇》、楚留香系列。
早期主要看金庸、梁羽生,我几乎是他们在国内的第一批读者。就是 85、86 年的时候。
后来因为学习原因,没有很多工夫看闲书,主要看古龙的书,因为他的书看得快,几个晚上就能看完。
0 请登录后投票
   发表时间:2003-12-23  
这里还有一个关于“高科技幻觉”的问题。“高科技幻觉”是《人件》中提到的一个概念。大家在 IT 行业工作,感觉自己是掌握最先进生产力的白领,社会的精英分子。每天的工作都应该使用最先进的技术,每一个项目都能学到最新的技术。但是实际上这在任何一家公司里都几乎是不可能的。做项目的目的不是为了让你实践最新的技术,除非你确信这个技术对于项目的顺利完成确实很有帮助,并且能拿出有力的证据说服别人。
想想看你每天的工作究竟哪些是属于真正的高科技呢?与客户交流算高科技吗?需求搜集算高科技吗?设计测试用例算高科技吗?写用户手册算高科技吗?但是这些工作如果不做,项目能顺利完成吗?Brooks 认为“银弹”不大可能出现就是因为软件开发中这些非技术(高科技)的工作量仍然占有巨大的比重。比如你开发出一个系统,用户手册总要写吧?有什么工具可以帮助你从代码自动生成“人性化、傻瓜化”的用户手册呢?
所以对于大多数程序员而言不是如何成为技术狂人的问题,而是如何更好地帮助用户解决问题,借以实现自己的价值。可能很多时候简单的技术就足够了,为什么要华而不实地堆砌那么多复杂的技术呢?还有有些工作从技术上讲没有多少新意,但是仍然是复杂的具有挑战性的工作,就是我说的脏活累活,这些工作也是很值得做的工作。
0 请登录后投票
   发表时间:2003-12-23  
感觉梁羽生的小说在武功描述上吹的不够悬,古龙的在武功描述上吹的太少, 吹的有点太悬了。还是喜欢金教授的,情节,武功 都合大众口味。
0 请登录后投票
   发表时间:2003-12-23  
应该说框架,设计模式没什么不好。“言必称”也没有什么不好啊。毕竟站在前人的肩膀上可以让我们看的更远。但是就象Brooks 所说的“银弹”不大可能出现在软件技术领域。
其实我们缺乏的是对架构和设计模式的深刻理解,甚至于根本不想去做深入的了解,如果深刻理解了就能知道其优缺点。那就会在使用的时候有所取舍。这就象dlee说的不做一些脏活,累活根本不可能了解。但那些非常喜欢谈设计模式或者一说就架构的人未必真的了解这些。
其实还有一个我认为是我们缺少怀疑的思想,我习惯在接受一样新事物或者新技术之前怀疑他,通过了解慢慢的消除怀疑,但使用熟练以后我又要怀疑,难道他这样做是最后的方式?没有更好的方式?
0 请登录后投票
   发表时间:2003-12-23  
一笑所说的就是真正的科学精神,我就是想说这一点。
多一点怀疑精神是健康的,至少可以少走一些弯路,少耗费一些生命做无益之事。上学时读胡适的书深以为然,欣然拜倒为一个实验主义者,怀疑任何没有证据的东西。
中国过去一百年思想界仅仅产生了两个伟人,一个是鲁迅、另一个是胡适。胡适的思想,便是改良当今社会的良药。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics