兼建筑的永恒之道

博客将建筑领域与软件工程进行类比,指出建筑师类似软件架构设计师,负责‘软’质量;程序员类似结构工程师,保证‘硬’质量。还提到建筑中建筑师不受工程化方法约束,其发散思维可能带来问题,但也有高收益。软件设计中也存在类似矛盾,理想状态是架构师也能胜任程序员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Alexander是个建筑师,建筑师关心的是建筑如何能符合人的需要,也就是建筑的“软”质量。至于建筑的“硬”质量,是由结构工程师来确保的,建筑师既没有能力,也没有责任对建筑的“硬”质量负责。因此建筑师的地位类似于软件工程中的总体设计师或曰架构设计师(现在不是也叫Architect了么?),在这一族群里当然没有所谓蓝领的容身之地。但软件就没有“硬”质量的要求了么?当然是有的,所谓编码强度是也。不死机、不溢出、不误操作等等。这些是由程序员来保证的,Architect同样也管不到这一段。因此通常意义上的Software Enginner或者Programmer相当于建筑中的结构工程师的角色。这些人的思维方式应该是内聚的,不能具有发散性,否则“硬”质量无从保证。而模块也是在这一层次上才开始引入的。

要知道,在建筑开发过程中,建筑师是最不受工程化方法约束的人。因此如果讨论工程化方法,是不应该用建筑师的思维方式去类比的。建筑史上有段“佳话”:悉尼歌剧院,建筑师的发散性思维害苦了结构师,结果整个建筑超预算超了一个数量级!但建筑落成之后的收益却比原先预计的高了一个数量级。因此创造性是“建筑师的武器、结构师的噩梦”。建筑与结构是贯穿建筑界始终的一对矛盾,在软件设计中同样存在类似的问题。但是建筑师的想象也可以建立在基础之上,一个好的建筑师同样应该也能胜任结构师才是完美。尽管很难做到,但是我们最少还有这个梦想。同样作为程序员的我,难道不应该这样吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值