軟件設計哲學
我們備受批評,因為我們在設計Arc編程語言時只考慮了優秀程序員。對于什么是好的設計,有很多爭論,很多人認為好的設計意味著你懂得用戶的需要,而大多數的程序員都不是優秀的程序員。
讓我們來看一下這樣的兩款車:1973年的卡迪亞克和保時捷911。卡迪亞克在設計上用來大量的心思來吸引普通車手。而保時捷911是為性能而設計。哪一個是更好的設計?

1973年的凱迪拉克

1973年的保時捷911
以上是我隨機挑選的兩張1973年的圖片。如果不考慮當下的設計流行趨勢的話,你很容易區分它們設計的好壞。(你可以參考一下當時中學里流行的發型。)
好的設計是不受時間限制的。如果你希望你的設計能經得起時間的考驗的,你就不能迎合那些你認為的“一般”用戶,讓這樣的限制約束你。這是一個很不清晰的用戶群體。這是一個在不斷運動的用戶群:所謂的一般用戶不會像你認為的那樣一直愚笨下去。
看一看在保時捷911身上發生的事情。很顯然它的設計要優于卡迪拉克,甚至小孩也能看出這一點。所以到了1980s,甚至那些毒品販子也放棄了專門為他們設計的凱迪拉克,轉而投奔保時捷911。
編程語言也有同樣的故事。優秀的編程語言是優秀的程序員設計給他們自己用的——C,Smalltalk,Lisp。而那些專門為“一般”程序員設計的編程語言(Cobol, Pascal, Ada)都漸漸走向消亡。
唯一正確的方向就是為性能而設計。這里的性能并不是速度,不僅僅是它字面上的意思,速度需要考慮,但一種編程語言首先要當成一種工具,我們希望Arc語言給人的感覺就像是駕駛一輛保時捷911。
(我們并沒有說它現在已經做到這些,但這是我們的目標。)
[英文原文: Design Philosophy ]
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!