《软件炼狱》是一个与《神曲》第一部《地狱篇》平行的故事。《地狱篇》是但丁·阿利吉耶里在1300年代早期创作的文学杰作。这部文学杰作描述了各种罪人在他们的
图1捕捉了软件炼狱的拓扑结构,并描述了您即将阅读的悲惨故事的背景。
在我们的软件项目进行到一半时,我发现自己身处一片黑暗的森林中,迷失了正确的道路。我无法很好地回忆起我是如何进入那里的,因为当我放弃正确的道路时,我充满了不满。然而,我曾希望这段旅程能让我的灵魂重回正轨,我现在将讲述我所看到的事情。
从森林的黑暗深处,我抬头望去,看到一座山丘,它的山肩被阳光笼罩,我被它的山顶所吸引,希望能重新认识正确的道路。当我攀登越来越高的危险山脊和湍急的水道时,我遇到了三只野兽挡住了我的去路。这些野兽是一群讨厌而咆哮的家伙,不仅以折磨像我这样的陌生人而闻名,而且还彼此不和。满足成本、进度和质量这三只野兽的一致要求将是一项艰巨的任务,这是通行的条件。鉴于我任性的心态,我一次只能成功平息其中两只野兽的愤怒,别无选择,只能从山上下来,思考一条重新认识正确道路的替代路线。
当我从我开始的低处退回时,在我眼前出现了一个人,她似乎通过长期的学习成为了一位高贵的女士。“可怜可怜我,我迷路了!”我喊道。“无论你是谁,是阴影,还是真正的女人?”她回答说:“我出生于奥古斯塔·艾达·金,父母是拜伦勋爵和安妮·伊莎贝拉·拜伦,居住在英格兰,成为了奥古斯塔·艾达·金,洛夫莱斯伯爵夫人。”我回答说:“那么你是艾达·洛夫莱斯,是第一个计算机程序的源泉吗?”她证实说:“的确是我。”
我向洛夫莱斯伯爵夫人讲述了我迷失正途的悲惨故事,我
伯爵夫人示意我跟随,我紧随其后。
“进入者,放弃一切希望!”软件炼狱边缘的大门上写着铭文。这里充满了叹息、哀号和深沉的哭泣声,在星光黯淡的空气中回荡。奇怪的语言,可怕的哭喊声,悲伤的话语,愤怒的语调,高亢而沙哑的声音,这就是软件炼狱不受欢迎的环境。
当我们接近炼狱边缘时,伯爵夫人说,我们听到的悲惨声音是软件开发人员的声音,他们被谴责到
伯爵夫人示意我跟随她到附近的一条河边,这条河将我们与软件炼狱的第一层隔开。一个白发苍苍的老人乘着小船向我们驶来,他喊道:“你们这些邪恶的灵魂有祸了!我来摆渡你们到彼岸,进入永恒的折磨,进入酷热和痛苦,进入软件炼狱!”
伯爵夫人走进了船里,我紧随其后。
伯爵夫人和我从摆渡人的船上下来,发现自己身处软件炼狱外圈的边缘,也称为边缘地狱。伯爵夫人承认她自己是边缘地狱的居民,只是被授予短暂的喘息机会来担任我的护送。她解释说:“并非出于我们自己的过错,我们这些被谴责到边缘地狱的人,仅仅是因为出生在历史的早期,太年轻而没有意识到或正确地尊敬那些塑造了你们今天所知的软件工程环境的远见卓识者。”
在边缘地狱与伯爵夫人会合的名人中,我认出了乔治·布尔(布尔代数的形式化者)、戈特洛布·弗雷格(
据推测,作为对过着道德高尚的生活的回报,降临到边缘地狱的无可指责的灵魂身上唯一的仁慈考虑是,他们没有遭受像那些被谴责到软件炼狱更深层的圈子里的不幸者那样的痛苦。
伯爵夫人继续带路,我紧随其后。
当伯爵夫人和我接近炼狱的第二个圈子时,我们确实渴望刚刚离开的圈子的相对舒适,因为从前方的圈子散发出的淹没和刺眼的光线困扰着我们的眼睛。它最初看起来像是前方的光芒来自单一来源,但我们
伯爵夫人解释说,这些可怜的灵魂所犯的罪是淫欲之罪。这些受折磨的灵魂所犯的罪不是肉欲,而是对权力、名誉、财富和金钱的渴望,以背叛理性、承诺和责任为代价。这些可怜的家伙贪婪地只关注他们自私的欲望,而不顾对最亲近的人的影响,不顾他们的个人正直,也没有良知。这里被谴责的人包括那些无视或违反婚誓的人,拒绝他们的孩子成为参与的父母的人,或未能孝敬年迈的父母的人。他们的盲目追求是以下一笔交易、下一次晋升、下一次奖金或任何其他可以积累名声、权力和地位的方式的名义进行的。
正是在这里,在炼狱第二个圈子的厄运中,这些痴迷的灵魂将受到永恒的谴责,并受到恰当的惩罚。一道刺眼的光束集中在他们的一举一动上,给予他们
伯爵夫人从光明中带路,我紧随其后。
当上一个圈子的极端亮度减弱时,伯爵夫人和我慢慢地恢复了眼睛的舒适和使用。巧合的是,对我们另一种感官的新一轮攻击开始了,以可怕的噪音的形式,这些噪音来自就在前方的炼狱第三个圈子。当我们进入这个圈子时,一个奇怪的景象等待着我们:它的居民拥有猪的身体,但他们似乎保留了过去尘世的头颅。最令人厌恶的口水和粗俗的声音从他们的嘴里发出,他们在垃圾堆之间打滚,吃掉所有眼前的食物,试图以没有任何优雅的方式来满足他们无情的食欲。
伯爵夫人解释说,注定要来到这里的灵魂,在他们过去的生活中犯下了浪费、过度和不适当的消费罪。他们的暴食主要是由巨额财富所激发的,这些财富是由于首次公开募股、收购和飙升的股价而突然降临到他们身上的。在新获得的财富的推动下,他们狼吞虎咽地吃着最精美的食物,过度饮酒,依赖违禁品,并心满意足地看着自己的肚子越来越大,以此作为他们成功的标志。他们获得的财富剥夺了他们的节制、
因此,暴食者将永远为他们尘世生活的放纵赎罪:吃着污秽、腐烂和
伯爵夫人带路离开,我紧随其后。
从即将到来的炼狱第四个圈子传来的有节奏的、金属的、叮当响的声音与我的耳朵以前听到的任何声音都不同。当我们接近时,喧闹声越来越大,很快我们就明白了它的来源:便士。便士从天空中稳步落下,永无止境,经常击中那些被谴责到第四个圈子的可怜人的头部,然后叮当作响地落在地上,击中之前掉落的其他便士。
艾达伯爵夫人解释说,被谴责到炼狱第四个圈子的可怜人在他们尘世的日子里表现出习惯性的对财富和物质的贪婪模式。这种贪婪的受害者包括程序员、设计师、分析师、管理员、测试人员和架构师,他们的财富是在他们的背上获得的,但对于他们的辛勤工作、忠诚和奉献精神,却没有丝毫的感谢回报。伯爵夫人继续描述说,这些贪婪的灵魂不仅未能公正地奖励他们的恩人,而且甚至没有将最微不足道的面包屑回报给社区、慈善机构或教育机构。
软件炼狱第四个圈子的悲惨居民没有庇护所,并且永远处于倾泻而下的便士的洪流之下,打断了任何睡眠或休息的尝试,为他们提供了充足的时间来反思他们过去的贪婪。
伯爵夫人示意我跟随,我紧随其后。
我
伯爵夫人解释说,被谴责到第五个圈子的干渴的可怜人是愤怒的人,他们从内部核心毒害了他们的软件组织。他们无休止的尖刻批评、专横跋扈的欺凌、无休止的消极情绪和尖酸刻薄的态度破坏了工作场所所有和谐与协作的前景,只为周围的人们制造了冲突和痛苦。这些有毒的灵魂不仅拒绝运用他们
当我更仔细地观察时,愤怒的人希望用凉水来解渴,但他们却吐出了他们用水桶取回的水,因为它被污染了,就像他们过去污染的工作场所一样。
伯爵夫人继续带路,我紧随其后。
前一个圈子的辐射热很快让位于金属的声音,我认为是脚镣,在不规则的运动中叮当作响。当我们接近炼狱的第六个圈子时,这些声音的来源变得更加清晰。它们的来源是许多九人一组的人群,他们彼此拴在一起,每个人都一心想要按照自己选择的方向和步伐前进。
伯爵夫人解释说,这些混乱旅行的灵魂与
问题。被谴责到这个圈子的可怜人将永远重温他们因其异端行为而给他人造成的折磨。作为这些被束缚群体中的成员,他们将永远被提醒,即使是最简单的意志在他们的人数中也很难执行,九个人不可能比一个人快九倍到达他们想要的目的地。
伯爵夫人继续前进,我紧随其后。
当我们接近炼狱的下一个圈子时,脚镣的叮当声让位于痛苦的折磨哭喊声,这些哭喊声会突然而有力地开始,然后逐渐消退为绝望和沮丧的呻吟声。一遍又一遍,令我非常恐惧的是,我们的耳朵听到了这种痛苦循环的重复。我确信我的眼睛很快就会看到一个刑讯室,里面挤满了可怜的灵魂,他们正在遭受可怕的怪物的折磨和痛苦,但我什么也没观察到。相反,我看到许多人躺在地上,他们要么睡着了,要么在痛苦中扭动,口吐白沫,皮肤变色,或者有其他可怕瘟疫的症状。
伯爵夫人解释说,这些呻吟的灾难是被谴责到炼狱第七个圈子的人,因为他们对无辜和毫无戒备的人犯下了软件暴力行为。在我们眼前的是网络钓鱼者、恶意软件制造者和网络罪犯,他们的敌对行为对网络同胞的财富、隐私和普遍福利造成了损害。有些人甚至只是为了消遣,作为爱好,仅仅是为了排遣他们的烦躁不安,而给毫无戒备和不应受到伤害的人造成了巨大的冲突。
我更仔细地观察,现在明白了他们绝望的原因。当这些可怜的人睡着时,变得毫无防备和毫无戒心,小的飞虫从天空中出现,落在他们的皮肤上,附着在他们身上,并将毒素注入他们体内,以便在他们醒来时施加难以言喻的痛苦和折磨。有些人试图避免睡眠,希望避免带来病毒和疾病的蠕虫,但这都是徒劳的。对于这些可怜的人来说,舒适和庇护所是永远遥不可及的,这是对他们罪行的报应。
伯爵夫人继续大步向前走,我紧随其后。
当我们接近炼狱的第八个圈子时,伯爵夫人和我被一种压倒性的恶臭所包围,这种恶臭随着迈出的每一步而变得更加污秽。这里的可怜人犯下了哪些罪行,才值得这样的清算?伯爵夫人解释说:“被谴责到这里的灵魂是欺诈者、说谎者和欺骗者:那些在过去的生活中纯粹为了自己的利益而向他人伪装技术专长、知识和相关性的人。”
在我们前方居住着
在远处,我发现了一大堆液化的纸浆,显然是污染我们鼻腔的恶臭的来源。成千上万的可怜灵魂在这片沼泽中挣扎,每个人都在努力保持漂浮在沸腾、冒泡和腐烂的炖汤表面之上。一条从天而降的物质流正在滋养这片沼泽,似乎是源源不断的。伯爵夫人解释说,滋养这些可怜人挣扎的纸浆污水中的物质包括不需要的 UML 图表、无法实现的进度表、无关的培训材料、华丽的 PowerPoint 图表以及其他产品,这些产品是受到谴责的人在他们过去的生活中造成的。对于欺诈和欺骗者来说,永远浸泡在他们自己创造的恶臭废物中是一种恰当的方式。
伯爵夫人继续带路,我紧随其后。
软件炼狱的最内层圈子就在前方,位于一座巨大的物质和颜色的山峰之上,其形状是我以前从未见过的。伯爵夫人和我越爬越高,一种气味扑鼻而来,我的鼻孔知道这种气味不可能比我们在下面第八个圈子里留下的腐烂炖汤更污秽。当我们再也爬不动时,在我们面前有无数的可怜人在劳动,他们将一铲铲山体的物质倾倒到远低于第八个圈子的灵魂身上,为他们在其中挣扎的有害炖汤提供了来源。伯爵夫人对我说:“被谴责到第九个圈子的灵魂犯有赞助和根据第八个圈子里炖煮的欺诈可怜人给出的错误指导行事的罪行,这对他们负责的项目产生了巨大影响,他们没有提出质疑,并且违背了更明智的建议。”
到目前为止,在旅程中咬紧牙关是一件非常困难的事情,但我再也无法忍受了。经过伯爵夫人的同意,我向最近的一个可怜人喊道,他铲子里装满了污秽。“先生,你犯了什么叛逆行为才被谴责到这个可怕的地方?”他回答说:“我被诬告犯有叛逆罪,但罪行仅仅是被欺诈者欺骗。”我回答说:“当你为了你自己的荣耀而依赖欺诈者承诺的果实和战利品时,不惜冒着风险而拒绝你最明智的贤者的建议,这对你的指控造成了损害,这难道不是叛逆吗?”
我向另一个在听力范围内的可怜灵魂喊道:“先生,你犯了什么叛逆行为才被永远谴责到这样一个被遗弃的地方?”他回答说:“我也是被诬告的;我的罪行只是未能对抗愤怒。”我回答说:“当你强迫你的人民饮用有毒的水井并忍受其影响,而你却心满意足地喝着你的私人水井里的淡水时,这难道不是叛逆吗?”
命运使然,叛逆者不仅被迫在他们批准创造的产品的恶臭中受苦,而且他们的背部也永远在他们的负担下劳累。
伯爵夫人从软件炼狱中带路,我紧随其后。
至此,软件炼狱中邪恶的目录、其中被谴责的人以及降临到他们身上的告诫已全部完成。在我的旅程中,我观察到了许多痛苦、恐怖和绝望,但现在我因此而变得更加明智,并且确信这次旅程提供了必要的启迪,使我的脚步重回正轨。
我的旅程提醒我,同时安抚成本、
积极主动的领导、
随着我的旅程完成,我现在必须赶快回到我的尘世生活。我必须从最高的山峰上喊出伯爵夫人向我展示的所有正确的道路。领导者必须听取贤者的建议,创造和谐,并积极消除工作场所的祸害。那些
由于伯爵夫人向我展示了什么是好的,我将发出更多的呼喊。但我遗憾的是,我没有任何特殊的力量让聋子听见,让顽固的人动摇,让愤怒的人软化,或启发傻瓜,因为软件炼狱正在耐心地等待着像这样的灵魂。
1. Brooks, Jr., F. P. 1975. 《人月神话》。马萨诸塞州雷丁:
2. Gamma, E., Helm, R., Johnson, R., 和 Vlissides, J. 1995. 《设计模式》。马萨诸塞州雷丁:Addison Wesley。
3. SparkNotes 编辑。2002. SparkNote on 《地狱篇》。SparkNotes LLC;http://www.sparknotes.com/poetry/inferno/。
喜欢它,讨厌它?请告诉我们 [email protected]
Alex Bell 是波音公司的软件架构师。他曾为 撰写过几篇文章,包括“死于 UML 热”(2004 年 3 月)、“UML 热:诊断和恢复”(2005 年 3 月)、“银弹齐射中的软件开发”(2006 年 6 月)、“死于 SOA”(2007 年 2 月)和“地面控制呼叫架构师汤姆...”(2007 年 9 月)。他也是《死于敏捷热》(2012 年 9 月)的作者。
© 2013
最初发表于 Queue vol. 11, no. 11—
在 数字图书馆 中评论本文
Catherine Hayes, David Malone - 质疑评估非加密哈希函数的标准
尽管加密和非加密哈希函数无处不在,但在它们的设计方式上似乎存在差距。加密哈希存在许多由各种安全要求驱动的标准,但在非加密方面,存在一定程度的民间传说,尽管哈希函数历史悠久,但尚未得到充分探索。虽然针对现实世界数据集的均匀分布非常有意义,但当面对具有特定模式的数据集时,这可能是一个挑战。
Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx 实践
DevEx(开发者体验)在许多软件组织中越来越受到关注,因为领导者寻求在财政紧缩和人工智能等转型技术的背景下优化软件交付。直观地看,技术领导者普遍接受良好的开发者体验能够实现更有效的软件交付和开发者幸福感。然而,在许多组织中,旨在改善 DevEx 的拟议举措和投资难以获得支持,因为业务利益相关者质疑改进的价值主张。
João Varajão, António Trigo, Miguel Almeida - 低代码开发生产力
本文旨在通过展示使用基于代码、低代码和极端低代码技术进行的实验室实验结果来提供关于该主题的新见解,以研究生产力方面的差异。低代码技术显然显示出更高的生产力水平,为低代码在短期/中期内主导软件开发主流提供了强有力的论据。本文报告了程序和协议、结果、局限性和未来研究的机会。
Ivar Jacobson, Alistair Cockburn - 用例至关重要
虽然软件行业是一个快节奏且令人兴奋的世界,其中不断开发新的工具、技术和技巧来为商业和社会服务,但它也很健忘。在其快速前进的匆忙中,它容易受到时尚的摆布,并且可能会忘记或忽略针对其面临的一些永恒问题的成熟解决方案。用例于 1986 年首次引入,后来被普及,是这些成熟的解决方案之一。