模式理论的起源,
理论的未来和生活世界的生成

1996年OOPSLA大会主题演讲
作者:克里斯托弗·亚历山大


吉姆·科普林介绍


偶尔,一个好主意会跨越一个学科的边界,扎根于另一个学科。软件社区采用Christopher Alexander的模式就是这样一个事件。亚历山大在自己的学科中既赢得尊重又引发争议;他著有几本长期出版记录的书籍,第一次获得友邦保险研究金奖,自1980年以来成为瑞典皇家学会会员,美国艺术与科学学会会员,获得数十项奖项和荣誉,包括1985年的日本最佳建筑奖,以及美国建筑学院协会杰出教授奖。奇怪的是,他的想法竟然在软件领域找到了落脚点,这门学科不涉及木材和瓷砖,而是涉及纯粹的思想内容,以及被称为程序的短暂而无重量的产品。软件社区接受了模式愿景,因为它与长期困扰软件设计(尤其是面向对象设计)的问题相关。专注于对象使我们失去了系统视角。对设计方法的先入为主使我们失去了人性的视角。亚历山大的建筑世界和我们的软件构建世界之间的奇妙相似性帮助这些想法在世界各地的草根编程社区扎根并蓬勃发展。模式学科已经成为过去十年软件体系结构和设计中应用最广泛、最重要的思想之一。

我们可以通过三个主要来源来追踪影响的路径。第一个是设计模式Gamma等人的书,这本书帮助人们对个人设计关系以外的概念进行了概念化,以掌握微观架构的重要结构,并将经验证的解决方案战略置于原始创新之上。第二个是模式会议系列(PLoP),它为模式爱好者提供了一个论坛,以在创建新的软件文献时相互支持。PLoP也是一个论坛,在这里,社区可以努力从单个模式发展到产生系统思维的模式语言。

但是,发展到模式的深层次和更基本的方面是缓慢而困难的。即使在我们努力从模式发展到模式语言的过程中,也有一个软件社区尚未触及的模式学科层次:构建对生活质量有巨大贡献的整个系统的道德必要性,当我们认识到并承担起与我们在世界上的影响力地位相伴而生的责任时。这让我们找到了我们学科中模式方向的第三个灵感来源:克里斯托弗·亚历山大(Christopher Alexander)本人,他在1996年OOPSLA的主题演讲中直接参与了我们的社区。会议的时间安排和观众让亚历山大有机会反思自己的工作,以及面向对象编程社区在采用和调整他的想法以适应软件方面是如何达到目标的。因此,这次演讲是一个里程碑式的事件,为模式倡导者、面向对象程序员和世界各地的软件从业者提高了门槛。除此之外,本演讲与任何工程、科学或专业努力都有着永恒的相关性。

当亚历山大教授向我们致辞时,我希望你们都能非常热烈地欢迎他。


主题演讲

作者:克里斯托弗·亚历山大


“非常感谢。这是一个非常奇怪的情况,我发现我自己。我希望你能同情我。我正在向一个挤满了人的房间,一个挤饱了人的足球场致辞。我几乎不知道你们所有人都在做什么。所以,请对我好一点。

我和你的联系——如果我可以称之为“那个人”,哦,那一定是两三年前的事了。我开始接到电脑用户的电话。然后有一位计算机科学家打电话给我,说硅谷有一群人愿意花3000美元和我共进晚餐。我想这是什么?我花了一些时间才发现。我真的不明白发生了什么,我的工作在某种程度上对计算机科学很有用。直到现在,我才开始更多地了解你在你的领域中所做的事情,以及它是如何产生的,部分来自于我所做的一些事情。

当我面临向你致辞的问题时,我想知道我到底该谈些什么。几个月前,当我被要求为理查德·加布里埃尔(Richard Gabriel)的书《软件模式》(Patterns Of Software)写一篇导言时,我也遇到了类似的问题,我的问题是我应该写什么?有什么我可以说的,这将是有趣的?而且,从某种程度上说,因为我自己早在50年代末就开始接触计算机了,这个问题对我来说很有吸引力,也很吸引人。但我仍然没有太多的东西可以继续下去。以吉姆为例。当他邀请我时,他非常友好,我对他说,你想让我谈谈什么等等。他说:“哦,那没关系。随便说说吧。因为是你,而且因为这个模式问题的历史,人们会觉得它很有趣。但我仍然在想,我应该真正谈谈什么?

我在建筑领域所做的事情和你在计算机科学领域所做的事情以及在软件设计的新领域所试图做的事情之间有什么联系?这是我必须谈论的问题。在我来到这里的时候,我要做的是告诉你,当我逐步完成模式概念的发明时,我的想法是什么,以及从那时起我的想法又是什么。此外,我将得出一个可能令你惊讶的结论。在过去的几个月里,我一直在为这次演讲做准备。我最后得到了一些可能会吓到你的东西,你可能会觉得很奇怪。但是,我还不打算告诉你那是什么。

实际上,我只想做三件事。

(A) 模式理论。我将首先讨论模式和模式语言,我对此做了什么,关于我们遇到的问题,我们为什么这么做,我们是如何做到的,等等。这是一项历史调查,可以追溯到60年代末和70年代初。

