程序员的定义

来源:互联网 发布:广联达计价软件试用版 编辑:程序博客网 时间:2024/04/30 06:56

令狐在mikeshi的《程序设计的发展降低程序员的入门门槛????其实那是胡扯……》一文后回复说:你对程序员的定义的确太过苛刻

的确是这样。

我一贯反对在中国推行所谓“软件蓝领”的概念,支持敏捷方法,赞成设计存在于编码过程中的观点。但是这并不是表示我认为经典软件工程是错误的,只是我觉得它们不适合中国的情况。因为至少我们可以看到,在印度,经典软件工程被实践得相当好。所以在印度,程序设计的发展的确降低了程序员的入门门槛——印度的程序员中不乏高中生,甚至前几年有一次夺得世界小姐冠军的那个印度MM也是程序员。

如小雨哥所说:

不要气恼为什么不懂组件开发,不懂何为面向对象也叫程序员,是的,他就是程序员,因为程序员的定义是模糊的。

至于说到SAP,其中大概只有做ABAP部分的算是程序员,其它的相关技术人员,我们通常称之为“顾问”。

但是对于小雨哥对RAD的看法,我是不太同意。那个楼主的观点至少在方向上还是比较正确的。RAD是一个陷阱,虽然可以很简单地开始编码,看上去是在玩电脑,但是随着项目的进展,很快就会出现被电脑——或者说是被之前的代码——玩的情况。

固然说分工可以降低对工人——给人打工,都是工人——知识面的要求,提高其专业程度,但是这需要一个很好的合作基础,并且分工各方都需要有相适应的水平。在中国,这很难做到,绝大部分所谓的设计人员和管理人员都不合格。所以虽然这也不懂那也不懂的人也是程序员,但却常常被认为不是,至少是不合格的程序员。其实不合格的不是他们。

附:

嗯,其实就是我们可以不希望这样的程序员存在,但是不能否定他们程序员这一事实。

我们公司有一套程序,C写的,没有任何面向对象的概念(连“疑似”面向对象的概念都没有),函数命名很古怪(可以想像一下Unix风格的Shell命令),代码阅读起来难度很大。

上次我们公司一个读到这个代码的新人,对此抱怨了两句,结果我们的TeamLeader很严肃的对他说,你不要轻易抱怨,写这个程序的“老家伙们”水平非常高,现在在公司位于很重要的位置。他们不懂面向对象,但是他们懂公司的需求,并能正确的将它们变成代码;不懂现代的项目管理,但他们有自己的一套方法,行之有效。公司同样离不开他们。

其实所谓的“现代理论”未必比老的理论高明多少,对于一个人来说,重要的是他能不能把一种理论(无论是现代的还是古代的)变成自己有效的武器。一个掌握了一种有效武器的人,比掌握了无数新理论但不能有效运用的人要有用得多。

我们真的不应该看不起别人。

2005 12 12 - 18:40 by 令狐虫