经常会有人批评我们把Arc设计成了一种适合优秀程序员使用的编程语言。好的设计,意味着你能明白用户的需求,而大部分程序员都不是优秀的程序员,所以Arc怎能叫做好的设计呢?
OK,我们来看看这两种车:1973版的Cadillac Coupe de Ville和同时期的Porsche 911。前者是专为迎合普通驾驶者而设计的,而911则是为更好的性能而设计。何者是更好的设计呢?
我是有意选择1973年的车型的。回头看,你可以更容易的分出好的和坏的设计,不信可以看看那些老式高等院校的年鉴,哪些发型更好几乎是一眼就能看出的。
好的设计是不分今古,超越时间,永恒存在的。如果你希望设计出一些永恒存在的东西,就不能去迎合假想的什么“普通”用户。它不是一个清晰的目标,甚至都不是一个不动靶:普通用户可能没你想象的那么蠢。
看看911吧,就连小孩都能看出它比凯迪拉克更优秀。到了80年代,就连毒贩都开始抛弃凯迪拉克选择911了,要知道,凯迪拉克最初就是以这些毒贩为目标客户而设计的。
编程语言也是一样。好的语言一直是那些优秀工程师设计来给自己用的——C,Smalltalk和Lisp。那些专门设计给普通程序员的语言(Cobol,Pascal,Ada)最后都被走进了死胡同。
唯一的可靠方案是为更好的性能而设计。性能并不单指速度,速度当然重要,但是一门编程语言首先是一种思考的工具,我们更喜欢用Arc来思考,就像喜欢开911一样。