软件设计哲学

开发 后端 前端
我们备受批评,因为我们在设计Arc编程语言时只考虑了优秀程序员。对于什么是好的设计,有很多争论,很多人认为好的设计意味着你懂得用户的需要,而大多数的程序员都不是优秀的程序员。

[[72173]]

我们备受批评,因为我们在设计Arc编程语言时只考虑了优秀程序员。对于什么是好的设计,有很多争论,很多人认为好的设计意味着你懂得用户的需要,而大多数的程序员都不是优秀的程序员。

让我们来看一下这样的两款车:1973年的卡迪亚克和保时捷911。卡迪亚克在设计上用来大量的心思来吸引普通车手。而保时捷911是为性能而设计。哪一个是更好的设计?

[[72174]]

1973年的凯迪拉克

[[72175]]

1973年的保时捷911

以上是我随机挑选的两张1973年的图片。如果不考虑当下的设计流行趋势的话,你很容易区分它们设计的好坏。(你可以参考一下当时中学里流行的发型。)

好的设计是不受时间限制的。如果你希望你的设计能经得起时间的考验的,你就不能迎合那些你认为的“一般”用户,让这样的限制约束你。这是一个很不清晰的用户群体。这是一个在不断运动的用户群:所谓的一般用户不会像你认为的那样一直愚笨下去。

看一看在保时捷911身上发生的事情。很显然它的设计要优于卡迪拉克,甚至小孩也能看出这一点。所以到了1980s,甚至那些毒品贩子也放弃了专门为他们设计的凯迪拉克,转而投奔保时捷911

编程语言也有同样的故事。优秀的编程语言是优秀的程序员设计给他们自己用的——C,Smalltalk,Lisp。而那些专门为“一般”程序员设计的编程语言(Cobol, Pascal, Ada)都渐渐走向消亡。

唯一正确的方向就是为性能而设计。这里的性能并不是速度,不仅仅是它字面上的意思,速度需要考虑,但一种编程语言首先要当成一种工具,我们希望Arc语言给人的感觉就像是驾驶一辆保时捷911。

(我们并没有说它现在已经做到这些,但这是我们的目标。)

英文原文:Design Philosophy

译文连接:http://www.aqee.net/design-philosophy/

责任编辑:林师授 来源: 外刊IT评论
相关推荐

2019-08-12 14:45:50

软件设计Java

2017-08-28 15:00:20

软件系统架构风格

2014-04-30 12:18:07

软件设计

2010-06-24 14:39:09

HART协议

2023-10-19 13:43:00

设计模式软件设计

2021-11-23 20:41:05

对象软件设计

2022-06-08 10:10:00

软件设计设计文档需求设计

2012-06-07 10:17:55

软件设计设计原则Java

2023-11-29 07:51:40

嵌入式软件设计

2012-05-09 12:35:48

美国YPiPad软件

2013-06-07 11:31:36

面向对象设计模式

2010-08-11 09:15:07

设计模式Python

2011-09-30 15:05:02

Android应用十一

2010-06-28 15:23:43

SNMP协议

2011-07-21 14:33:02

设计模式

2010-06-08 13:29:29

UML技术

2022-07-10 07:48:26

缓存软件设计

2009-02-20 10:25:54

UML软件设计例程

2014-06-17 09:42:05

软件开发软件设计

2023-12-05 13:47:00

Java开发
点赞
收藏

51CTO技术栈公众号