我已经告诉过你无数次了:不要夸大其词!而且,不那么频繁地,我也曾非常温和地敦促你不要轻描淡写。1 为什么我的建议被忽视了?为什么你们就不能把IT...做得恰到好处,平衡得无可争议?正如我母亲常说的,2 她会用同样的力度扇我的两个耳朵。遵循中庸之道,就像老子在他的中原所做的那样。或者像高尔夫球手平·克劳斯贝曾经吟唱的那样,“正中靶心”。他的另一首高尔夫歌曲是“穿着绿衣裳”,但这样的题外话与我直截了当、勇往直前的建议背道而驰。我刚刚抽了一支名为埃及艳后的香烟,但这与你无关,而且严格来说是我和我的埃及产品赞助商之间的事。
所以,避开偏差,避开潜伏在左右两边的生活障碍。我们目前的总统候选人擅长这种狡猾的伎俩,他们根据当地民意调查的结果,一会儿支持北美自由贸易协定,一会儿又反对北美自由贸易协定。然而,由于自然语言的众多怪癖之一,寻求“妥协”的政客们常常发现自己的声誉“受损”。
在思考构成优秀、训练有素的科学家的特质时,特别是优秀的系统设计师和开发者,一种直觉的平衡感显得尤为重要。我们从不完整的规范和定义不清、常常相互冲突的目标出发工作。你是想要现在就得到IT,还是想要功能完善的IT?关于这些挑战,很少有比吉姆·瓦尔多2004年的文章“论系统设计”(可通过http://doi.acm.org/10.1145/1167515.1167513 获取)更精彩的讨论了。
瓦尔多重新思考了为什么事情变得更糟。在回顾了“设计”过程,并提醒我们该术语的歧义性(系统可能在没有被设计的情况下表现出设计),他追溯了这种衰退的环境原因,例如知识产权的限制和糟糕的培训。当事情出错时,总会有些“我们-他们”的替罪羊:这让人想起哈迪错误地责怪劳雷尔,这总是让我感到恼火,因为“又让你把我们弄得一团糟,斯坦”很容易触发我内疚的自我防卫反应。(为什么斯坦这个名字这么少见,无论是斯坦利还是斯坦尼斯劳斯?)
与抱怨的哈迪不同,瓦尔多提出了敏捷和开放的真正补救措施来减少混乱,但并没有排除在需要时采取严厉和封闭的诡计。有趣的是,他强调需要在基层、非管理层面拥有勇气——例如,在师傅应该如何传授技艺以及如何授权给学徒方面。与此同时,瓦尔多敦促提出不需要对管理基础设施进行不切实际的重大变革的解决方案。你需要绕过现有的组织风险。因此,我们回到了我开篇的平衡对立主题。这与懦弱地(并且可能是痛苦地)坐在围墙上不同。我们设想在围墙中有一两扇隐藏的门,合格的诺斯替教徒可以自由出入,欣赏许多领域的风景。
我们面临着一个明显的悖论,即同时真诚地持有相互矛盾的信念是可能且有用的。希腊语中用 dilemma 表示两种对立的信念,可以扩展到 trilemma 表示三种,再到 n-lemma,但我们强烈建议 n 取小的正整数值。我们可以排除那些脑子里充斥着命题和被引用的“命题”的蒯因主义者,这些命题和被引用的“命题”意味着他们的对立面:那样会陷入疯狂,并可能导致有意义的意义崩溃。我所想到的(借用一句名言!)是“两面下注,走中间路线”这种说法所暗示的。存在着一些看似合理的信念,我们可以时髦地称之为假设,卡尔·波普尔称之为“可证伪的”。事实上,他用可证伪性来区分科学假设和那些可能很有意义,但在某种程度上超出了科学的吹毛求疵方法之外的假设。试图忽略循环论证的气息(在这样的场合中,循环论证无处不在),我们寻求区分那些需要无休止的个别观察验证来维持的信念,以及那些至少在概念上,可能承认突然出现单个令人泄气的反例的信念(参见本专栏,“有些天鹅是黑色的”,2007年7月/8月)。
当然,在形式化陈述和非形式化陈述之间转换时,措辞的精确性至关重要。迪杰斯特拉是否认为所有的GOTO语句都是有害的3,或者,从同义反复的角度来看,仅仅是那些造成伤害的GOTO语句?以及对谁的伤害?我们可以从标题之外解读出,迪杰斯特拉正在小心翼翼地“对冲风险”。如果没有负数分支运算符,任何计算机都不值它的芯片。因此,有害的与其说是“跳转到”程序中另一个遥远的部分,不如说是如何在更高级别的语言中编写可读的控制跳转。无GOTO编程意味着更简洁、结构化的代码;充满GOTO语句的程序很混乱,难以维护,产生了评论家所称的意大利面条式代码,这对所有意大利面爱好者都是一种侮辱。4
许多语言神学家为被称为CASE语句的复合GOTO语句辩护。我更进一步,声称得到了上帝的批准。没有哪个同行评审能比上帝更牛!自然界自身的大统一理论只不过是一组优于实时的嵌套CASE语句。我见过这些列表。唉,我只被允许最简单的走查,而且还是在签署了一份可怕的浮士德式的保密协议之后。我敢冒险透露要点吗?好吧,仅限于你我之间。请注意,上帝使用C++(毫不奇怪,比雅尼)
#include <DixieDean.h> // divine headers, q.g. [quod google]
T = -tPlanck; // start clock just ahead of time
switch BigBang {
case 0: wait (tPlanck); t-break; ...
case 1: switch word {
...
case googol^googol: { ... }
...
就我用HyperLint检查的结果来看,似乎每个意外情况都被覆盖了,没有抛出任何异常。在4月1日阅读本文的读者请注意,我意识到我似乎正在呈现一个已被否定的、确定性的、离散可数的世界。不一定。符号0、1和googol不能用人类的C++标准来解释。上帝给了我们整数,上帝可以凌驾于整数之上。
迪杰斯特拉“分散下注”,提出了另一个有用的说法,引出了博弈论和风险分析。因为在这里,我们触及了我的绝大多数读者所生活的真实生活。真相时刻临近,需要诚实的内省。如果你的信念对你的行为没有任何明显的影响,我们真的能相信你的信念主张的真诚性吗?罗素喜欢测试某人相信要下雨的信念。那个人是待在室内,还是不带雨伞冒险外出?迟早,平衡必须得到平衡,权重必须称量,决策必须做出,赌注必须下,行动必须执行。但如何选择最佳(或最不坏)的假设呢?
奥卡姆剃刀只是从竞争假设中刮掉了几根绒毛。所罗门的剑则将整个婴儿劈开,为每位母亲提供均匀平衡的一块。但在有人把婴儿和洗澡水一起倒掉之前,快点。(哲学家们喜欢这些令人困惑的家常寓言。)我们心照不宣地认同这个圣经故事,钦佩所罗门在辨认亲生母亲方面的智慧。唐·沃森用现代法理学来处理这个案例,得出了发人深省的结果(“所罗门上诉被推翻”)5,而我则倾向于思考,如果母亲们都精通博弈论的边缘政策,结果会怎样。称她们为A夫人和B夫人,我们必须假设她们都真诚地相信自己声称的母子关系。每个人都必须权衡所罗门威胁要将婴儿劈成两半的可信度。每个人都必须为可能的结果赋值:一位母亲赢得完全监护权或两位母亲都输;两位母亲都获得可怕的半监护权,这至少可以被视为拒绝了对方母亲的监护权。扭曲这句格言,“仅仅成功是不够的,其他人必须失败”,我们得出这样的结论:“输并不可怕,只要其他人不赢。”吉姆·瓦尔多的勇气需求量很大。
在我们自己的公平行业中,在最基本的问题上,例如“什么是或哪些是数据,以及应该如何处理它或它们?”,人们采取极端、固执己见、背后诽谤的立场。正如那个老顽固的老顽固,亚瑟·叔本华,所要说的那样,“观点就像屁股,人人都有一个。”6
即使从我们光辉的60年中相对礼貌的思考来看,语言和操作系统宗教战争的隆隆声也突破了。开放软件的开放伤口?方法论的疯狂?计算机协会的阴谋诡计?以及在底层争夺(等待100万美元的P = NP克雷研究所奖):完全不可证明的不完备性?正如我们在FastRandy Univac时代所调侃的那样,“我听到了远处战鼓的声音!”但我们不要夸大其词。
要形式化这种极端之间的平衡是困难的,甚至可以说是毫无意义的。但布尔们却蜂拥而至。7 扩展我伟大的、伟大的(意思是著名的)曾外祖父乔治的二元逻辑,我们有了SKB-准连续-三元系统,其中+N(真)、-N(假)、iN(无意义)。这里,N是一个整数 >= 0,旨在以某种方式表示合理性或证据支持;i是负1的平方根之一。如果你认为这很重要,你可以选择。目的是在整数高斯格点(q.g.)上“量化”命题。
T(P) = (x, y) = x + iy,P的真值,旨在表明真、假和无意义的某种混合。当 y = 0(给出 T(P) 实数值)时,我们接近传统的二元布尔值,但 x > 0 表示真,x < 0 表示假,并且添加了细微差别,即 x1 > x2 > 0 表示 x1 比真值 x2 更真。类似地,0 > x1 > x2 表示 x2 比假值 x1 更假。令人欣慰的是,所有真值,无论多么小,都比所有假值,无论多么小,都更真!对于 x = 0, y !=0,我们方便地将所有真正无意义的命题定位在 y 轴上。我正在研究一个有意义的无意义度量,它符合我们每天的直觉,即有些命题显然比其他命题更愚蠢。因此,y1 > y2 表示 y1 比 y2 更无意义。逻辑蕴涵的规则也必须仔细扩展到传统的 (p -> q) = (!p v q) 之外。我们必须为 T(P) 的实数值保留旧的真值表,以便真值永远不会蕴涵假值,但我一直对假值蕴涵真值或假值感到不满意。我们当然希望防止“愚蠢”蕴涵任何“更愚蠢”的东西,而“愚蠢”可以安全地蕴涵“不那么愚蠢”。形式上,对于所有 y1 >= y2 > 0,T(0, y1) -> T(0, y2)。但对于所有 y2 >= y1 > 0,T(0, y1) !-> T(0, y2)。我称之为“限制性疯狂条款”,以纪念马克思兄弟。
原点 T(P) = (0, 0) 的奇点保留给真正的、有意义的“不知道”。别逼我在这上面深究。认识论学家唐纳德·拉姆斯菲尔德还没有回复我的电话。有些人认为他们知道哥德巴赫猜想(P = NP)的真假目前尚不清楚,但本质上是可知的。也就是说,总有一天,在星星失去光辉之前,8 我们会确定它们是真还是假。另一些人认为它们本质上可能是不可判定的,类似于哥德尔定理。有一件事是肯定的。除非那些年龄歧视的混蛋把最大年龄限制提高到 >>> 40,否则我永远不会获得菲尔兹奖。
在我认为无聊至极的事情清单中,最近有一项是澳大利亚圣经公会把圣经“翻译”成手机短信文本格式。这本短信圣经非常可预测地不聪明,当你发现《创世纪》的开头写着:“In da Bginnin God cre8d da heavens & da earth. Da earth waz barren, wit no 4m of life...” 肯定不像一些敏感的灵魂尖叫的那样是亵渎神灵。而且你几乎不能说在翻译中有什么字面上的损失,因为短信几乎是对美国圣经公会早期的CEV(当代英语版本)的自动逐字映射。从希伯来语、阿拉姆语和希腊语原文,经过廷代尔到钦定版(詹姆斯国王钦定版及其不分性别的统治者詹姆斯版),再到CEV,经历了无数次的修订,许多人哀叹这些路径是不体面的低俗化。短信版本只是一个哗众取宠的最后一根稻草吗?还是连帽衫们会喜欢这个信息并看到光明?
这种弱智的 rebic9 文件压缩方案会有一天在我们所有的Zip和归档工具中找到一席之地吗?我说“算了吧”!顺便说一句,TTY再次成为这种电话文本模式的缩写。老古董们会想起我《魔鬼的DP词典》(麦格劳-希尔,1981年)中定义的古老外围设备
TTY n. \发音为 ‘titty’\ [电传打字机的缩写] 任何电传打字机时代的终端,其受限的字符集被独特的忙音所抵消,即打印机噪音。另请参见GLASS TTY。
为了免去你在阁楼里寻找我那本书的破烂[原文如此]残骸的麻烦,这里是交叉引用
GLASS TTY n. \发音为 ‘glass titty’\ 一种CRT终端,其功能如此匮乏,以至于它的行为就像TTY一样。
CRT n. [阴极射线管] 最初是一种重要的存储设备,由曼彻斯特大学的F.C.威廉姆斯教授于1947年开发,但现在已沦为分时和娱乐环境中的琐碎应用。另请参见GLASS TTY。
照这个速度,我可能会让你和字典都筋疲力尽,追踪公开和隐蔽的链接。我现在就此打住,引用一下经常被引用的所有交叉引用的鼻祖
递归 adj. 参见递归。
感谢读者对有冲突的格言对的反馈。我将在我的下一期专栏中报告获胜者。
参考文献
斯坦·凯利-布特尔(http://www.feniks.com/skb/;http://www.sarcheck.com),出生于英国利物浦,20世纪50年代在剑桥大学攻读纯数学,之后在开创性的EDSAC I上涉足计算机科学的杂质。他的众多著作包括《魔鬼的DP词典》(麦格劳-希尔,1981年)、《理解Unix》(Sybex,1994年)以及最近的电子书《计算机语言——斯坦·凯利-布特尔读者》。《软件开发杂志》已提名他为首届年度斯坦·凯利-布特尔折衷技术奖的获得者,以表彰他在“技术和文学方面的终身成就”。诺贝尔和图灵都没有获得如此珍贵的同名认可。在他的笔名斯坦·凯利下,他作为歌手和词曲作者也享有平行的职业生涯。可以通过 [email protected] 联系到他。
最初发表于Queue第6卷,第2期—
在数字图书馆中评论本文