×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

前段时间有过JAVA和PASCAL之争,这里转一个有关的文章。我比较同意里面的观点。

本文发表在 rolia.net 枫下论坛我看程序员
文章来源: 汪永利 于 2001-10-26 0:39:00:

我看程序员

朋友请我写篇文章,谈谈如何编程。我非功成名就之高人,自己那点儿经验拿出来会被人笑话的。但是看到周围很多师弟师妹正在走我以前走过的错路,使我不得不斗胆说几句,只望大家在程序员的道路上一帆风顺就好。

程序员——一个毁誉参半的称谓。想当初曾经被视作英雄,众人景仰。而如今,却被许多人瞧不起,客气的说他们是“高技术工人”,不客气的就直接称其为“牛”了。图灵奖获得者,Edsgar Dijkstra在他的《卑微的电脑程序员》一文中说:"对我来说,电脑程序员是个尊称,但对其他一些人来说,电脑程序员确是不懂他自己在干什么,而是只会依指令行事之徒,一些只知道分析、追求语言特性的人。”看来,许多人曲解了“程序员”这个名词的涵义。那什么样的人才是真正的程序员呢?我斗胆给程序员分为四类,请大家对号入座。

一、高中生程序员

这里丝毫没有贬低高中生的意思。在美国,有大量的高中生从事程序员的职业,他们的工作就是编码、编码、再编码。很可悲,目前中国的大学生基本都是做这样的工作,甚至某些硕士、博士也是如此。

这一类型的程序员认为语言是最重要的。他们认真地学习语言的语法和函数库。他们不停地学习语言,以为只要掌握的语言多、新,就能有竞争力,有好的工作。他们确实很厉害,VC、VB、Delphi、PB、Java、ASP、PHP等等都能拿来就用。但是,正因为他们,编程才被称为“牛都可以干的事”。

在正规的公司,高中生程序员整日都在添表格——工程师程序员把软件划分模块,甚至详细定义好了每一个函数,高中生们就是向这些函数里添加代码,如同添表格一样。很多时候,高中生甚至不知道他做的项目是什么,只知道这个函数的功能是什么。

在国内,如此正规的软件公司很少,大多数还处于作坊式的开发模式,所以,高中生程序员还是很吃香的。几个人一商量就开干,没有完整的计划,不考虑维护性、重用性,注释懒得写,文档更不提。这样,项目非常依赖这几个人,自然他们的日子过得很好。他们最头疼的事情是后期维护,每当要加碱功能、改bug的时候,他们就会发现自己已经看不懂自己写的代码了。

软件工程正在逐步实行,公司越来越正规,高中生程序员也就越来越难做了。年轻时,他们或许可以打拼一番,但是30、40岁之后,当他们对新语言、新技术的接受能力已比不过年轻的程序员时,他们也就退出了竞争行列。

当“软件集成电路”的梦想变为现实,当各种可重用控件、组件、类库都已经具备,那时就不再需要高中生程序员了。

二、黑客程序员

黑客决不是那些到处黑机器搞破坏的人,他们是一群痴迷于技术的人。

他们从不循规蹈矩,不信奉任何规则、定理,总是从常人不可想象的角度去思考、编程、使用工具。这样做的结果,或者发现系统漏洞,或者发现更高效、巧妙的方法。他们从不满足于使用别人封装的接口、定制的框架,总是要刨根问底,对技术的钻研直至底层。

他们中间,高学历者并不多,多的是热血青年。对他们来说,当黑客程序员决不是职业,而是爱好。当一个人对自己所作的事充满兴趣时,他肯定能作出非凡的成果。这就是他们成功的根本原因。

黑客是推动技术进步的最重要力量之一。

三、工程师程序员

他们是企业的中坚,属于管理阶层。人们送给他们美称——软件工程师,但他们仍喜欢说自己是程序员,因为他们中的大多数是从高中生程序员成长起来的。

“软件工程”是他们的法宝,在这套理论导引下,他们领导者整个软件的开发过程。他们知道什么样的软件是拥有市场的,知道用户需要什么样的软件,知道该让谁来编代码、谁来测试,使整个团队协调一致。他们设计出了一个个可重用的模块,让公司的开发工作越来越高效。他们设计出的系统都是可维护的,能够方便地做各种修改、扩充。总之,他们是为高中生程序员做表格的人。

他们也懂技术,不过他们更注重的是技术的思想而不是末节的使用。比如当Java出现的时候,他并不是去学Java的语法、函数库,而是看各种介绍Java的文章,听别人的评论,领会Java的功能和思想,思考怎样利用Java的特性。

随着软件业的发展,必须抛弃作坊式的手段,实施基于团队的科学的管理和开发过程。所以对工程师的需求越来越大,然而现在合格的、富有经验的工程师却很少。

四、科学家程序员

有些科学家在设计出算法后,将它交给别人在计算机上实现。另一些科学家在设计的同时便考虑到可实现性,并能利用计算机的特性增强算法,更可贵的是他们饶有兴致地自己编程实现算法。后一种科学家便是科学家程序员。

他们具有深厚的理论水平,带动着计算机领域中各个学科的前进。更多精彩文章及讨论,请光临枫下论坛 rolia.net
Report

