我偶然在Vernor Wing的书《天空的深度》中偶然看到了这幅美丽的文字(经剪裁)。片段让我印象深刻,以至于我决定与公众分享我的想法。您通常不会在小说中看到类似的研究。在某些地方,文字似乎有点...义肢,但这也许是翻译不好的结果。实际上,该文本是相当周到的。在阅读时,我想起了Edsger Dijkstra的一句著名的话:“我日夜祈祷,以便我的尽可能多的程序员能够找到打破兼容性诅咒的方法”(“我每天祈祷,我的更多程序员程序员可能会找到摆脱兼容性诅咒的方法”),来自《谦虚程序员》(1972年原文如此!)。后来,埃里克·雷蒙德(Eric Raymond)和他的大教堂和集市(1997)。但是Vinge的文字不仅涉及兼容性诅咒,而且还在三页上提出了整层问题(通常没有得到回答):- 广义上的兼容性问题;
- 支持旧代码的问题;
- 人类生命的依赖性问题“来自不灵敏的机器人”(c),我们正在迅速解决;
- 数据挖掘的问题,尤其是在无底桶的食谱中寻找现成的解决方案的问题(github,堆栈溢出?);
- “重写”旧代码(坏的和好的)的问题-我只想重新阅读这一刻:);
- -. , , . ( ) , ;
- , , . , , backdoor` , .
- … :)
一个人给人的印象是,这是由一个人写的,他在自己的皮肤上感到这些问题。我想指出的是,《天空的深度》写于1999年,当时Ving撰写的大部分内容都没有问题,甚至只是出现在地平线上。作为批评,我想指出,Vinj通过了AI(强弱两全,完全运行,甚至没有接触到神经网络),并且降低了IT在生产率方面的优势。此外,文本中没有感觉到大型公司的存在(尽管“景深”不适用于赛博朋克),但景浩除外。没有专利之战,版权问题和专有开发封闭问题(尚未发布的源代码)都不会受到影响。不是关于编程,而是关于标准. ? . , , . , , ? , ..? ( ?) . . , , , . , . , ?
. , . ?
以下是文本中最有趣的段落。这部小说仍然有很多有趣的东西,它们与编程无关,而且他获得了多个奖项也不是没有。因此,我建议您阅读它,并且在原文中,我得到的翻译不是很好。享受阅读 :)“布雷特,我们最需要什么专业?”特林利耸了耸肩。“你是说哪一个会给我们最大的收入?”明显。程序员-考古学家。问题是,像Fam Nuven这样的野孩子可以变成一个吗?现在,男孩可以使用几乎所有标准界面。他已经想像过自己将成为一名程序员,甚至是一名船长。使用标准界面,他可以控制Reprise飞行,进入行星轨道,支持悬浮的动画棺材...-这几乎是错的,你是一个死人,一个死人,一个死人! -苏拉结束了勇气家族的名单。 “男孩,你必须了解一件事。”在这里,文明的孩子也经常被误认为。计算机和程序从文明的开始就存在,甚至在太空旅行之前就已经存在。但是他们只能做到。他们将无法提出无法预见的困难,甚至无法做出真正有创意的事情。“好吧,我知道这是不对的。”我玩汽车游戏。如果我设定高水平,我永远不会赢。-因为计算机可以非常快速地完成简单的事情。因此,它们发挥了如此重要的作用。它们包含了数千年的程序,几乎所有程序都可以执行。在某种程度上,他们记得人类曾经想过的每一个窍门。“还有所有垃圾。”布雷特·特里利哼了一声。苏拉耸了耸肩:“当然,她的。”考虑一下:我们有多少工作人员-当我们进入系统并且一切都步履维艰时?“一千二百三十三,”潘说。很长时间以来,他已经知道Reprise和这次飞行的所有参数。很好现在,假设您来自各个文明国家已经有很多光年了……““想象中的是真的,”特林利打断了他的话。“……有些事变坏了。”要建造星际飞船,您需要成千上万的人类专业知识,这是在资本工业基地上进行的。船上的船员不可能了解分析恒星光谱,制造针对细菌中的野生菌株的疫苗,了解我们可能遇到的任何代谢缺陷疾病所需的一切。没错! -惊叫Fam。 “这就是我们拥有程序和计算机的原因。”“这就是为什么没有他们我们就无法生存。”几千年来,机器内存中充满了可能会派上用场的程序。但是,正如Bret所说,这些程序很多都是谎言,很多都包含错误,只有顶级程序才能完全满足我们的需求。 -她停下来,有意义地看着Fam。 -而且,您需要一个聪明又受过良好教育的人来观看可用的内容,选择和修改所需的程序并正确解释结果。Fam沉默了一分钟,回想起汽车没有按照他真正想要的去做的时候。而这并非总是Fam的错。试图从Canberian转换为Niz的程序原来是垃圾。“所以……您希望我学习如何更好地编程。”苏拉笑了,布雷特勉强抑制了一个傻笑。-如果您成为一名优秀的程序员,然后您学习使用已有的知识,我们将非常高兴。Fam Nyuven花了几年时间学习编程和研究。编程可以追溯到时间的开始。就像我父亲城堡后面的粪堆一样。当它被十米深的溪流冲刷时,就发现了扭曲的车身-就像农民所说的那样,是在堪培拉殖民时期的那段美好的日子。但是,与Reprise本地网络相比,该粪便干净整洁。有五千年前编写的程序,那时人类还没有离开地球。最棒的是(就像苏拉说的那样,最可怕的)是,与堪培拉过去的无用残骸不同,这些程序仍然有效!通过一百万个纠结的继承链,许多最古老的程序仍在Keng Ho系统中运行。例如,交易者的时间跟踪方法。更正非常困难-但在最底层放置了一个很小的程序来推动计数器工作。从一个人的脚踏到旧地球的月亮那一刻起,Keng Ho的系统就以秒计。但是,如果您仔细观察……最初的时刻是一百百万秒之后。人类最早的计算机操作系统之一的“零”瞬间。这意味着在所有顶级接口下都是支持层,即一层。其中一些程序是为完全不同的情况创建的。时不时地发生不匹配导致致命事件。尽管太空飞行很浪漫,但灾难往往是由古老的被遗忘的程序造成的,这些程序设法报仇了。Fam说:“我们必须重写所有这些内容。”“他们已经做到了,”苏拉不抬起眼就回答。她正准备离开班次,在过去的四天里,她试图解决在悬浮动画的自动化中发现的问题。“他们试图做到这一点,”布雷特站在冰柜上纠正了她。 -但是仅在上级海军系统中的代码量令人难以置信。种植您和另外一千人来复制它,您将工作整个世纪。特林利不祥的笑了。 “你知道吗?”即使您这样做了,到最后您还是会遇到失配。而且仍然会与我们时不时需要的所有应用程序不兼容。苏拉离开调试程序一分钟。“你知道这叫什么吗?” “成熟的编程环境。”当设备已经达到极限时,并且程序员已经编写了多个世纪的代码,您将发现有意义的代码比任何人都可读。然后,您能做的最好的事情就是了解各个级别的总体结构,并了解如何寻找可能方便的奇特补救措施-就像我在这里遇到的情况一样。她把手放在正在处理的依赖表上。 -我们没有棺材用的冷却液。像一百万其他东西一样,古老的堪培拉也无法买到。好吧,显而易见的解决方案是将棺材移至船尾壳体,并通过直接辐射使其冷却。为了支持这一决定,我们没有必要的设备-因此,我最近一直在进行考古。似乎五百年前,这是在托玛系统战争之后发生的。然后,他们恰恰弄不清楚了我们需要的温度控制套件。“几乎一样,”布雷特咧嘴一笑。 -更改最少。“是的,我几乎做出了贡献。” -她看着Fam,看到了他脸上的表情。 -是的我以为你宁愿死也不愿躺在棺材里。Fam害羞地微笑着,回想起六年前的那个男孩。-不,我躺在棺材里。有一天这一天是Fam成立五年后的日子。这些是忙碌的几年。布雷特(Bret)和苏拉(Sura)都不在观察之列,而Fam并没有接近他们的替代者。这四个乐器都是手动演奏的,就像宫廷里的鸣笛一样!到最后,他们连续播放了整整几秒钟。他们似乎一起玩耍,达到了某种心理社会的结合。他们的音乐以某种方式无法理解地作用于Fam,但是这些人为达到非常普通的效果而非常努力。即使沿着这条道路的第一步,Fam也不会有耐心,他离开了。一个人呆-他知道自己做得很好。他有很多东西要学。他学习越多,就越了解Sura Vinh所指的“成熟的编程环境”。与他认识的船员相比,Fam已成为一名出色的程序员。 “天才的火焰”,所以他曾经描述过苏拉·荣(Sura Vinh),以为自己听不到。他可以对所有内容进行编码,但是寿命很短,几乎所有必需的系统都非常庞大。因此,Pham学会了寻找解决这些过去难题的方法。在太空探索之前,他知道如何在固定的圆锥形时间规划器的帮助下从Eldritch Fury获取武器代码。同样重要的是:他知道如何寻找隐藏在舰船网络上的潜在合适应用。...并且他了解了Sura通常没有说过的成熟的编程环境。当系统依赖于以下系统,并且它们甚至依赖于较旧的系统时...便无法知道这些系统能够执行的所有操作。在机队自动化的背后,可能会有-必须是-迷宫般的移动和陷阱。几乎所有作者都已经死了数千年;他们隐藏的方法已经永远消失了。公司或政府还设定了其他陷阱,希望它们能随着时间的流逝而生存。苏拉(Sura),布雷特(Bret)以及其他一些人对Reprise系统有所了解,因此可以赋予它们特殊的权力。这项发现给Fam Nuven灵魂中的中世纪王子留下了深刻的印象。如果一个这样的陷阱位于某个通用的通用系统的底部...如果到处都使用这样的新层,那么移动和陷阱的所有者将像国王一样。维诺·温格(Vernor Winge),摘录自小说《天空中的深度》,1999年