15 设计与研究
[美] 保罗•格雷厄姆
外国游客常常惊讶地发现,美国人交谈的时候,一开始总是问“你干什么工作”。我一直讨厌回答这个问题,因为一句话说不清楚。不过我最终找到了解决方法,现在如果有人问我干什么工作,我会正视对方的双眼说:“我正在设计一种 Lisp 语言的新方言。”如果你也有同样的困扰,我推荐你也如此回答。对方立刻就转向其他话题了。
我确实是在“设计”一种编程语言,而且我不认为自己在做“研究”。我所做的工作与其他人设计一幢大楼、一把椅子或者一种新字体并没有本质不同。我的目的不是发现一种“新”东西,而是设计出一种很“好”的编程语言。
设计与研究的区别看来就在于,前者追求“好”,后者追求“新”。优秀的设计不一定很“新”,但必须是“好”的;优秀的研究不一定很“好”,但必须是“新”的。我认为这两条道路最后会发生交叉:只有应用“新”的创意和理论,才会诞生超越前人的最佳设计;只有解决那些值得解决的难题(也就是“好”的难题),才会诞生最佳研究。所以,最终来说,设计和研究都通向同一个地方,只是前进的路线不同罢了。
如果把创造一种编程语言看成设计问题,而不是科研方向,那么有何不同?
最大的不同在于你会更多地考虑用户。在设计的时候,一开始总是问:“我为谁设计?他们需要什么?”比如,优秀的建筑师不会先设计,然后强迫用户接受,而是先研究最终用户的需求,然后做出用户需要的设计。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
这篇文章探讨了设计与研究之间的区别,特别是在编程语言设计方面。作者强调了设计的关键是考虑用户需求,而不是迎合用户的一切要求。优秀的设计必须以用户为中心,而目标用户的选择对设计的好坏至关重要。此外,文章还提到了编程语言设计需要考虑人类的特点和需求,以及在评价编程语言时需要关注程序从无到有的完成路径,而不仅仅是最终的程序表达。文章通过对设计与研究的比较,以及对编程语言设计的思考,展现了作者对设计理念和编程语言的独特见解。文章还讨论了“弱即是强”模式,强调了原型设计对于鼓舞士气和产品优秀性的重要性。设计意味着做出符合人类特点和需要的产品,但是“人类”不仅包括用户,还包括设计师,所以设计工作本身也必须符合设计师的特点和需要。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《黑客与画家》
《黑客与画家》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论