acm-header
登录

ACM通信

实践

软件的地狱


软件地狱,插图

信贷:科林·约翰逊

回到顶部

前言:软件地狱是一个类似的故事地狱,第一部分《神曲》但丁在14世纪早期写的。这部文学巨著描述了各种各样的罪人在他们地狱般的死后所面临的谴责和惩罚,作为对他们在世时所犯下的暴行的报复。软件地狱也是一个类似的描述,描述了“反对软件的罪人”在他们的折磨中遭遇的旅程,在他们指定的永恒谴责的领域中,并支付他们的苦修。试图保留一些原始的地狱我重用了一些从SparkNotes翻译过来的原文片段3.我很感激能包括这句经典的废话。

软件地狱的拓扑结构在附图中被捕获,并描述了你即将读到的悲伤故事的背景。

回到顶部

旅程开始了

在我们的软件项目进行到一半的时候,我发现自己在一片黑暗的树林里,迷失了正确的道路。我无法很好地描述我是如何进入的,在那个时候我是如此的不满,以至于我放弃了真正的道路。然而,真正的道路是我所希望的这段旅程将恢复我的困扰的灵魂,现在将讲述我所看到的事情。

我从黑暗的树林中向高处望去,看到一座小山,它的肩膀被太阳的光线遮住了,我被吸引到山顶,希望能重新认识自己真正的道路。当我在险峻的山脊和湍急的水道中越爬越高时,我遇到三只野兽挡住了我的去路。这些野兽是一群可恶、咆哮的家伙,它们不仅以折磨像我这样的陌生人而闻名,而且还以彼此不和而闻名。一个困难的任务将是满足成本、进度和质量野兽的一致要求,作为通过的条件。考虑到我任性的心理状态,我在任何时候都只能成功地平息其中两头野兽的愤怒,我别无选择,只能从山上下来,考虑另一条道路,以重新认识自己真正的道路。

当我从起点跌落到低处时,我眼前出现了一位经过长时间研究的贵妇人。“可怜可怜我吧,我迷路了!”我哭了。“你是什么,是影子,还是真正的女人?”她回答说:“我本名叫奥古斯塔·艾达·金,父母是拜伦勋爵和安妮·伊莎贝拉·拜伦。我住在英国,后来成为奥古斯塔·艾达·金,拉芙莱斯伯爵夫人。”我回答说:“那么,你就是那个艾达·拉芙莱斯吗?你就是那个流出第一个计算机程序的源泉吗?”她证实道:“的确是我。”

我向拉芙莱斯伯爵夫人讲述了我的悲惨故事:我失去了真正的道路,我迄今为止徒劳地试图重新找到它,以及我之前在攀登山路时遇到的可怕的野兽。她对我说:“你应该再开一门课。”让我松了一口气的是,艾达夫人,洛芙莱斯伯爵夫人,愿意作为我寻找真正道路的向导,但同时也警告我,前面的旅程将会涉及到软件地狱,一个对那些在软件开发领域犯下罪行的人的永恒惩罚的可怕地方。

伯爵夫人吩咐我跟着,我就跟在她后面。

回到顶部

Ante-Inferno

软件地狱边缘的大门上刻着这样的字:“进入的人,请放弃一切希望!”在没有星星的空中,回荡着叹息、哀号和深切的哀号。奇怪的舌头,可怕的叫喊,悲伤的话语,愤怒的声音,高而嘶哑的声音,软件地狱不受欢迎的环境也是如此。

当我们接近地狱的边缘时,伯爵夫人说我们听到的悲伤的声音是被判在地狱前的软件开发人员的声音。这些开发人员都是些可有可无的人,他们不知道自己是应该永远带着良心和道德去工作,利用他们的职业技能去行善,还是利用这些技能去促进邪恶、偷窃和非法的自我利益。他们是黑客,是流氓,他们要么通过清晰的选择不尊重真正的道路,要么以优柔寡断的方式没有明确地支持它。天堂和地狱都拒绝他们进入,所以他们将永远在这里打滚,忍受着咬脚踝的虫子的折磨,在键盘上打字,他们敲击的产物无处可去,对任何人来说都不重要。