(B) 秩序的性质然后,我将总结出从模式工作中发展出来的理论框架:即将在四本书中出版的一个框架,统称为秩序的性质牛津大学出版社将于2000年出版四本书。这个框架与早期理论中模式语言所包含的内容有着相当大的不同,尽管它与它们是一致的。这是第二件事。而且,我只是试着把它画出来,希望能有一些遗留下来的东西,或者你可能会觉得它很有趣——当然,当我告诉你这件事的时候,我没有办法把它直接应用到你的领域。然而,毫无疑问,这两个领域之间有着丰富的联系。

(C) 未来会发生什么:生成性问题和生活世界的生成在我为理查德·加布里埃尔(Richard Gabriel)的书写导言的时候,我试图找出我的工作和你在计算机科学领域的工作之间的联系,但我到目前为止还没有做到这一点:我告诉你我在做什么,也许你们中的一些人可能会觉得这很有趣,或者能够推断。但我真的觉得这还不够满足。我觉得你的领域和我的领域之间有着更重要的联系。或者至少可能有。这最终把我带到了第三点。

我要谈的第三件事是我现在如何看待这种联系。我想你们中有些人知道我是以什么为生的。你知道我是建筑师。我一生都在努力学习如何创造世界上的生活结构。这意味着城镇、街道、建筑物、房间、花园,以及它们本身存在或存在的地方。我在这里的假设——一个可悲的假设是,至少在过去50年左右,我们为自己所做的大部分工作,也许是从第二次世界大战前后开始的,实际上没有能力在世界上创造这种生活结构。这种维持和养育我们所需的生活结构,在传统社会、农村社区和早期城市住区中确实存在,但现在已经消失了。它彻底消失了。我们不知道如何创建或生成它。

当然,尤其是对于建筑师来说,这是一个有争议的问题。一些专业建筑师可能会说,你在说什么?我们所做的一切都非常好,我们今天建造的建筑非常棒,非常好,没有问题!!我想,我们现在所在的圣何塞这个巨大而令人恶心的会议厅的建筑师也会这么说,因为我们在那里几乎无法相互理解。但实际上,这并不好。这真是个大问题。这是一个严重的问题。它影响着地球上的每一个男人、女人和孩子。我们对如何做到这一点一无所知,在地球上建造生命结构,这是可悲的。这是非常非常严重的,每天都变得更加严重,因为地球上的人口在增长,地球受到越来越多的破坏,我们的城镇和建筑也受到了破坏。

事实上,我们不知道,真的不知道我们在做什么,而建成的世界并没有养育我们,这对我们所有人来说都是一件非常非常激烈的事情。这是我所关心的。这就是我每天都要处理的问题。

A.模式理论

当然,在已发表的模式语言中实现的这个想法首先是为了掌握一些物理结构,这些物理结构使环境为人类提供了养育。其次,这是以一种允许大规模发生的方式进行的。我的意思是,我们想间接地创造环境,就像生物有机体是由遗传密码间接产生的一样。建筑师自己建造了世界上非常非常小的一部分。大多数物质世界都是由各种各样的人建造的。它是由开发者建造的,是由拉丁美洲的do-It-your-selver建造的。它是由连锁酒店、铁路公司等建造的。人们怎么可能掌握地球上正在进行的大量建筑,并以某种方式使其变得更好,这意味着让它以一种良好的方式和生活方式产生。使用遗传方法的决定不仅仅是因为规模问题。它从一开始就很重要,因为任何良好环境的特征之一就是它的每个部分都非常适合其特殊性。只有当人们(当地知识丰富的人)自己去做,当地适应才能成功。在传统社会中,俗人要么建造或布置自己的房子、自己的街道,等等,适应是自然的。它之所以成功,是因为它掌握在直接使用建筑物和街道的人们手中。因此,在传统社会中存在的共享模式语言的帮助下,人们能够生成一个完整的生活结构。

在我们这个时代,环境的生产已经脱离了环境使用者的控制。因此,模式语言的一个努力不仅是尝试和识别结构特征,这些结构特征将使环境变得积极或有教养,而且还以一种每个人都能掌握的方式进行,以便整个事物能够有效地自我生成。

现在,我对你在计算机科学中使用模式所做的评估是什么。(请记住,当你听到我的评论时,他们需要持保留态度;我很无知;我不在你的领域。)当我看到我所看到的面向对象的模式工作时,我看到了模式的格式(上下文、问题、解决方案等)。这是一种很好而且有用的格式。它允许您以一种可以讨论、共享、修改等方式写下关于软件设计的好主意。因此,它是一种非常有用的交流工具。而且,我认为,只要模式已经成为软件设计中有用的工具,它就可以帮助完成编程任务。这是一个漂亮、整洁的格式,这很好。

然而,这并不是模式语言应该做的全部。我们在20世纪70年代开始创建的模式语言还有其他基本特征。首先,它有道德成分。第二,它的目的是在用它制造的事物中创造连贯性和形态连贯性。第三,它是生成性的:它允许人们创造连贯性、道德上健全的物体,并鼓励和促成这一过程,因为它强调所创造整体的连贯性。

我不知道模式语言的这些特征是否已经被翻译成你的学科。以道德成分为例。在建筑模式语言中,从根本上说,在整个事物的背后,有一个持续关注的问题:在什么情况下环境是好的?在建筑中,这意味着什么。它意味着一些重要和至关重要的东西,最终关系到人类生活的本质。当然,有很多人会争论这个问题是否客观。一些建筑师仍在说,这完全是意见问题。但这是一个垂死的品种。人们基本上接受了对良好环境和建成环境的生活结构的需要以及该问题的客观性质的道德关注。我不知道这种道德成分是否存在于计算机科学、软件工程或你做事的方式中。

