你写的第一个软件是什么?它还在运行吗?


日期: 2011-01-05 20:59 | 联系我
关注我: Telegram, Twitter

  上个月,有个叫 Pablo程序员, 在 Stack Exchange 上提了个问题 How can a new programmer impress the software engineer (boss)?(作为新手程序员如何给软件工程师出身的老板留下好印象?)

  Joel Spolsky(牛站 Joel on Software 的所有者,著有《软件随想录》的一书) 看到了这个问题,他没有正面回答,而是在回复跟贴讲了一个程序员阿士顿 (Ashton) 的故事。 Dreamer's BLog将这个故事翻译为了中文。

  这个可怜的程序员阿士顿,自从他工作起,他写过的任何一行代码都没有运行过。过去两年内他做的任何一件事情都没有对世界产生过什么影响。 (Not one line of code that he had written had ever run. Not one thing he had done in two years of work made any impact on the world.)

  那么,你写的第一个正式软件作品是什么(是软件作品,不是自己初学练手之类的作品)?它现在还在运行吗? 当时你是怎么评价你的这个产品?现在又是怎么看?

附录:程序员阿士顿的故事

  我告诉过你有关阿士顿的事情吗?

  阿士顿是一个典型的吃玉米长大的农场男孩,他的父母曾经是嬉皮士,从来没有真正地同心协力过,直到有一天他的妈妈继承了密歇根农村的15亩地。然后他全家搬到了那里,买了一对奶山羊,靠在农贸市场把有机山羊奶酪卖给雅皮士们谋生。

  那个时候阿士顿才10岁,他需要每天早晨4点起床给那些该死的山羊挤奶,这活非常累。阿士顿很喜欢上学,因为上学就意味着不需要跪在羊粪里工作了。整个高中他都异常努力,希望可以拿到一所名牌大学的奖学金,然后他就可以离开农场了。在大学里,他发现大学生活比农场的生活轻松多了,所以搞不明白为什么每个人不能像他那样每科都拿到A。他选择了软件工程作为自己的专业,因为他深信一个工程师绝对不需要早晨4点就起床。

  阿士顿就这样从学校毕业了,他对软件产业并没有很多了解,所以他去了招聘会,申请了3份工作,并且都拿到了 offer 。然后他挑了一个给钱最多的offer:年薪高达 32,000美元,这是一家位于密歇根西南部的大家具公司,为全世界的企业生产办公小隔间(cubicle farm)。入职之后,因为阿士顿再也不想回到农场了,所以他决定给他的老板查理谢尔曼留下一个好印象。

  “这个可不简单”,坐在他隔壁的同事杰夫说:“她在这里也算是个传奇人物了。”

  “你的意思是?” 他说。

  “嗯,你还记得几年前吗?那个时候到处都是关于千年虫的话题。”

  阿士顿可能是太年轻了。“千年虫?”

  “是这样的,没有人预料到在60年代写的程序在2000年还会继续运行,所以当时给年份只留了2个数字的存储空间,也就是说 1999 被存储为 99 。所以当 2000 年到来的时候,计算机系统就会崩溃,因为它会试图将 100 存储成2个数字。”

  “真的?我还以为那只是个传说,” 阿士顿说。

  “世界上所有其它的公司都没有发生什么事故,” 杰夫说。“因为它们花了数十亿美元去检查每一行代码。但是在我们公司,当然了,因为他们是狗娘养的混蛋,所以他们不愿意做任何测试。”

  “完全没有做吗?”

  “几乎没有。零测试。所以你瞧,当人们在2000年1月2号开始工作的时候,发现所有东西都不能工作了。他们不能打印生产计划,甚至不能打开半个装配生产线。没有人知道如何进行工作,工厂差不多停滞了。”

  “你在开玩笑。” 阿士顿说。

  “绝对没有。工厂整个都停止运转了。这个时候查理出现了。她那个时候还是个新人,曾经在微软,可能是NASA,也可能是其它机构工作过……没有人清楚为什么像她那样的牛人会到我们这种地方工作。然而她坐了下来,然后开始写代码。然后写代码。继续写代码。

  查理整整写了九天代码,这九天她没有睡觉,没有吃东西,有些人说她甚至没有去过洗手间。她检查了一个又一个系统并且逐个修复了它们。那真是一件壮观的事情,老天,那些需要被修复的可是 COBOL(一种非常古老的编程语言)系统。在整个工厂处于停滞状态的时候,查理派人去大学图书馆找来了古老的 COBOL 手册。装配线上的工人站着直哆嗦,因为连恒温器也有千年虫问题。而查理则一杯接一杯地喝咖啡,像一个疯婆子一样不断敲击键盘。”

  “哇。她没有去过洗手间?”

  “呃,那个部分可能有稍微那么一点点的夸张成分,但是她的确连续9天工作24小时。总之,在1月11号的时候,就在开工前一天的5分钟,她走出了她的隔间,来到了打印机面前,按下了一个按钮,然后,奇迹出现了!生产计划打印出来了,团队计划也打印出来了。一切都是完美的,经过了完美的格式化,使用了一个稍微较小的字体把 ‘2000’放到了原来写‘99’的地方,她甚至还写了一个新的优先级优化系统,可以帮助工人在不得罪那么多客户的情况下赶上过去9天的生产进度。所有的装配线都开始工作,好像从来没有出现过错误一样,供暖也恢复了,打印出来的发票的年份由‘19100’变成了‘2000′。而且,之后谁也没有找到过一个bug.”

  “得了吧!” 阿士顿说。“谁也写不出没有bug的代码。”

  “她做到了。我亲眼看到的。这是他们第一天无间断地生产了相当于以往两天生产的小隔间。”

  阿士顿目瞪口呆。“这简直是史诗阿。我怎么才能做到那样?”

  “你做不到,伙计,没人能做到” 杰夫边说边回到了自己的电脑前面,继续玩已经玩了4个多月的斯波克和蝙蝠侠之间的在线战争游戏。

  阿士顿不是一个轻言放弃的人,他发誓某一天他也会做一些富有传奇色彩的事情。但现实情况是,再也没有出现另外一个千年虫问题。而且在密歇根的那个地方,没有人可以提供一丁点儿关于如何写好程序的信息。事实上几乎没有什么事情需要程序员去做。分配给阿士顿去做的都是一些无聊的小项目……有一次他花了三个星期来处理这样一个事情:由于两个不同的销售税区域使用了相同邮政编码,导致在某个县的销售税是错误的。有趣的是,这个县位于纽约一个人烟稀少的地方,那里没有人买过办公小隔间,公司在那里也从来没有一个客户,所以他写的代码永远都不会运行。

  日子就这样过去了。

  两年来阿士顿一直带着热情和兴奋投入工作,迫不及待地想有所作为,想做一些了不起的事情。与此同时,他的同事却在上网冲浪,给朋友发短信,连续几个小时地玩电脑纸牌。

  坐在他旁边的那个同事杰夫,只有一个工作内容:每周更新一个“显示本周有多少人在工作中受伤”的 Excel 电子表格。从来没有人受过伤。每周杰夫都打开那个电子表格,然后移动到页面的底部,在那里输入日期和一个数字0,点击保存,然后就完成了工作。

  阿士顿甚至帮杰夫写了一个宏来自动化他的工作。杰夫不想被逮到,所以他拒绝安装这个宏。从那之后他们的关系就变僵了,真是尴尬。

  在阿士顿工作两周年的那天早晨,他和以往一样开车去工作,然后忽然意识到了一些事情。

  他写过的任何一行代码都没有运行过。

  过去两年内他做的任何一件事情都没有对世界产生过什么影响。

  而且在密歇根州的这个地方气温他妈的有24度,天空是灰色的,弥漫着臭味。他开的本田车也是一坨垃圾,在这个小镇上他没有任何朋友,他自己也什么都不是。

  当他开车到林肯大街的时候,他看到了左边他所在的那个家具公司。在公司园区前面飘扬着三面旗帜:美国国旗,伟大的密歇根州的州旗以及一面有公司标识的红白相间的旗帜。他开车进入了转弯车道等待左转,他的前面有一长排车,在高峰期的时候需要等四到五个红绿灯才可以左转,所以阿士顿有足够的时间来回想他写过的代码有没有哪怕一行是被别人使用过的。

  没有。他怔怔地留下了眼泪。

  然后他没有左转,直接往前开了出去,这差点酿成了一起交通事故。阿士顿忘记了自己已经打了转向灯,而打了转向灯就意味着你不能直接往前开。

  他沿着林肯大道开了下去,然后上了高速公路,他只是不停地往前开,一直来到了机场。他把他的垃圾本田扔在了航站楼的前面,心里非常清楚它会被拖走。他甚至没有去关车门就径直走到了柜台前面买了下一趟飞往旧金山的航班的机票,20分钟内起飞。然后他上了飞机,永远地离开了密歇根。


 文章评论