伯爵夫人示意我跟着她走到附近一条河的边缘,这条河把我们和软件地狱的第一圈隔开。一位满头白发的老人划着船向我们驶来,他喊道:“你们这些邪恶的灵魂有祸了!我是来把你送到对岸去的,进入永恒的折磨,进入炎热和痛苦,进入软件地狱!”

伯爵夫人上了船,我跟在她后面。

回到顶部

第1章:地狱

伯爵夫人和我从船夫的小船上下来,发现我们来到了软件地狱的外围,也被称为Limbo的边缘。伯爵夫人承认她自己是一个林波居民,只被允许短暂地充当我的护卫。她解释道:“虽然我们自己没有错,但我们这些被判入地狱的人只是因为在历史上出生太早了,太年轻了,没有意识到或适当地向那些塑造了你们今天所知的软件工程环境的远见卓识者致敬。”

在我所认识的与伯爵夫人一起在Limbo的杰出人物中,有George Boole(布尔代数的形式化),Gottlob Frege(一阶谓词微积分)和Grace Murray Hopper (Cobol的发明者)。他们也和伯爵夫人一样遭遇了同样的命运:出生太早,未能对软件工程的半神表现出应有的敬意,如艾伦·图灵、格雷迪·布赫、詹姆斯·拉姆博、伊瓦尔·雅各布森、艾伦·凯、布兰·塞里克、詹姆斯·高斯林以及其他对现代软件工程基础做出贡献的人。

大概是为了换取过着高尚的生活,那些被放逐到地狱边缘的无可指责的灵魂所得到的唯一的仁慈的考虑是没有痛苦的生活,就像那些不幸被判在软件地狱更内部的圈子里的人所遭受的那样。

伯爵夫人走在前面,我跟在她后面。

回到顶部

第二章:欲望

当伯爵夫人和我走近地狱的第二圈时,我们想在刚刚离开的圈子里找个相对舒适的地方,因为前面的圈子里发出的耀眼的光芒使我们的眼睛感到眼花缭乱。最初,前方的光芒似乎来自一个光源,但随着距离越来越近,我们发现它实际上是许多单独的光束的集合,每一束都专门聚焦在圆圈中众多成员中的一束上。

伯爵夫人解释说,这些可怜的人所犯的罪都是出于欲望。这些饱受折磨的灵魂所犯的不是肉体上的欲望,而是对权力、名誉、财富的欲望,对理性、承诺和责任的背叛。这些可怜的可怜虫们不顾对他们最亲近的人的影响,只无耻地满足自己的私欲,不顾自己的正直,也没有良心。在这些被判有罪的人中,有那些无视或违背结婚誓言的人,有那些不让孩子有父母参与其中的人,还有那些在父母年老时不尊重父母的人。他们盲目的追求是为了下一笔交易,下一个晋升,下一个奖金,或任何其他可以积累名望、权力或地位的手段。

正是在这里,在地狱第二圈的厄运中,这些执迷的灵魂将受到适当惩罚的永久训诫。耀眼的聚光灯聚焦在他们的一举一动上,给他们提供了他们在世时所寻求的专心致志的关注。它们发出的光是那么强烈,柱面的光折磨着这些灵魂,使他们无法入睡,使与他们共处一圈的所有人的自然脸红失色。永远,这些不幸的可怜虫都注定要寻找避难所,以躲避尾随他们一举一动的光束。

伯爵夫人从亮光中走出来,我跟在她后面。

回到顶部

第三章:暴食

伯爵夫人和我慢慢地恢复了我们眼睛的舒适和使用,因为前一圈的极度明亮逐渐消失了。巧合的是,我们的另一种感官又受到了新的冲击,那就是前面的地狱第三圈发出的可怕的声音。当我们进入这个圈子时,一个奇怪的景象出现了:里面的居民有着猪的身体,但他们似乎保留了过去的地球上的头。他们从一个垃圾堆滚到另一个垃圾堆,看到什么就吃什么,想要毫不优雅地满足自己无情的胃口,嘴里发出最令人厌恶的口水和粗鄙的声音。

伯爵夫人解释说,那些注定在这里的灵魂在他们的前世都犯了浪费、过度和不恰当的消费的罪。他们的暴饮暴食在很大程度上是由于ipo、收购和股价飙升导致巨额财富突然降临到他们身上。在新获得的繁荣的推动下,他们吃着最好的食物,酗酒,依赖违禁药物,心满意足地看着自己的肚子越来越胖,这是他们成功的标志。他们所获得的财富剥夺了他们的节制和自制能力,也剥夺了他们对那些不知道下顿饭从何而来的人的任何记忆。