我理解软件模式,只要它们涉及对象和程序等等,就能使程序更好。这不是一回事,因为在那句话中,“better”可能只是指技术上的效率,而不是实际上的“good”。同样,如果我根据我的经验进行翻译,我想问的是,在软件中使用模式语言有一种倾向,即使程序或正在创建的东西在道德上具有深远的意义——实际上有能力在人类生活中发挥更重要的作用。人类生活中更深层次的角色。它真的会因为注入软件系统而使人类的生活变得更好吗?现在,我不会假装我和同事写下的所有模式模式语言都是这样的。其中有些是深刻的,有些则不那么深刻。但至少这是我们工作背后的不断尝试。这就是我们追求的。我不知道你们,女士们,先生们,软件社区的成员们,是否也在追求这一点。我不知道。关于那件事,我还没有听过太多。所以,我不知道寻找有助于人类生活的东西是否是你正在寻找的东西的正式组成部分。或者你主要是在寻找我应该称之为良好技术性能的东西吗?在我看来,这是一个非常非常重要的问题。

人们问我,在创建架构模式语言时,涉及到了什么样的过程?我们寻找的一件事是对人类生活产生深远影响。我们能够判断模式,并试图根据存在于环境中的程度来判断模式,我们确信这些模式确实会使人变得更加完整。当然你可能会问,你到底是怎么测试的?但这个故事太长了,我无法在这次演讲中讲述。重要的是,这种测试一直在进行。

第二个,几乎更重要的事情正在发生。每当我们有一种正在开发的语言时,我们总是问自己,该语言在多大程度上生成(从而产生)完整连贯的实体(建筑物、房间、建筑物群、社区等)?换句话说,假设我写模式语言对于一个校园来说,我想我已经有了一种语言,看起来它确实能胜任这项工作。为了测试它,我把它交给人们,并要求他们(以模拟的形式)用这种语言创建不同的校园。让我们看看最终的校园是什么样子的。我们用同样的方法测试它,通过使用它快速生成设计,并且只为了测试结果的一致性。事实证明,人们创造的许多语言并没有产生连贯的设计或对象。也就是说,它们包含了许多好的想法。人们可以用这些好的想法把它们组合在一起,结果中会出现一些零碎的结构想法。但这并不意味着(在上述例子中)创建的校园是连贯的、结构良好的校园?我们一直在寻找模式语言产生连贯性,这是在创造语言的过程中一次又一次使用的最重要的测试。语言总是被视为一个整体。我们正在寻找整体上,模式语言会产生一个连贯的实体。

你在软件模式理论中做到了吗?你问过一个特定的模式系统,作为一个系统,是否会产生一个连贯的计算机程序?如果是这样,我还没有听说。。但关键是,这正是我们一直在寻找的。同样,我不知道这在多大程度上对你来说是正确的,也不知道当你研究软件模式时,你是否在寻找同样的东西。

到目前为止,作为一个试图阅读你在这个领域发表的一些作品的外行,在我看来,对你来说,主要是模式概念是一种鼓舞人心的格式,是交换零碎的、原子的编程思想的好方法。事实上,据我所知,这一部分工作得很好。但其他两个维度,(1)生成一个有生命结构的道德能力,(2)事物的生成性,它生成连贯整体的能力,我在软件模式理论中没有看到太多关于这两个方面的证据。这些是你的缺点吗?还是因为我不知道如何阅读文学作品?

我对过去三十年中我们在模式语言方面所做的简短历史调查到此为止。

B.订单的性质

模式理论之后是更深入的理论。到了70年代末,我开始注意到我们在模式和模式语言方面的工作存在一些弱点。

(1) 在我最感兴趣的情况下,当我们和其他人使用这些模式生成建筑时,生成的建筑是好的,但并不深刻。它们里面经常有很多好东西。人们正在改进某些功能,可能是日光得到改善,或者是建筑物的入口得到改善,街道的特征得到改善,或是卧室的壁龛使其更加私密或类似的东西。因此,建筑的各种独立特征都提高了建筑性能。这些模式的存在也让人们能够更好地控制自己的环境。它成功地将这种控制体现在他们用图案材料制作的真实建筑中。那很好。然而,这些建筑是否具有深厚的结构?他们在多大程度上真正拥有作为整体的连贯的生活结构。到70年代末,我开始看到世界上许多建筑在应用这些图案时正在建造。我对我看到的不满意。在我看来,我们远远没有达到我的预期目标。但是,我也意识到,无论发生了什么错误,都无法通过编写更多的模式或将模式做得更好来纠正。模式语言似乎缺少一些更基本的东西。所以,我开始寻找那个东西是什么。

(2) 大约在同一时间,我开始注意到更深层次的结构和少量(十五)几何属性,这些属性似乎在建筑有生命的时候递归地存在于空间中。这十五个属性似乎定义了一种更基本的东西;与我们之前定义的模式类似,但更精简、更重要,这是一种所有好模式都由其组成的东西。

这些想法很简单。我不能带你浏览所有的15个,但它们是像“边界”这样的属性,不仅可以描绘内部,还可以连接外部,或者“正空间”,就像你看马蒂斯的剪纸时看到的那样,彩色纸之间的空间不是无定形的,而是有形式的。无论如何,我开始注意到,特定的个人模式似乎总是来自不断发生的15个深层属性。