Replies, comments and Discussions:

  • 工作学习 / IT杂谈 / 前段时间有过JAVA和PASCAL之争,这里转一个有关的文章。我比较同意里面的观点。
    本文发表在 rolia.net 枫下论坛我看程序员
    文章来源: 汪永利 于 2001-10-26 0:39:00:

    我看程序员

    朋友请我写篇文章,谈谈如何编程。我非功成名就之高人,自己那点儿经验拿出来会被人笑话的。但是看到周围很多师弟师妹正在走我以前走过的错路,使我不得不斗胆说几句,只望大家在程序员的道路上一帆风顺就好。

    程序员——一个毁誉参半的称谓。想当初曾经被视作英雄,众人景仰。而如今,却被许多人瞧不起,客气的说他们是“高技术工人”,不客气的就直接称其为“牛”了。图灵奖获得者,Edsgar Dijkstra在他的《卑微的电脑程序员》一文中说:"对我来说,电脑程序员是个尊称,但对其他一些人来说,电脑程序员确是不懂他自己在干什么,而是只会依指令行事之徒,一些只知道分析、追求语言特性的人。”看来,许多人曲解了“程序员”这个名词的涵义。那什么样的人才是真正的程序员呢?我斗胆给程序员分为四类,请大家对号入座。

    一、高中生程序员

    这里丝毫没有贬低高中生的意思。在美国,有大量的高中生从事程序员的职业,他们的工作就是编码、编码、再编码。很可悲,目前中国的大学生基本都是做这样的工作,甚至某些硕士、博士也是如此。

    这一类型的程序员认为语言是最重要的。他们认真地学习语言的语法和函数库。他们不停地学习语言,以为只要掌握的语言多、新,就能有竞争力,有好的工作。他们确实很厉害,VC、VB、Delphi、PB、Java、ASP、PHP等等都能拿来就用。但是,正因为他们,编程才被称为“牛都可以干的事”。

    在正规的公司,高中生程序员整日都在添表格——工程师程序员把软件划分模块,甚至详细定义好了每一个函数,高中生们就是向这些函数里添加代码,如同添表格一样。很多时候,高中生甚至不知道他做的项目是什么,只知道这个函数的功能是什么。

    在国内,如此正规的软件公司很少,大多数还处于作坊式的开发模式,所以,高中生程序员还是很吃香的。几个人一商量就开干,没有完整的计划,不考虑维护性、重用性,注释懒得写,文档更不提。这样,项目非常依赖这几个人,自然他们的日子过得很好。他们最头疼的事情是后期维护,每当要加碱功能、改bug的时候,他们就会发现自己已经看不懂自己写的代码了。

    软件工程正在逐步实行,公司越来越正规,高中生程序员也就越来越难做了。年轻时,他们或许可以打拼一番,但是30、40岁之后,当他们对新语言、新技术的接受能力已比不过年轻的程序员时,他们也就退出了竞争行列。

    当“软件集成电路”的梦想变为现实,当各种可重用控件、组件、类库都已经具备,那时就不再需要高中生程序员了。

    二、黑客程序员

    黑客决不是那些到处黑机器搞破坏的人,他们是一群痴迷于技术的人。

    他们从不循规蹈矩,不信奉任何规则、定理,总是从常人不可想象的角度去思考、编程、使用工具。这样做的结果,或者发现系统漏洞,或者发现更高效、巧妙的方法。他们从不满足于使用别人封装的接口、定制的框架,总是要刨根问底,对技术的钻研直至底层。

    他们中间,高学历者并不多,多的是热血青年。对他们来说,当黑客程序员决不是职业,而是爱好。当一个人对自己所作的事充满兴趣时,他肯定能作出非凡的成果。这就是他们成功的根本原因。

    黑客是推动技术进步的最重要力量之一。

    三、工程师程序员

    他们是企业的中坚,属于管理阶层。人们送给他们美称——软件工程师,但他们仍喜欢说自己是程序员,因为他们中的大多数是从高中生程序员成长起来的。

    “软件工程”是他们的法宝,在这套理论导引下,他们领导者整个软件的开发过程。他们知道什么样的软件是拥有市场的,知道用户需要什么样的软件,知道该让谁来编代码、谁来测试,使整个团队协调一致。他们设计出了一个个可重用的模块,让公司的开发工作越来越高效。他们设计出的系统都是可维护的,能够方便地做各种修改、扩充。总之,他们是为高中生程序员做表格的人。

    他们也懂技术,不过他们更注重的是技术的思想而不是末节的使用。比如当Java出现的时候,他并不是去学Java的语法、函数库,而是看各种介绍Java的文章,听别人的评论,领会Java的功能和思想,思考怎样利用Java的特性。

    随着软件业的发展,必须抛弃作坊式的手段,实施基于团队的科学的管理和开发过程。所以对工程师的需求越来越大,然而现在合格的、富有经验的工程师却很少。

    四、科学家程序员

    有些科学家在设计出算法后,将它交给别人在计算机上实现。另一些科学家在设计的同时便考虑到可实现性,并能利用计算机的特性增强算法,更可贵的是他们饶有兴致地自己编程实现算法。后一种科学家便是科学家程序员。

    他们具有深厚的理论水平,带动着计算机领域中各个学科的前进。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • 比较精辟,我希望能看到类似的评论所谓“IT人士”,“IT高手”的文章。