第 1 楼  发表于 2011-01-05 22:29 | 窗帘MM 的所有评论
我和阿士顿的遭遇一样啊……从来都没有运行过………………:( :(

第 2 楼  发表于 2011-01-05 22:44 | devour 的所有评论
我的也一样,没运行过。从来没给别人看过,不知道在我那硬盘里放了多久了。。

第 3 楼  发表于 2011-01-06 09:00 | xjb 的所有评论
前段日子一个前同事找我,让我把5年前用vb写的一个小程序给改改,当时没想到会用到2010年,所以程序到了2011年就出问题了。

第 4 楼  发表于 2011-01-06 09:08 | 雪狼 的所有评论
写过嵌入式软件无数,可惜只有最近三四年的真正投入使用。

第 5 楼  发表于 2011-01-06 09:13 | XiaoHui 的所有评论
原帖由 窗帘MM 于 2011-1-5 22:29 发表
我和阿士顿的遭遇一样啊……从来都没有运行过………………:( :(


你写的是啥?愿闻其详 :D

第 6 楼  发表于 2011-01-06 16:12 | Eye Nuts 的所有评论
早就没有了

第 7 楼  发表于 2011-01-06 18:39 | loveasy 的所有评论
正式软件 这个过滤词可以筛掉一大群人。

第 8 楼  发表于 2011-01-07 07:33 | vonsy 的所有评论
等2020年再回来回答这个问题,现在要创造历史

第 9 楼  发表于 2011-01-07 08:32 | XiaoWu 的所有评论
原帖由 xjb 于 2011-1-6 09:00 发表
前段日子一个前同事找我,让我把5年前用vb写的一个小程序给改改,当时没想到会用到2010年,所以程序到了2011年就出问题了。


我2005年用VB写的一个款业务用软件,至今还在原单位运行,最近没有接到改程序的电话。

第 10 楼  发表于 2011-01-07 09:23 | 512TCT 的所有评论
如果说正式的软件产品的话,只有工作以后写的才可以算进去了。
我比较幸运,大部分代码都还在被使用,而且用户量不算小。
当然,也有那种白写的代码——写完了没用,基至测试都通过了,却没发布。
个人体会,这是咱们这个行业里的正常现象,谁都会经历。没用的代码,就当练习好了,只可惜没啥成就感。

第 11 楼  发表于 2011-01-08 13:57 | terrui 的所有评论
小辉论坛,曾经大学时的记忆,很温馨

第 12 楼  发表于 2011-01-08 15:16 | hbsycw 的所有评论
我的第一个较正式的软件是排课软件,是用VB开发的,这是第一次尝试性的产品,最后是作为毕业设计完结,并未实际运用。但给我的感触很多。我觉得做软件就是做解决方案,关键还是要有解决问题的思想。

第 13 楼  发表于 2011-01-08 15:31 | 小马M5 的所有评论
HOHO.

我的第一个正式的软件,应该是VB6的标准DLL编译插件,VB函数添加大师.

目前应该还是有人使用的,至少我自己还是在用:P

第 14 楼  发表于 2011-01-08 17:26 | xiaodi 的所有评论
我的第一个真正的产品就是FK,用装13的话来讲就是“用户遍及全球一百多个国家”,现在偶尔还有order。

第 15 楼  发表于 2011-01-09 12:37 | livell 的所有评论
付钱买我第一个程序的公司早就倒闭了

第 16 楼  发表于 2011-01-10 08:42 | visharn 的所有评论
写的一个多线程串口 刚刚写 还在运行

第 17 楼  发表于 2011-01-10 11:52 | qlmail 的所有评论
写的第一个商业程序是给公交公司的运营管理系统,是2000写的,用到2004年,后来离开了原来的城市,离开前时做了一次大升级,现在用不用我也不知道了,或许已经更换了。
哎,现在基本已经不怎么写程序了,不过作为个人爱好,有时还是会练练。

第 18 楼  发表于 2011-01-11 03:43 | nixan 的所有评论
我的第一款软件已经找不到了

第 19 楼  发表于 2011-01-11 09:51 | wowww 的所有评论
第一个软件是为学校写的操行分管理系统,估计是没人用了。。。

小辉,朱德,还有联系么。

第 20 楼  发表于 2011-01-11 10:56 | XiaoHui 的所有评论
原帖由 wowww 于 2011-1-11 09:51 发表
第一个软件是为学校写的操行分管理系统,估计是没人用了。。。

小辉,朱德,还有联系么。


我元旦整理以前的纸质邮件, 正巧还看到了他以前跟我写的信. 真巧. 正在想这家伙跑哪去了.

你是他曾经提到过的好友吧? 01年在北京我们见过一次, 后来还通过几次邮件, 再后来, 就没消息了....

有他的联系方式没?

第 21 楼  发表于 2011-01-11 15:24 | 明 的所有评论
第一个做的软件是个考勤系统,不过我去的时候里面的同事都做得差不多了,自己一个人做的是一个动态报表系统,差不多有 10 年了,那个考勤系统好像还在用,报表系统就不大清楚了。。。

第 22 楼  发表于 2011-01-11 19:18 | hl666666 的所有评论
是在大学里读书的时候,那时回家不方便,要在杭州武林门转车,尤其是买票时,常常出现同一个座位号的车票,为此跟其他旅客吵过。自从接触APPLEII上的BASIC编程后,便产生了用电脑买票的想法,不会错,而且有防伪的密码设计,防止有人造假。写了很长一段程序,可惜自己没有计算机,当时也买不起计算机,所以后来就这样搁浅了。再后来,很多时候遇到一些问题,总想着用程序解决,但由于没能跟上时代,就一直在空想,也没有了相应的技术底子,尤其是学的东西不够系统。

第 23 楼  发表于 2011-01-11 23:34 | zip_beyond 的所有评论
可惜啊..还没到那个层次啊.现在还在学习阶段.没有成品哟!

第 24 楼  发表于 2011-01-12 09:11 | zys 的所有评论
我的第一个软件是98年在航天时写的一个遥测数据处理软件,起名叫telemax。当时3dsmax刚出来没多久,啥都想叫个max :)。软件用了些年,多年没回去看过,应该已经更新了。

第 25 楼  发表于 2011-01-12 17:27 | Hex Bolts 的所有评论
永远都没这个机会了。。。呵呵

第 26 楼  发表于 2011-01-12 20:05 | air nailer 的所有评论
那张图片下面那些是什么

第 27 楼  发表于 2011-01-13 12:44 | syy007 的所有评论
是一个电子书制作软件,运行的不错,在市面上占有一定份额,免费版的。

第 28 楼  发表于 2011-01-16 08:07 | swb101 的所有评论
最早用tc写的dos下的小程序早就到垃圾桶里了,不过当时还是挺好用的。

第 29 楼  发表于 2011-01-16 19:16 | C瓜哥 的所有评论
第一个软件是大一的时候用VB写的,现在看起来巨幼稚!

第 30 楼  发表于 2011-01-19 14:02 | 叶开 的所有评论
我写的的第一个程序是五子棋,自己玩了几次,知道我输了为止,然后再也没有运行过……

第 31 楼  发表于 2011-01-20 02:36 | YunHai 的所有评论
我的第一个正式软件就是qq消息发送器 VB开发 当时还收到不少邮件 呵呵 不过现在估计能找到的只有源代码了...

第 32 楼  发表于 2011-01-20 08:24 | xiaoxxb 的所有评论
我写的第一个程序,是为了方便玩游戏写的,用于简化操作。简单点说,就是定义快捷键执行指定的操作。现在不玩游戏了,就没用过了。。。

第 33 楼  发表于 2011-01-21 09:41 | wjun520 的所有评论
还没写过软件呢

第 34 楼  发表于 2011-01-21 19:22 | ljj_weichang 的所有评论
第一个软件是TC在DOS下的一个哗众取宠的小动画,记得当时在学校还流行过,后来怕源码丢了,把源码打在纸上用了200多张A4纸,o(∩_∩)o...哈哈,现在看起来弱弱的。后来就是VC的一个考试成绩学籍管理软件,2000年写的一直在学校用到现在,现在即使知道bug的所在也懒得去改了,呵呵

第 35 楼  发表于 2011-01-22 12:41 | ~ZZ~ 的所有评论
我第一个正式的系统,现在仍然在跑着.初步估计用户20w,原先以为会一直做后续的开发,但是世事难料。。。现在第二个正式的系统已经运行半年了,第三个正式的系统已经完成需求分析和原型设计。。。

第 36 楼  发表于 2011-01-24 12:00 | sunjunpz 的所有评论
自己独立做的软件没有一直在运行

第 37 楼  发表于 2011-01-28 08:18 | gaohb 的所有评论
开心点!全都运行那是扯蛋,全都不运行的会有机会的,我第一个给丢了让我知道鸟多备份!第二个拿奖了可惜现在米有运行,HOHO 到目前幸运的有两个小工具在前效力的公司里用着,估计还凑合吧!

第 38 楼  发表于 2011-01-28 18:14 | 脚本骆驼 的所有评论
只是单纯的研究,未面向市场,面向运行!

第 39 楼  发表于 2011-01-30 09:15 | 白手起家 的所有评论
我的第一份工作是做终端开发,也就是现在的工作,写过不少demo,当初进公司的时候说是开发工程师,可我现在发现每天都在改以前同事的代码,变相的变成了维护了吧

第 40 楼  发表于 2011-01-30 22:17 | omi 的所有评论
好像我的也是。。。。遭遇都一样

第 41 楼  发表于 2011-02-09 00:07 | badants 的所有评论
用VB写了个小朋友算术程序,唉,早就不见了踪影。

第 42 楼  发表于 2011-02-09 16:27 | wanlang 的所有评论
都不知道扔到哪里去了。

第 43 楼  发表于 2011-02-12 13:24 | HC 的所有评论
我写的第一个软件大概是半年前的事情吧,现在都没有用的了,改用新版了。

第 44 楼  发表于 2011-02-13 02:51 | 跳蚤侦探 的所有评论
我写的第一个软件是数据结构演示程序,现在应该没人学TC了

第 45 楼  发表于 2011-02-16 12:11 | 心丁 的所有评论
从没写过,虽然至今仍在互联网行业工作,转运营了。收到邮件还是惊讶加开心的。哈哈。

第 46 楼  发表于 2011-02-21 09:12 | 飞龙 的所有评论
我的第一个软件,没有运行了 :)

第 47 楼  发表于 2011-02-21 23:22 | xjcrlin 的所有评论
我写的第一个软件是给一个电力公司做的,2008年做的第一个商业软件,现在还在运行,经常还去做一下维护

第 48 楼  发表于 2011-03-13 22:08 | aa_qq110 的所有评论
第一个用于生产的作品是语言调度客户端,现在在运行,不过以离开那家公司,不知道运行得怎么样。
当时我尽了最大的努力,现在想来当时总有一股使不完的劲玩命似的干活,那是我成我程序的第一步。

第 49 楼  发表于 2011-03-19 21:15 | 何世友 的所有评论
我第一个应用程序是刚进大学,刚接触电脑2个月,刚开始学C++,写的用来统计调查问卷。
用的古老而丑陋的mfc。现在已经不用了。那年是08年。

第 50 楼  发表于 2011-03-25 11:42 | 昆仑 的所有评论
没有程序员工作经历,我只写过用来练习的小程序。

第 51 楼  发表于 2011-03-30 14:02 | 小豆丁 的所有评论
工作多年。。。很久没上小辉论坛了。。终于。。还是回来了。。。。小激动。。。。都已经改了这么好的名字了。。。

我写的第一个商用软件。。。图书管理系统。。。之前学校写的都应该不算吧

目前它应该还在某图书馆使用,当时接手是一个成品软件,我新加了几个模块,第一次接触的时候,感觉学校学习的东西都是没用的,根本用不上,完全读懂程序后用了3个月时间完成了任务,当时很佩服自己,熬了那么多通宵,看到客户使用的满意,自己很欣慰

现在看来。。。那个软件。。。跟现在的比简直小巫见大巫了

第 52 楼  发表于 2011-04-02 19:35 | palm 的所有评论
我没有写程序,我是做网站,我的网站只有第一个还在,其它的都放弃了。

第 53 楼  发表于 2011-10-10 13:36 | John Doe 的所有评论
第一个写的是excel VBA,05年写的,至今使用还在用。今年更新到6.0版本。只是为了使用和维护方便在excel内预制了很多表格,所以这个excel文件有13MB大小。。。该公司的电脑CPU是1.6G的。

第 54 楼  发表于 2011-11-09 23:45 | xinle 的所有评论
不潜水了,上来呼吸一下。目前阿士顿状态。。。

第 55 楼  发表于 2013-01-04 11:06 | xiaozhang 的所有评论
我也是啊,不知道我的程序现在有没有运行,放在网上,共享了。

第 56 楼  发表于 2013-03-27 15:50 | XiaoLong 的所有评论
我表示我最早的软件由foxpro2.6写成,仅在99年学校举行的一次比赛中运行过一次,当时大约有60多人在同时使用我这个软件。。。之后,就没有之后了。。。。我的软盘早就丢了,一句源码都没了。。。

第 57 楼  发表于 2013-04-01 13:31 | FlyFire 的所有评论
foxbase, foxpro 的年代,好令人怀念啊 :D :D :D

第 58 楼  发表于 2013-04-01 13:39 | XiaoHui 的所有评论
我书柜里还有一堆 5寸的大软盘,那时候调 BASIC, TURBO C, FOXBASE 用的。 :)

第 59 楼  发表于 2013-06-11 20:18 | john 的所有评论
杀人游戏,卖了几十套。偶尔有人在用。偶尔打电话过来说,服务器连不上。但数量很少了。

第 60 楼  发表于 2022-04-14 16:34 | @hackerfollower 的所有评论
第一个程序应该是在文曲星上写的计算个人所得税的,当时是高中,没有收入,所以没人用过
回复于 2022-04-19 12:49:
厉害,文曲星上也有编程接口?这倒是第一次知道。

第 61 楼  发表于 2022-04-19 12:28 | @hackerfollower 的所有评论
具体的型号已经忘了,内置了QBasic,让我们几个数理化偏科男爱不释手,然后几乎人手买了一台。当然,很多时候还是沦为看电子书和玩游戏的玩具了。
回复于 2022-04-19 12:51:
原来这样。在文曲星上编程,妥妥地暴露年龄了。 :-)

共有评论 61 条, 显示 61 条。

当前页面是本站的 Google AMP 版本。
欲查看完整版本和发表评论请点击:完整版 »

 

程序员小辉 建站于 1997
Copyright © XiaoHui.com; 保留所有权利。