Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58137
  • 博文数量: 45
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 620
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-21 09:51
文章分类
文章存档

2011年(1)

2008年(44)

我的朋友
最近访客

分类:

2008-09-23 21:45:22

我并不认为自己是一名有思想的程序员,至少我不是一名好程序员,甚至我很怀疑自己目前的状态算不算是一名程序员。借着醉酒的力量,写下这篇文章,与各位共勉。
  当我被分配到一个任务的时候,我自己首先会对这个任务进行大概的估计,然后跟我所熟悉的开源项目进行匹配,看看哪个开源项目跟这个任务的需求最接近,我就想直接用这个开源项目进行二次开放,以便这个任务能够最快,最好的完成,本来这个想法是无可厚非的,站在巨人的肩膀上,可以看的更远一些,底层的很多内容很可能都不用你去写了,复杂的逻辑也有可能开源的项目都已经给你完成好了,你所需要做的,也就仅仅是改动一些特别古怪的需求而已。这就导致了我在完成一个任务之后,对自己的进步非常小,对这个任务的考虑也仅仅停留在任务表面。
  假如找不到一个合适的开源项目跟他比较接近的,可能就需要我手动亲自重新写了,而这个时候,我必然会找一个功能很强大的框架来实现,在Java的世界里,Spring,Struts。( )肯定是一大批人的选择,在Ruby的世界里,RoR肯定是我们不二的选择了,这种情况下,对个人成长的好处可能会比直接用开源项目要好点,但是对一个人的进步,也仅仅是在框架层面上对一个人有进步意义,在语言层面上对一个人的进步,是非常小的,例如RoR这样一个约定胜过配置的思想,可以说,David他是一个有思想的人,他对Ruby很精通,但是我们使用RoR框架的人呢?我们只是被框在RoR这个框架下面的一群人,我们不断接受着David的思想,他对RoR有什么默认的约定,我们就接受这样的约定,我们很难有自己的创新点。
   在很长一段时间里,我总是认为我们用框架来开发应用,其实有点象在唱合唱,大的调子,大的方向,组织都已经给你定好了,你就是调子里唱就可以了,每个人可以有不同的声音,但是你的调子总是相似的。所谓的使用框架之后,项目更易于维护,更容易被别人所接替,那也就是当你不在这个合唱团之后,很容易就可以再找一个人接替你的位置,再用同样的调子接着唱。
  当然也有一些不使用框架的人,他们恐怕相当一大部分停留在抄袭书中或者还在各大论坛求示例代码的阶段,他们有没有思想,我就不做详细讨论了  这个问题导致的结果就是我们根本没有创新,我们仅仅是使用别人的代码,或者是使用别人的框架,或者压根就是抄袭别人的代码,然后就说是自己弄的。就好象国内很多公司,用的就是开源代码,套一套自己的包装,就说拥有自主知识产权等等。其实中国近期一直都被认为善于复制,缺乏创新。
  其实这跟我们的教育制度可能也有关系,我们的应试教育总是有一个标准答案,因此我们在写程序的时候也总是在遵循一个标准,遵循现有的开源项目,遵循现有的框架,遵循现有的标准等等。没有标准,我们也为假设他有一个标准,我们会去参考别人的代码是怎么写的,然后去抄袭他,去模仿他。
  当然我并不是排斥去遵循标准,只是因为感觉我们过于遵循标准,导致我们缺乏创新,缺乏创造。
  我们的民族是非常具有创造精神的民族,我们有四大发明,而我们为什么不能再创造出来奇迹呢?
  我们在分析问题和解决问题的时候,应该透过任务的表面看到任务的本质和规律,就好象David写出Rails一样,他能够发现软件开发过程所常用的一些操作,并且把他给抽象化,并且再具体化地用代码实现,之后推广给别的程序员用一样,我们也应该能够做到这点。
  我们更不应该为现有的框架及标准所束缚,使我们只能被别人牵着鼻子走,我们应该有自己的想法,自己的实现逻辑,自己的实现原则,要力争在合唱中充当领唱或者指挥的角色,而不仅仅是一名合唱者,那有你和没你没有什么区别。
  当我们有了自己的思想之后,我们就可以用自己的思想来实现自己的框架,制定自己的标准,最终,你就成为一个思想的传播者,成为一名技术带头人,而不是一个跟班的了。
  有颜色的猫,猫言猫语,2008年1月27日醉酒书,欢迎转载,请不要把我的署名删掉就可以了。
 
阅读(596) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~