軟體設計哲學
我們備受批評,因為我們在設計Arc程式語言時只考慮了優秀程式設計師。對於什麼是好的設計,有很多爭論,很多人認為好的設計意味著你懂得使用者的需要,而大多數的程式設計師都不是優秀的程式設計師。
讓我們來看一下這樣的兩款車:1973年的卡迪亞克和保時捷911。卡迪亞克在設計上用來大量的心思來吸引普通車手。而保時捷911是為效能而設計。哪一個是更好的設計?
1973年的凱迪拉克
1973年的保時捷911
以上是我隨機挑選的兩張1973年的圖片。如果不考慮當下的設計流行趨勢的話,你很容易區分它們設計的好壞。(你可以參考一下當時中學裡流行的髮型。)
好的設計是不受時間限制的。如果你希望你的設計能經得起時間的考驗的,你就不能迎合那些你認為的“一般”使用者,讓這樣的限制約束你。這是一個很不清晰的使用者群體。這是一個在不斷運動的使用者群:所謂的一般使用者不會像你認為的那樣一直愚笨下去。
看一看在保時捷911身上發生的事情。很顯然它的設計要優於卡迪拉克,甚至小孩也能看出這一點。所以到了1980s,甚至那些毒品販子也放棄了專門為他們設計的凱迪拉克,轉而投奔保時捷911。
程式語言也有同樣的故事。優秀的程式語言是優秀的程式設計師設計給他們自己用的——C,Smalltalk,Lisp。而那些專門為“一般”程式設計師設計的程式語言(Cobol, Pascal, Ada)都漸漸走向消亡。
唯一正確的方向就是為效能而設計。這裡的效能並不是速度,不僅僅是它字面上的意思,速度需要考慮,但一種程式語言首先要當成一種工具,我們希望Arc語言給人的感覺就像是駕駛一輛保時捷911。
(我們並沒有說它現在已經做到這些,但這是我們的目標。)
英文原文:Design Philosophy
相關文章
- 書評:軟體設計哲學
- 軟體設計與哲學,做人
- 軟體測試:哲學視角
- 好的軟體哲學家有哪些? - Hillel
- 從軟體哲學角度談 Amazon SageMaker
- 軟體開發的哲學思考 (轉)
- 程式設計師的哲學程式設計師
- 程式語言設計,程式設計哲學程式設計
- 幽默:哲學與軟體工程的區別軟體工程
- 「 思考 」 React Hooks 的設計哲學ReactHook
- 漫談哲學與程式設計程式設計
- 程式導向程式設計哲學程式設計
- Unix哲學(Unix程式設計藝術)程式設計
- Unix程式設計藝術,Unix哲學程式設計
- 想學軟體設計如何起步
- 非同步與回撥的設計哲學非同步
- 【軟體工程】軟體設計之總體設計軟體工程
- UI設計需要學會哪些軟體?UI
- 關於數學和軟體設計
- <<軟體設計學習筆記>> (轉)筆記
- 學好UI設計,需要學習哪些軟體?UI
- 從零開始理解 Laravel 的設計哲學Laravel
- Kotlin語言中的泛型設計哲學Kotlin泛型
- 走近宮本茂:遊戲之神的設計哲學遊戲
- 軟體設計
- DND體系的哲學思考
- 軟體設計模式學習(十八)命令模式設計模式
- Go 設計哲學:少即是多,哪裡來的?Go
- 軟體開發中的哲學——世界的本原是物質(一)
- 軟體設計模式設計模式
- 軟體設計模式學習(十三)裝飾模式設計模式
- 軟體設計模式學習(二十)迭代器模式設計模式
- 國學思想之於軟體架構設計架構
- [靜夜思]深夜隨筆(4)——程式設計師哲學程式設計師
- 跟vczh看例項學編譯原理——一:Tinymoe的設計哲學編譯原理
- 軟考–軟體設計師薦
- 軟體設計模式學習(十七)職責鏈模式設計模式
- 從Open Web SSO 學習軟體架構設計Web架構