我看程序员

原创 2001年01月04日 10:07:00

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

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

一、高中生程序员

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

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

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

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

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

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

二、黑客程序员

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

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

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

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

三、工程师程序员

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

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

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

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

四、科学家程序员

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

他们具有深厚的理论水平,带动着计算机领域中各个学科的前进。

yours Sunner
sunner@0451.com
2000-12-27

java程序员面试自我介绍

当面试考官随便地问你:“谈谈你自己的情况如何?”这是面试中的第一个问题。此刻,你应把在此之前所有紧张不安的情绪稳定下来。因为这个问题,应试者已经做了充分的准备,并且有足够的信心和勇气相信自己能回答好这...
  • novelly
  • novelly
  • 2013年05月12日 00:38
  • 4919

《程序员的自我修养—链接、装载与库》

《程序员的自我修养—链接、装载与库》 ——读书笔记 2013年11月18日 2.1 被隐藏了的过程 预编译(cpp or gcc -E)-> 编译(cc1包含了预编译 or gcc -...
  • HuiyuYang_fish
  • HuiyuYang_fish
  • 2013年11月18日 19:22
  • 2832

很认真的聊一聊程序员的自我修养

今天逛博客园,看到了一篇推荐的文章《浅谈程序员的英语学习》,就点进去看了一下,对于文章中的观点我非常认同,英语是非常重要的,但文章站的高度还是太高,具体表述的学习方法我不是很认同,也认为不太实际,恰好...
  • horizon_line
  • horizon_line
  • 2016年07月24日 18:23
  • 10780

Android 程序员面试题精编第四版

  • 2018年01月11日 13:01
  • 3.21MB
  • 下载

程序员算法大全算法数据结构智力题

  • 2018年01月15日 14:04
  • 96.47MB
  • 下载

程序员代码面试指南 IT名企算法与数据结构题目最优解 ,左程云著 ,P513.pdf

  • 2018年01月15日 11:32
  • 80.91MB
  • 下载

程序员考试范围

  • 2018年01月11日 15:07
  • 9.01MB
  • 下载

为Java程序员而准备的Go入门教程指南.pdf

  • 2018年01月09日 22:21
  • 579KB
  • 下载

程序员突击:Tomcat原理与Java Web系统开发pdf及源码

  • 2018年01月05日 21:18
  • 67.42MB
  • 下载

程序员跳槽全攻略

  • 2018年01月09日 11:02
  • 1.48MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我看程序员
举报原因:
原因补充:

(最多只允许输入30个字)