贪吃的人也用永恒的时间为他们在尘世的生活方式赎罪:吃着肮脏的、腐烂的、满是害虫的残羹剩饭,这些残羹剩饭连野兽都不适合吃,更不用说人了。

伯爵夫人走了,我跟在她后面。

回到顶部

第四章:贪婪

从地狱即将到来的第四圈发出的有节奏的、金属的、叮当作响的声音与我以前听到的任何声音都不一样。当伯爵夫人和我走近时,那声音更响了,不久我们就明白了它的起源:硬币。硬币不断地从天上掉下来,没有尽头,常常砸在那些注定要落在这第四圈的可怜人的头上,然后叮当作响地落到地上,砸在他们前面掉下来的其他硬币上。

艾达伯爵夫人解释说,那些被判入地狱第四级的可怜汉,在他们在世的日子里,表现出了对财富和物质的贪婪习惯。这种贪婪的牺牲品包括程序员、设计师、分析师、管理员、测试人员和架构师,他们的财富都是靠他们获得的,而他们的辛勤工作、忠诚和奉献却没有得到任何回报。伯爵夫人继续说,许多贪婪的人不仅没有公正地报答恩人,而且没有用哪怕是最小的一点面包屑回报社会、慈善事业或教育机构。

软件地狱第四圈的可怜的居民们没有避难所,他们永远被落下来的硬币淹没,打断了任何睡觉或休息的尝试,给了他们充足的时间来反思他们过去的贪婪。

伯爵夫人吩咐我跟着,我就跟在她后面。

回到顶部

第五章:愤怒

我仍然嗡嗡作响的耳朵很高兴,因为我没有听到硬币掉落的嘈杂声。但是,从接近第五圈发出的红光和热量并不预示着其他感官的潜在不适。当伯爵夫人和我走近时,热得越来越难以忍受,于是它的来源显露出来:数不清的废纸堆燃烧着,火焰直冲云霄。居住在这片干旱荒地上的可怜的人们渴死了,他们把水桶扔进散布在这片土地上的许多井里,在燃烧的桩子中间,希望能喝到其中可能含有的清凉的水。

伯爵夫人解释说,被判入第五圈的那些干渴的可怜虫是愤怒的人,他们从内部毒害他们的软件组织。他们持续不断的刻薄、固执己见的欺凌、无休止的消极和刻薄的态度摧毁了工作场所和谐与合作的所有前景,只会给周围的人带来冲突和痛苦。这些有毒的灵魂不仅拒绝运用他们自诩的智慧来代替他们所谴责的领导人,而且他们还破坏了任何试图自己承担这些领导角色的人的努力。

当我更仔细地观察时,愤怒的人们本希望得到清凉的水来解渴,却把他们用水桶舀来的水吐了出来,因为水是有毒的,就像他们过去毒死的工作场所一样。

伯爵夫人走在前面,我跟在她后面。

回到顶部

第六章:异端

前一圈的辐射热很快被金属的声音取代,我相信那是镣铐,在不规则的运动中叮当作响。当我们接近地狱的第六圈时,这些声音的来源变得更清楚了。他们最初是由整整九个人组成的小组组成的,每个人都被拴在一起,每个人都想按照自己选择的方向和步伐跋涉。

伯爵夫人解释说,这些在混沌中穿梭的灵魂与相关领域的专家们制定的软件工程的既定信念和法则大相径庭。他们对普遍接受的真理毫不掩饰的蔑视催生了对他们所负责的软件项目造成巨大损害的决策。有些人质疑弗雷德·布鲁克斯的神圣忠告1他们徒劳地试图通过增加资历严重不足的新人来挽救已经迟到的项目。另一些人则以无视“四人帮”推崇的软件设计模式来炫耀他们的嘲笑,2相反,在试图解决那些已经被证明、众所周知、久经考验的问题时,他们选择了自己的不雅之举。

被判入这个圈子的可怜人将在余生中重温他们因异教行为而给他人带来的折磨。作为这些被束缚的群体的成员,他们将永远被提醒,即使是最简单的遗嘱在他们人数众多的情况下也很难执行,九个人到达目的地的速度比一个人快九倍。

