当前位置: 首页 > news >正文

恶灵传说之老程序员

这则故事写于1998年1月,爱沙尼亚,塔图。是将我在当地日常工作经历和爱沙尼亚一个民间传说融合改编而成。当时我们做了大量的系统分析,因此故 事中提到了CASE工具和图表。不像今天的办公室那般宽敞,当时的办公场所十分拥挤,而且我们真的常常熬夜加班然后在办公室睡袋里过夜。甚至有人会电击别 人。趣事很多,容我慢慢道来……

一个老程序员

这家伙是晚上被带到公司的。

“他们把你招收进来了?”一个程序员问,“估计是把你灌醉了然后再签约的吧——像我们所有人一样。要是头脑清醒的话,谁会来这样的公司啊。”

“你知道你顶替的那个人的下场吗?”另一个问。

“项目经理干掉他了,一拳撂倒,然后杀死。好多人都被项目经理揍死了。”

“意料之中,这没什么。”新来的家伙平静地说。“我还没见过不开除员工的公司!我是个老程序员了, 所有的操作系统我都测试过,见过的暴力冲突多了去了,这是无法避免的。想当年,男人们都是爷们!每个人都手里拿着高压电线走来走去的,逮住机会就电别人。”

“我是唯一活下来的,成功地完成了项目,并找到新的工作。没错,我了解软件工程的传统。”

说完后他钻进一个睡袋,睡着了,鼾声如雷。

早晨,项目经理问起新员工的情况。

“人呢?”他问一个分析师。“我要给他介绍一下公司的守则。”

分析师低头看着地板,红着脸说:

“呃……怎么说呢……他在休闲室呢……我劝了但……”

“什么!!”项目经理火冒三丈。“闲着呢?他当公司是疗养院还是咋地!项目问题一大堆呢!带我去找他!”

那程序员的确是在休闲室里闲着,还不时懒洋洋地打呵欠。

当看到项目经理时,他笑容满面。

“我刚在想我年轻的时候,”他说。“男人都是钢铁炼成的。有无数次我需要在机器码中寻找bugs。有一天我碰到了一个棘手的。天刹的!我要把所有东西重新编译三遍。但最后我把bug给揪出来了。”

“什么!”项目经理怒吼。“你还有脸说这些,你这个混蛋!”

“嗨!别着急!”新来的不高兴地说。“不许跟老程序员这样讲话,我还没说完哩。还有一次我们要给一个数据库引擎打补丁。全组人都不知该如何下手,最后只能靠我。‘来啊,你这老东西!’ 我告诉那个引擎。‘我要碾碎你。’ 我直到现在还记得这事。”

项目经理听后脸色发青。

“你知道你在跟谁说话吗!” 经理咆哮。“你在跟项目经理说话呢!”

“你也配叫项目经理?你就是个屁。” 老程序员答道。“像你这样的经理过去我见得多了。你知道吗,当年的项目经理才真叫项目经理。他们沉重的脚步在走廊里踱来踱去,双眼浮肿,不断地咒骂机器, 最后所有机器都给出了GPFs(译注:一般保护错误。)。像你这样的脚本小子根本不行。回屋待着吧。我会搞定所有问题。我熟悉C++就像屁股熟悉椅子一 样。”

“那个谁,” 老程序员对分析师喊道。“你用了多少CASE工具?”

“一个,” 分析师窘促答道。

老程序员直摇头。

“真是稀罕事!”他说。“应该至少要用7种CASE工具,所有的图表每天要重画12次。当年都是如此。叫所有人去画!”

“我认为……” 被震慑到的项目经理想说些什么,但是老程序员让他闭嘴。

很快文件服务器里所有的磁盘空间就用完了,他命令CFO去买新的硬盘。

“这样我们的钱很快就会花光的,” CFO强硬回应。

“公司就不该省钱,” 老程序员坚定地说。“想当年,我在FreeBSD上写程序的时候, 所有人写了7个月也没拿一分钱。你们这些人懂得什么是软件工程吗?”

“你用的软件是哪家的?” 老程序员命令狠狠的问分析师。

“微软的。” 分析师答道。

“立刻删掉,” 老程序员说。“你见过有人用微软的软件吗!这明摆着有害无益!所有的程序员都知道微软是邪灵的代表。赶快把它删了!我记得有一次一个笨蛋项目经理叫人安装微软的软件。当晚魔鬼就从操作系统里面爬出来,把睡在睡袋里的人的血都吸干了。我是唯一一个幸存的。”

吓坏了的人们立刻把所有的硬盘都格式化了。