(3) 另一件事发生在这个时候(70年代末80年代初),我的同事和我开始加强我们在经验上区分生活结构和非生活结构的能力。在使用模式语言的这几年中,我们对这一点非常直观,并不十分严格。我们只是尝试编写模式并学习应用它们,而没有严格询问它们是否能建造出更有生命力的建筑。但是,在这一点上(大约1980年),我们觉得确定一把具有更多生活结构的椅子和一把具有更少生活结构的座椅之间的区别非常重要。对于建筑物、房间或城镇的主要街道也是如此。如果你想说这个有生命,这个有更少的生命,你怎么说,有一定的经验?事实上,如果人们进行同样的实验,它能成为一个相对客观的问题吗。

事实上,我们确实发现了这样的实验技术。这些技术的使用大大提高了我们区分真正发生了什么以及什么结构与环境中生命的存在相关的能力?这些技术的使用还帮助我们细化了十五个深几何特性,作为设计结构中所有生命的必要关联。这十五种属性最终成为所有模式的基础,并开始在我们的工作中越来越清晰地显示出来,它们是地方、建筑、事物、空间等生活结构的主要相关因素。

[旁白:我需要对客观标准和实验方法的存在说一句话。在我的学科中,存在着巨大的既得利益。许多建筑师声称,并想声称,在建筑中,没有真理这回事;那是因为每个人都想做自己愚蠢的事,并逃避它。所以,取决于你和谁谈话,他们会说,好吧,亚历山大发现的这些东西都是胡说八道。生活或质量没有客观性。这个等等。但是,我今天在这里,他们不在这里,所以我告诉你,这是客观的。他们完全错了。假设我们在一条街的某个地方有一条人行道,在另一条街上的某个其他地方有另一条人行道。我们正在试图得出结论,关于哪一个人有更多的生命,哪一个人是一个更有生命的结构。

顺便说一句,当我开始尝试寻找这些实验方法时,我的信念一直是,真的有这样一件事,事实上每个人都知道,但它已经被压制了。这是因为我们的世界观、看待事物的方式以及我们这个时代的人们对知识严谨性的紧张。尽管他们内心有这些判断,但不知怎的,他们与正确做出这些判断的能力是分离的。换言之,我想说的是……这只是我的一种本能,我认为这是一件大家都知道的很幼稚的事情。但是,由于某种原因,我们一团糟,看不到它。因此,这些实验实际上是为了穿透最终结果而设计的。

实验的本质是,你拿着你试图比较的两件事,问每一件事,我的完整性在这个物体面前是不是在增加?在这个人面前怎么样?它是增加了还是减少了?你可能会说这是一个奇怪的问题;如果答案是“不知道”或“他们对我没有任何影响”怎么办?完全合理!这是可能发生的。但解决方法很简单。结果是,如果你对一个人说:“是的,这是一个很难回答的问题,听起来可能有点疯狂。但无论如何,请幽默我,只回答这个问题。”,在任何社会科学实验中,人们都能达成一致。真正奇怪的是,通过这种实验测量出来的东西不会……你说有点……所有这些不同的实验都与这种东西有关。你觉得更完整了吗?有了这个东西,你会觉得更有活力吗?你觉得这张照片更像是你自己真实自我的照片,而不是你所知道的东西吗?它总是观察两种不同的实体,并比较它们中哪一种有更多的生命。这似乎有点主观性。换句话说,听起来很好,很好。我的意思是,也许这就是人类在协调、感知或感受方面的真理。但这并不一定等同于说生命结构本身就是居住在这些物体中的真实事物。但无论如何,长话短说。事实证明,这些测量确实与物体的真实结构特征相关,也与用其他方法测量的物体中存在的生命相关,所以这不仅仅是一种受此影响的因素,我也不受此影响,等等。但这是一种衡量被比较或观察的特定事物中真实深层状况的方法。

奇怪的是,在某种程度上,随着我们的工作越来越深入,它不断将重大的功能和实际问题带回人类。换句话说,你需要一个停车场。停车场有很多技术问题。你必须让它工作。汽车必须能够四处移动。你知道有安全问题。有进进出出的问题。存在维护问题。总的来说,停车场的工作方式本质上是一个技术问题。问题是,它工作得好还是不好?然而,这些普通的技术讨论所衡量的事物的功能性与这个问题所衡量的条件相关,“我觉得自己更完整吗?”?当你得到这个问题的肯定答案时,它会很有效。因此,物质的本质和物质系统的行为与人之间有着深刻的联系。甚至在工程设计中,例如考虑桥梁的结构性能。或者是一些有很多汽车在运动的地方的运动模式,还有关于它们如何运动的复杂问题等等。然而,在这些例子中,非常、非常实际的事情与这些明显的个人问题相关,这些问题是关于事物是否有生命,它是否促进了我和你的生命。

因此,在我看来,开始形成一种结构观,这种结构观是客观的,是关于世界上物质系统的行为的,在某种程度上,它同时越来越多地回归到人身上。当我们面对事物时,事物中实际存在的生命以某种特殊的方式与我们自身的整体状态相关联。在软件设计中,类似的观点会告诉你,一个客观深刻的程序(优雅、高效、有效并且像程序一样好)会让观察代码的人产生最深刻的整体感。

重要的是,在建筑中,这不仅仅是一种预感,而且是一个可测试的经验结果。这意味着功能上最深刻的物体(当我说物体时,我指的是建筑物、街道、门把手、架子、房间、圆顶、桥)……功能上最深远的物体也是那些能让我们产生最大感受的物体。这是一件非常奇特的事情。起初,这听起来像是一种普通的多愁善感;你只是说,这不可能是真的。为什么这应该是真的?然而,这是一个与我们生活的时代非常吻合的发现。因为我们生活在一个时代,这也许是我们世界上最引人注目、最有问题的特征,那就是感觉已经从中消失了。当我拿我们所在的这个可怕的会议厅开玩笑时,也许我是在打一匹死马,但我的意思是,问题是,无论这里有什么感觉,显然都不是一种深刻的积极感觉。这就是我们在现代社会所期待的。这种深刻的情感未能在我们周围的世界中以小范围、大范围、中等范围、这里、那里和任何地方存在,这是一种悲剧。这是我们错过的东西。当然,人们已经写了几十年了。当然,作家们已经将这一点公之于众。我们都知道。困难在于人们似乎不知道该怎么办。如果有什么事的话,目前(我现在再次谈到我自己的建筑学科),问题正在变得更糟。情况没有好转。正在建设的世界越来越无情。从某种意义上说,我们比以前更加迷茫,更加支离破碎,更像是在这片孤独的沙漠中徘徊。

如果真的有一种看待结构的方式,既能处理普通技术和实践意义上的实际功能结构,又能同时植根于人类情感,那么这将是一个巨大而积极的步骤。特别是,我提到的十五个属性为我们提供了精确了解生活结构本质的能力,正是以这样一种方式,它不仅与所有机械功能相连,而且与人类情感的深度相连。这就是为什么它是一个重要的结构。

在这十五个属性的根源上,似乎有一个基于单一类型实体——所有整体的原始元素——重复出现的递归结构。这些实体就是我所说的“中心”。所有的整体性都是从中心建立起来的,而中心是根据其他中心递归定义的。中心是否有生命,在不同程度上取决于这些中心是使用我确定的十五种几何关系从其他中心构建而来的。这个方案是秩序的性质提供了所有生活结构的完整而连贯的画面。

有点夸张地说,我认为作为建筑中所有生命的组成部分的几何中心和你称之为“对象”的软件实体之间甚至可能有一点联系。中心是出现在某些空间区域的场状结构。它们没有明确的界限,但它们是人们在所有模式、所有结构和所有整体的核心中感知到的焦点组织实体。

一切都是由这种中心构成的。这些中心或多或少有活力。这基本上是它们唯一重要的属性。一个中心是活得更多还是活得更少的问题,递归地取决于它所组成的其他中心的活的数量,因为每个活的中心总是(并且只能定义为)其他中心的结构。这种递归在计算机科学中很常见。但我发现并报告的结构是否秩序的性质将以任何有趣的方式转化为你所做的事情,我不知道。(没错,我认为所有的软件都是由对象组成的,只有对象。可以说有些对象有更多的生命,而另一些对象则更少吗?如果是这样的话,就会有深刻的对应关系)。事实上,我可以从我过去几年的经历告诉你,当一个人对建筑中的事物有这样的看法时,在建筑中建造生活结构变得非常容易。它具有即时实用性。如果你开始从这些生命中心的角度来理解一切,并且你认识到递归使得一个中心,按照它的本来面目,依赖于它所构成的其他中心和它所嵌入的其他更大的中心,突然间,你开始对事物有了一种看法,而这种看法本身就开始引导你建造更成功、更具活力的建筑。

这种洞察力远远超出了模式语言的能力。尽管模式定义了可以被视为中心递归交互的特定实例的关系,但中心的整体视图给出了更全面、更强大的结果。它直接影响您构建良好架构的能力,而模式语言本身还无法做到这一点。这是一个比嵌入在模式语言中的视图更强大、更漂亮的视图,因为当一个人构建了这个视图…。你说什么是模式?然后发现,模式只是在非常非常特殊的条件下出现在这些中心中的几个结构不变量。所以它们当然很有趣也很重要,但它们没有我现在谈论的其他结构那样的深度或那样的通用性。

现在我们到了紧要关头。一旦我们有了由十五个深层属性联系起来的整体性和中心性的观点,我们就有了作为任何成功设计过程的最终产品必须出现的整体类型的一般看法。因为我们有一个整体的观点,我们现在能够理解什么样的整体过程可以产生好的结构,什么样的总体过程不能。这是秩序的性质以及我在本部分B中向您介绍的新结果。

这意味着我们不仅可以描述设计良好的事物的结构,还可以描述能够导致良好结构的路径。实际上,我们可以指定好路径和坏路径之间的差异,或者好进程和坏进程之间的差异。

就软件而言,这意味着原则上可以说什么样的逐步过程可以产生好的代码,什么样的步骤不能。或者,更引人注目的是,原则上,我们可以指定一种始终能够生成良好代码的进程类型。

当然,我们实际上并没有为代码的生成而这样做。我们这样做是为了建筑的设计和施工。但这是可能的。如果你愿意的话,这是软件设计的圣杯,特定于将(总是)生成好的、高效的、经济的、漂亮的、深刻的代码的各种过程。

具体是什么?我可以告诉你建筑物的情况。如果一个人已经确定了具有合理客观性水平的生活结构,如果他已经确定了这种递归的基于中心的结构是整个事情的关键,那就很好了。当然,接下来就出现了一个实际问题,你到底是怎么创造出这种生活结构的?你要做什么才能真正生产它?在特定情况下,您可以笨拙地尝试找到解决方法。但是,一般来说,它的生产规则是什么?答案令人着迷。事实证明,这些生命结构只能由一个正在展开的整体产生。所以,有一个条件,在这个条件下,空间处于某种状态。你可以通过我称之为“结构-保存转换”的东西来操作它,在每一步都保持整体,但逐渐地逐个引入差异。如果这些转变是真正的结构提供支持和结构增强,那么你最终会得到活的结构。想象一下橡子变成橡树。最终结果与起点大不相同,但以平滑展开的方式发生,其中每一步都清晰地源自前一步。

我知道这很抽象,但重点如下。这就是我们认为是自然的所有生命结构中发生的事情。当你仔细分析自然界中正在发生的事情以及事情是如何发生的时候,这种保持结构的转变往往是大多数时候都在发生的事情。这就是为什么当大自然被遗弃时,大部分时间都会产生生命结构。然而,在我们目前创造建成世界和环境的方法中;(规划设计、施工等),这根本不是正在发生的事情。我们目前认为正常的设计过程是架构师或其他人在四处移动东西,试图得到某种良好的配置。实际上,这意味着在配置空间中以几乎随机的方式进行搜索,并且永远不会回到好的结构上。这就是为什么当今的城市结构、建筑、传统的大厅和房屋往往是死气沉沉的。它们产生的过程原则上不是创造生命或寻求生命。

如果一个过程没有像我说的那样以结构-保护的方式进行,那么结果就是永远不会有活的结构。

实际上,你可以写出定理,比如说,在当今建筑业出现的那种条件下,你无法产生有生命的结构。所以,那些设计和建造这个会议中心的可怜的混蛋们被一些毫无生气的东西困住了,因为他们被嵌入了错误的过程中。他们对此无能为力。这是当今社会产生这种实体的过程的一部分。就目前情况而言,它最终无法形成一个活的结构。这是一个令人震惊的发现。

我和我的同事在过去几年的工作中有很大一部分是试图定义社会过程、经济过程、行政和管理过程,这些过程的性质使其能够在社会中发生真正的结构保护,从而允许生成和生产生活结构。这就是我大部分时间所做的,我试图做一个或另一个真实的项目,在那里我介绍了这个展开的过程,并试图使它在1996年的条件下工作。所涉及的社会和技术变革是巨大的。思想、实践、货币管理、合同以及各种真正的细节方面的变革,人们宁愿不去处理,因为它们太难了,你必须搞砸,因为正是这些过程正在破坏我们整个当代社会过程保持结构的能力。如果要创造生命,这些过程必须改变。

我的B部分到此结束。

C.未来会发生什么:生成性问题和生活世界的生成

现在让我们考虑一个规模问题。世界上约有20亿栋建筑,约为2×10至9栋。不同的是,建筑材料的总量约为10到12平方英尺,10到13平方英尺。曼哈顿的建筑总面积约为10至9平方英尺。如果你把世界上所有的外部空间都包括在内,户外的那部分与人类有关,是我们现实世界的一部分,花园、街道、农业等等,那么对于世界来说,我们的建筑设计空间大约有10到14平方英尺。

我们将如何处理这一切?我们如何在10至14平方英尺的建筑中创造或产生生活秩序?什么样的过程可能在一代人的时间内,也就是在接下来的25年内实现这一点。架构师的努力,无论我们多么努力,也无论我们投入多少精力,都不会触及到这项任务的表面。世界上所有的建筑师,加在一起,就像他们今天所做的那样,每年设计的面积不能超过10到10平方英尺——这只是所需面积的很小很小的一部分——因为太小而无法发挥作用。

多年来,我一直认为,这只能通过基因途径来解决——一种通过社会传播的深层结构创造并生成正确结构的途径,就像遗传密码创造并生成有机体和生态系统一样——通过放松生命创造过程,间接地创造和生成有机体与生态系统。

这是我仍然相信的。但是,今天,我确信,作用于生物体的基因的等价物必须是或至少可以是软件包,作用于社会。如果这些软件包能够创造生命,并被广泛接受,并且在世界各地广泛传播,那么我们就有可能解决这个问题:只要软件是自由的、解放的,允许每个人都有独立的控制权和决策权去做正确的事,并在本地创建生活结构,无论他们在哪里。这项任务必须不可避免地落在你的肩上,至少部分落在你肩上。

那些邀请我发表演讲的人最初向我保证,如果我只是解释了思想史(就像我到目前为止所做的那样),你们当中会有人觉得它很有趣,他们可能会抓住它,或者知道如何将其转化为与你自己的担忧更直接相关的东西。毕竟,这正是您在过去五年中使用模式语言所做的工作。我们两个学科之间显然存在着有益的相似性。

然而,在收到这份邀请并思考了我可以提出的问题后,我开始思考我内心深处正在增长的一种信念。这种信念让我感到,在你在软件设计方面所做的工作和我在建筑设计方面所作的工作之间存在着更深层次的巧合。我开始觉得有一种更深层次的联系,这意味着这两个学科可能会以一种对我们双方都有益的方式融合——你在你的学科中,我在我的学科中。在接下来的几分钟里,我将尝试勾勒出这种联系的本质。

作为一名架构师,当然像所有关心这些事情的人一样,我有激情尝试实现这些事情。仅仅说没有形成良好的生活结构是不够的。我必须问自己…我确实问自己…一直以来的问题都是,好吧,好吧,我们该怎么办?在这里,我们看到这个可怜的地球在所有这些浮渣的重压下下沉。那么,我们实际上要做什么?我在这里做一个1000万美元的项目,在那里做一个1千万美元的项目。但这几乎什么都没有。生命是短暂的。其中一些项目……是什么?它是众所周知的桶中的一个原子。没什么。建筑兄弟们的所有努力,即使我能说服他们这些事情的真相。这仍然是杯水车薪。这本身不会影响覆盖地球建成部分的结构的千分之一以上,也许不会超过百万分之一。

25年、30年前,当我开始工作时,我真的以为我能很快影响世界。尤其是当我接触到模式语言时。我想,孩子,我真的做到了。这会奏效的。没问题。这些模式是不言而喻的。它们会扩散。因此,建筑世界将变得更好。嘿,很快。

但这还没有实现。实际上,到目前为止,我几乎什么都没做。模式语言,它对世界环境的影响有多大。数千栋建筑受到了影响。有一些人经历了一些事情,并受到了影响。但是,与此同时,我们仍然有大量的建筑在那里,这些建筑正在定义我们所有人生活的世界,并且仍在以完全相同的方式进行。我认为,影响的文化过程太慢,无法解决这个问题。换言之,一个人讨论这些事情、分享关于这些事情的想法的过程,逐渐影响人们的思维方式,从而使越来越多的环境碎片可能变成生活结构。这是一个非常缓慢的过程,我认为它不够快,无法完成这项工作。然而,作为一名建筑师,我认为自己应该对此负责。当然,我并不是独自一人,但作为一名专业人士,我的工作是设法了解我们如何掌握这一点——地球各地建成环境的整个结构,并采取措施使其变得更好。

几年来,我一直在问自己,如何才能扩大和加强这一努力。我们的目标必须是在一两代人的时间内使世界环境成为一个有生命的结构。现实地说,这是怎么做到的?

所以,今天,我站在你们面前,自言自语……对了,我现在正在和那些在某种程度上是计算机革命核心的人们交谈。你可能会意识到,我知道你必须意识到,坐在这个房间里的所有人的努力,间接地,越来越多地,间接地影响着这个世界,因为是你控制着计算机及其程序的功能。它是控制制造业形态、运输业形态、建筑管理、医学诊断、印刷和出版的程序。你几乎无法说出世界的一个方面,在某种程度上,它还没有受到正在编写的程序的影响,这些程序用于管理和控制那些实体或操作。这仍处于初级阶段。这种情况到底持续了多久?没多久。当然,大约10年或15年前,为它所做的准备要远远早于此。但事实上,这是一个全新的概念。它看起来会大不相同,甚至在影响力方面更强大。

然而,作为一个专业机构,我认为你还没有完全意识到这一点。我可能在这里发言不合时宜,但你知道,例如,我已经翻阅了本次会议的议程。吉姆昨天很好地把它给我看了。我并没有真正看到关于计算机科学家应该用所有这些程序做什么的讨论。他们应该如何帮助地球?然而,做这件事的能力就在这个房间里。这是一个令人惊讶的情况。你有这么大的权力。…但这意味着你也有巨大的责任。

你是否有机会承担起影响、塑造和改变环境的责任。有趣的是,我认为你们中的许多人也有这种倾向。在过去一年半的时间里,当我有幸开始结识一些来自软件社区的朋友,他们向我作了自我介绍时,我开始被那些衣柜架构师的数量所吸引。从事486芯片工作的格雷格·布莱恩特(Greg Bryant)对生态学非常感兴趣,他是一本生态杂志Rain的编辑。比尔·乔伊(Bill Joy)正在以建筑师熟悉的具体物理意义来描述工作站。Sun首席科学官约翰·盖奇对社区学校感兴趣,也对人们通过合作修复自己的物理社区的过程感兴趣。吉姆·科普林正在研究人类组织中的社会结构。来自IBM的马克·苏厄尔想建造房屋。迪克·加布里埃尔(Dick Gabriel)最热爱的是诗歌写作:另一种艺术。我没有足够长的清单。但我的预感是,你们中有相当多的人在追求正常职业努力的过程中加入了这个模式游戏,他们对现实的物质世界、它的形状和设计、它的深刻感受、它对人类生活的影响也非常感兴趣。这就是我们所居住的世界。因此,可以想象,你们能够共同改变我前面描述的被破坏环境的极端状况。

让我回到我在本次演讲的B部分中描述的结构-保存展开过程。我谈到了这个结构-保存-展开过程。

当我第一次构建模式语言时,它是基于传统文化中存在的某些生成模式。这些生成方案是一组指令,按顺序执行,将允许一个人或一群人创造出一个连贯的人工制品,既美观又简单。步骤的数量各不相同:可能只有六个步骤,也可能多达20或50个步骤。当实施生成性方案时,结果总是不同的,因为生成性方案总是从现有的上下文开始生成结构,并创建与该上下文直接具体相关的东西。因此,在传统社会中常见的美丽的有机品种可能存在,因为这些生殖方案被数千不同的人使用,并允许人们根据自己的环境创造独特的房屋、房间或窗户。

当我第一次想到创建和使用模式语言时,我受到了这些传统生成模式的启发,并认为我实际上是在复制它们。然而,在创造一种可信的、新的模式语言的巨大努力中,在20世纪60年代,这种努力完全集中在了单个模式上(它们的公式化、验证等),并且一个接一个地顺序使用它们的想法被抛到了脑后。事实上,两者都是模式语言建筑的永恒之路假设模式语言是按顺序使用的。然而,在实践中,这一功能退出了站点,并且在使用中没有得到强调。因此,传统语言的美丽功效及其简单而美丽的顺序性从人们的视野中消失了。

在我们最近的工作中,情况发生了变化。我们现在关注的是真正具有生成性的模式语言。这就是说,它们是一系列指令,允许一个人按照生成方案的步骤建造一座完整、连贯的建筑。我们在房屋、公共建筑、办公家具布局等方面都做到了这一点。它起作用了。它是强大的。

与您在中看到的模式语言相比模式语言这些生成方案更像你所说的代码。它们是由产生或生成设计的指令集定义的生成过程。事实上,它们是指令系统,允许在空间中以我一分钟前所说的方式展开(B部分),因此更有能力生成有生命的结构。相比之下,发布的模式语言是静态的。新的生成语言是动态的,就像软件一样,它与上下文交互,允许人们生成各种各样的可能结果,但在这种情况下,它具有良好结果的内在保证。创造或生成的设计保证提前连贯、有用,并具有生活结构。

您知道模式语言(用于架构的语言)由这些有趣的对象组成,您试图将它们组合在一起。但有可能有更进一步的过程或程序,实际生成生活结构。由于世界形势的复杂性,以及软件的发展方式,为此设计的软件可能会很快席卷全球。

为什么计算机科学家和软件工程师会突然对建筑环境的形式和结构负责?这难道不是建筑师、规划师、农业专家、林业人员和土木工程师的领域吗?应该是这样的。但这些专业的成员并没有为生命结构的生成方法承担责任,因此无法生成它。而且,据我所知,他们没有看到它的到来,也没有准备好在精神上或专业上承担它。因此,这将落在其他人的肩上。

在历史上,这种意外的转变是很常见的。当一门学科发生范式变化时,并不总是由旧专业的成员将其带入下一个阶段。在技术变革发展的历史中,负责特定专业的人往往随后进行技术创新。然后,技术创新后负责该领域的人是一个完全不同的群体。当汽车出现时,为马和马车制造马车的人并没有变成亨利·福特。亨利·福特对马车一无所知。造汽车的人从左边来了,然后过来了,马车死了。

可以想象,在未来,生成世界上的生物结构的问题可能是你们计算机科学家明确认识到的责任之一。这种变化代表着你我之间某种程度的婚姻,与吉姆·科普林邀请我考虑的那种完全不同。我被带到这里来是为了回答这个问题:“好吧,克里斯,你一直在做什么新的事情,这些事情可能会衍生出来,并对我们有帮助?本次演讲的A部分和B部分都是关于这一点的。但C部分是关于完全不同的事情。我希望你能帮助我。我想让你们认识到,建筑规划师、开发商或建筑工人目前并没有很好地解决建造生活结构的问题,地球正因此而遭受痛苦。我相信他们可能永远不可能真正做到这一点,因为他们使用的方法无法做到。对你来说,这是不同的。生成过程的想法对你来说很自然。它构成了计算机科学领域的核心。在正常的软件设计过程中,您可以随时掌握和处理日常事务的方法都是为实现这一点而设计的。所以,只要你有兴趣,你就有能力,也有手段。

我在早餐时听到一个谣言,说这个房间里的一些人开始担心自己的工作了。我不知道这是不是真的。但有人告诉我,对于所有这些软件设计的去向,存在着一种潜在的不安情绪。编程作为一门艺术,有一种巨大的扩张现象,但人们对它的发展方向感到不安?它会做什么?

我对此有何评论?请原谅我,在这可怕的一瞬间,我会直言不讳。可以认为,你目前看待编程的技术方式几乎就像你愿意成为“雇佣枪手”。换句话说,你就是技术人员。你知道如何让程序工作。“爸爸,告诉我们该做什么,我们就做。”这是苹果里的虫子。

我在这里提出的建议与此有点不同。这是一种将编程视为生活世界的自然遗传基础设施的观点,你/我们有能力创造、管理、提供这些基础设施,然后可能会导致我们的城镇、房屋、工作场所和城市的生活结构成为一种可实现的东西。这将是了不起的。它将扭转世界,使整个社会的生活结构再次成为规范,并使这个世界值得再次生活。

这是一个对未来的非凡愿景,在这一愿景中,计算机在使世界,尤其是世界的建筑结构充满活力、人性化、生态化和深层次的生活结构方面发挥着重要作用。我知道你可能会对我的结论感到惊讶。从技术上讲,这不是我应该跟你说的。或者你可能会说,好主意,但我们不感兴趣。我希望这不是你的反应。我希望你们所有人,作为未来一个伟大职业的成员,将决定帮助我,并通过参与这一巨大的全球努力来帮助你们自己。我确实认为你有能力。我不认为任何其他专业机构有足够的能力或自然的机会来影响这项必须完成的工作。

我很高兴和你谈话。谢谢你听我说,我很想听听你对这些话题的看法。"

-克里斯托弗·亚历山大教授
加利福尼亚州圣何塞,1996年




©克里斯托弗·亚历山大和环境结构中心