伯爵夫人向前走着,我跟在她后面。

回到顶部

第七章:暴力

当我们接近地狱的下一圈时,镣铐的叮当声被突然而有力地响起的痛苦折磨的哭喊声所取代,但随后逐渐消失为绝望和绝望的呻吟。一次又一次,让我感到恐惧的是,我们的耳朵听到这种痛苦的循环重复。我确信,我的眼睛很快就会看到一个酷刑室,里面挤满了被可怕的怪物折磨和折磨的可怜的灵魂,但我什么也没看到。相反,我看到许多人躺在地上,有的睡着了,有的痛苦地打滚,有的口吐白沫,有的皮肤变色,有的表现出其他可怕的瘟疫的症状。


伯爵夫人解释说,被判入第五圈的那些干渴的可怜虫是愤怒的人,他们从内部毒害他们的软件组织。


伯爵夫人解释说,这些呻吟的祸害因对无辜和毫无戒心的人使用软件暴力而被判入地狱第七层。就在我们眼前的是钓鱼者、恶意软件创造者和网络罪犯,他们的敌对行为给网民的财富、隐私和普遍福利造成了损害。有些人甚至对毫无戒心的和不配的人施加巨大的争斗,仅仅是为了消遣,作为一种爱好,仅仅是为了消除他们的不安。

我更加仔细地观察着,现在明白了他们绝望的原因。当这些可怜虫睡着,变得毫无防备,毫无戒心时,小飞虫从天上出现,落在他们的皮肤上,附着在他们身上,并在他们身上沉积毒素,当他们醒来时,给他们造成难以形容的痛苦和折磨。一些人试图避免睡觉,希望避免感染制造病毒和疾病的蠕虫,但这都是徒劳。作为对他们罪恶的惩罚,这些可怜人的安慰和庇护在永恒中是难以得到的。

伯爵夫人大步向前走着,我跟在她后面。

回到顶部

第八章:欺诈

当我们接近地狱的第八圈时,我和伯爵夫人被一股难闻的恶臭包围着,每走一步,恶臭就变得更加难闻。这些可怜的人究竟犯了什么罪,应该受到这样的惩罚呢?伯爵夫人解释说:“在这里被判刑的灵魂都是骗子、说谎者和骗子:他们在过去的生活中,纯粹为了自己的利益,把专业知识、知识和技术与他人的相关性假装成别人的专业知识、知识和相关性。”

在我们前面居住着自称为技术的倡导者、改革者和传道者,如UML、XML、敏捷、MDA、面向对象等等。欺诈者和欺诈者在这里受到谴责,因为他们在软件项目中错误地引导了技术的采用或使用策略,而他们在软件项目中扮演了一个角色。这些可怜虫毫无歉意地任性地掠夺naïve和绝望的人,错误地说服他们,他们所喜爱的技术将为自身利益的动机带来痛苦的缓解。

在远处,我发现了一大块液化的纸浆,显然是我们鼻腔里的恶臭的来源。成千上万的可怜的灵魂在这泥沼中打滚,每个人都在挣扎着离开沸腾、冒泡、腐烂的炖肉的表面。从空中落下的物质源源不断地供给着这片沼泽地,似乎源源不断。伯爵夫人解释说,这些可鄙的人在肮脏的生活中挣扎的材料包括不必要的UML图、无法实现的时间表、无关紧要的培训材料、华丽的ppt图表,以及其他被训话者在他们过去的生活中创造的产品。对于骗子和骗子来说,永远沐浴在他们自己创造的臭气熏天的废物中是再合适不过的了。

伯爵夫人走在前面,我跟在她后面。

回到顶部

第九章:背叛

软件地狱的最里面的圈子就在前面,位于一座物质和色彩的大山之上,我以前从未见过这样的大山。伯爵夫人和我越爬越高,在一股恶臭中,我的鼻孔知道,这种恶臭不会比我们在下面第八圈留下的腐臭的浓汤更难闻。当我们再也爬不动的时候,在我们面前有无数的可恨的人在劳作,把一铲一铲的山的尸骨倾倒在远处的第八圈的灵魂上,提供了他们在其中打滚的有毒的炖汤的来源。伯爵夫人对我说:“那些被判入第九圈的灵魂有罪,因为他们接受了第八圈那些对他们所负责的计划有重大影响的骗子们的错误指导,不向他们提出挑战,也不理睬更贤明的人。”