“耶稣圣母玛利亚啊!” 几乎休克的项目经理叫道。“现在我们肯定无法在限期前完成项目了!我要疯了!”

“搞软件工程的就该疯,这是唯一出路,” 老程序员表示同意。 “想当年,有一个项目把全公司的人都逼疯了。”

项目经理呻吟着逃回自己的办公室。

老程序员则到处逛,最后进了系统管理员的房间。

“服务器出问题了?” 思索片刻后他问。

“我有个图形界面来监视服务器,” 系统管理员说。

老程序员吹了一句口哨。

“问题就在这里!” 他说。“图形界面! 是稀罕事!想当年,没人用图形界面。命令行就是系统管理员的全部。图形界面只会误导人。” 他把管理员推开,删除了X-Windows, 然后疲劳过度,回去睡了。

过了一会,秘书说要临时停电一会儿。项目经理——他的表情告诉人们他最近几个小时过得不太好,跑出他的办公室,告诉大家保存一下工作。

“垃圾!” 老程序员说。“拉闸就拉闸!你们都闭嘴,我来搞定数据存档!”

没错,停电了,所有的数据都没了。

公司当时的项目是跟微软合作的,微软方面的代表时常在晚上来检查项目的进度。

但是系统管理员没法工作,数据找不回来。微软的代表非常生气。

“这下我们要破产了,” CEO哀叹。

“公司本来就是要破产的,” 老程序员依然平静地说。“没有哪家公司不会破产! 我在业内这么多年,所有公司都破产了。想当年……”

他还没说完,微软的一队律师就到了,把他和所有人一起抓去见比尔盖茨。

坐在高贵无比的宝座里的比尔扶了一下他的圆形眼镜。

“你们不用担心,” 他说。“你们将会变成我的码奴我做项目,就像所有来到这个领域的人一样。 从现在开始,你们是我的奴隶。”

短暂的沉默后,人们突然听到了老程序员的声音,他在批评MS Word。“谁会在PC上运行Word啊。Word属于大型主机。”

“这不是那个老程序员吗!” 比尔很惊讶,明显受到了刺激。“又是你!”

“没错,就是我,” 老程序员答道。“你的眼镜怎么是圆的?眼镜从来都应该是方的呀。”

“马上把他给我轰走!” 比尔咆哮。“现在立即马上!”

于是律师们就把老程序员赶走了。

第二天,当他坐在终端前敲代码时,两个人走进了他的房间。

“我们公司需要一名富有经验的程序员!” 其中一个人说。

“我就是,” 老程序员答道,然后跟那两个人离去…
文章转载自 开源中国社区 [http://www.oschina.net]

相关文章:

  • 安装zabbix 遇到的故障
  • 场景案例:多表关联update(用户积分奖励)
  • Node.js+Koa开发微信公众号个人笔记(一)准备工作
  • Linux常见命令(二)
  • Django web project
  • okhttp使用总结
  • IP address could not be resolved: Temporary failure in name resolution
  • java基础系列:(一)初始化与清理
  • tarjan强联通分量(模板)
  • 4.3.4 空值与聚合函数
  • AC日记——矩阵取数游戏 洛谷 P1005
  • 【Docker镜像】docker默认存放路径
  • iOS多线程---NSOperation的常用操作
  • Spring源码-IOC容器(六)-bean的循环依赖
  • Android 图片缓存处理
  • [Vue CLI 3] 配置解析之 css.extract
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • CODING 缺陷管理功能正式开始公测
  • git 常用命令
  • Hibernate最全面试题
  • jQuery(一)
  • nodejs实现webservice问题总结
  • React-生命周期杂记
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • ubuntu 下nginx安装 并支持https协议
  • vue-loader 源码解析系列之 selector
  • 阿里云Kubernetes容器服务上体验Knative
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 计算机在识别图像时“看到”了什么?
  • 解决iview多表头动态更改列元素发生的错误
  • 开源地图数据可视化库——mapnik
  • 利用jquery编写加法运算验证码
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 巧用 TypeScript (一)
  • 通过几道题目学习二叉搜索树
  • 小程序开发中的那些坑
  • 一道闭包题引发的思考
  • 正则与JS中的正则
  • Java总结 - String - 这篇请使劲喷我
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​低代码平台的核心价值与优势
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 计算机视觉入门
  • #QT(智能家居界面-界面切换)
  • $.proxy和$.extend
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (2)STL算法之元素计数
  • (7)STL算法之交换赋值
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm高校实验室 毕业设计 800008
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (五)IO流之ByteArrayInput/OutputStream
  • (新)网络工程师考点串讲与真题详解