Paul Graham Essays

返回

设计与研究

发布于 2003-01-01

原文:https://www.paulgraham.com/desres.html

2003 年 1 月

(本文源自 NEPLS 2002 年秋季会议上的主题演讲。)

访问这个国家的人经常会感到吃惊,发现美国人喜欢以询问 “你是做什么工作的?” 来开始一次对话。我从来不喜欢这个问题。我很少有一个简洁的答案。但我认为我终于解决了这个问题。现在,当有人问我在做什么时,我会直视他们,然后说:“我正在设计一个Lisp 的新方言。” 我建议任何不喜欢被问及工作的人使用这个回答。对话会立即转向其他话题。

我不认为自己在研究编程语言。我只是在设计一个,就像有人可能设计一栋建筑物、一把椅子或一种新的字体一样。我不试图发现任何新东西。我只是想创造一个好用的编程语言。从某种程度上来说,这种假设让生活变得简单很多。

设计和研究之间的区别似乎是新与好的问题。设计不必是新的,但必须是好的。研究不必是好的,但必须是新的。我认为这两条道路在顶端汇聚:最好的设计通过使用新的想法超越了它的前辈,而最好的研究解决的问题不仅是新的,而且确实值得解决。所以最终我们都是朝着同一个目的地前进,只是从不同的方向接近。

今天我要谈论的是从背面看你的目标是什么。当你把编程语言视为设计问题而不是研究课题时,你会做出什么不同的举措?

最大的不同是你更专注于用户。设计始于问,这是为谁设计的,他们需要什么?例如,一个优秀的建筑师并不是从创建他然后强加给用户的设计开始,而是通过研究预期用户并弄清他们需要什么开始。

请注意,我说的是 “他们需要的”,而不是 “他们想要的”。我并不是要给人一种印象,即作为设计师意味着像短命的厨师一样,制作客户告诉你要做的任何东西。在艺术领域,这因人而异,但我认为在任何领域中,最好的作品都不是由那些只做客户告诉他们要做的事情的人完成的。

用户在使用中总是正确的,好的设计的衡量标准是它对用户的使用效果如何。如果你创作了一本让所有人都感到无聊的小说,或者一个坐起来非常不舒服的椅子,那么你的工作就做得不好。说小说或椅子是根据最先进的理论原则设计的并不是理由。

然而,为用户制作有效的东西并不意味着简单地制作用户告诉你要制作的东西。用户不知道所有的选择,而且他们经常误解自己真正想要的是什么。

我认为这个悖论的答案是,你必须为用户设计,但你必须设计用户需要的东西,而不仅仅是他说他想要的东西。这很像做医生。你不能只治疗患者的症状。当患者告诉你他的症状时,你必须找出他实际上有什么问题,并对其进行治疗。

对用户的关注是一个公理,大多数良好设计实践可以从中推导出来,并且大多数设计问题都围绕着这个公理展开。

最后编辑于 2024-04-15