一路上我竭力克制自己的舌头,但现在我再也咽不下去了。我征得伯爵夫人的同意,对最近的一个铁锹里夹着一堆肮脏东西的坏蛋喊道:“先生,您做了什么背信弃义的事,竟被判到这个可怕的地方来?”他回答说:“我被诬告背叛,但我的罪只是被欺诈者欺骗了。”我回答说:“你不顾你最聪明的贤人的建议,使你的职责受到损害,因为这是冒着放弃骗子所应许的果实和战利品的危险,这难道不是背叛吗?”

我向耳边另一个可怜的灵魂喊道:“先生,你犯了什么背叛罪,要永远被判到这样一个被遗弃的地方?”耶稣说,我也是被诬告的。我的罪过只是没有对愤怒的人采取行动。”我回答说:“你强迫你的子民喝毒井里的水受苦,而你却心满意足地喝你私井里的清水,这不是背叛吗?”

就像命运捉弄的那样,这些背信弃义的人不仅被迫在他们认可的产品的恶臭中憔悴,而且他们的背也在他们的负担下永远地绷紧。

伯爵夫人从软件地狱里走出来,我跟在她后面。

回到顶部

真理的路径

这样就完成了充满软件地狱的邪恶的目录,在那里被判刑的人,以及对他们的训诫。在我的旅行中,我目睹了许多苦难、恐惧和绝望,但现在我更明智了,因为这样做,我相信这次旅行提供了必要的启蒙,使我的轨迹回到真正的道路上。

我的旅程提醒我,同时安抚成本、进度和质量这三只野兽,在与那些犯了罪的人(比如那些被判入软件地狱的人)一起工作时,甚至更具挑战性。事实上,我现在相信,我在旅途早期未能安全通过这些喜怒无常的野兽是对我的一种谴责,因为我没有更加努力地帮助过去的项目摆脱这些罪恶和罪人。

积极的领导、基于价值的行动和平衡的判断是驯服“三兽”的必要条件。不能让愤怒的人毒害工作场所,不能让欺诈的人破坏公共利益,不能让背信弃义的人随心所欲。在预算内按期开发高质量的软件是非常困难的,而且还必须处理可避免的和严重的干扰。

我的旅程结束了,现在我必须赶快回到我的尘世中去。我必须从最高的山上向我喊出伯爵夫人告诉我的这才是真正的道路。领导者要听取贤者的意见,创造和谐,积极革除职场祸患。自私的人必须盘点他们的生活,重新调整他们的优先事项。成功者必须记住那些帮助他们成功的人,并分享成功的果实。

由于伯爵夫人向我展示了什么是好的,我将会有更多的喊叫。但是遗憾的是,我没有任何特殊的力量来使聋哑人的耳朵变好,去动摇固执的人,去软化愤怒的人,或去启发愚人,因为软件地狱耐心地等待的正是这样的灵魂。

ACM队列的q戳相关文章
queue.acm.org

死于UML热
亚历克斯·e·贝尔
http://queue.acm.org/detail.cfm?id=984495

为代码编码
弗里德里希·斯泰曼和托马斯Kühne
http://queue.acm.org/detail.cfm?id=1113336

使用代码映射进行软件开发
罗伯特·德琳,吉娜·维诺莉娅,还有凯尔·罗文
http://queue.acm.org/detail.cfm?id=1831329

回到顶部

参考文献

1.布鲁克斯,Jr .) F.P.《人月神话》.Addison-Wesley, Reading, MA, 1975。

2.Gamma, E, Helm, R, Johnson, R,和Vlissides, J。设计模式.Addison Wesley,雷丁,麻州,1995年。

3.SparkNotes编辑。SparkNote上地狱.SparkNotes LLC, 2002;http://www.sparknotes.com/poetry/inferno/

回到顶部

作者

亚历克斯·贝尔是波音公司的软件架构师。他是《死于敏捷狂热》一书的作者,http://www.infoq.com/articles/death-by-agile-fever/

回到顶部

数据

UF1数字软件地狱的UML表示。

回到顶部


©2014 0001 - 0782/14/01 ACM

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2014 ACM, Inc.


没有发现记录

Baidu
map