一百年后的編程語言
*讀者要沒學過Lisp估計get不到本章的那個點。
- 基本運算符是一種語言能否長期存在的最重要的因素。其他因素都不是決定性的。如同買房子,地理位置是最優先的。
- 冗余的代碼會導致更多冗余的代碼。
- 一種語言的內核設計得越小,越干凈,它的生命力就越頑強。
- 如果我們把語言的內核設想為一些基本公理的集合,那么僅僅為了提高效率就往內核添加多余的公理,卻沒有帶來表達能力的提高,這是意見糟糕的事情。修改語言設計不是提高程序效率的正確方法。正確的做法是將語言的語義與語言的實現分離,在語義上不需要同時存在列表和字符串,單單列表就夠了。而在實現上做好編譯器的優化,使它在必要的時候把字符串作為連續字節的形式處理。
- 對于大多數程序,速度不是最關鍵的因素。
- essay(論文)這個詞來自法語的動詞essayer(試試看)。原始意義來看,論文就是你寫一篇文章,試著搞清楚一件事。
- 浪費程序員的時間而不是浪費機器的時間才是真正的無效率。隨著計算機速度越來越快,這回變得越來越明顯。
- 軟件的圣杯--可重用性(reusability)。應用程序越采用多層形式的開發,它的重用性就越好。
- 性能分析器(profier)將變得越來越重要。目前,性能分析并沒有受到重視。應用軟件的運行速度提升的關鍵在于有一個好的性能分析器幫助指導程序開發。
- 過去10年最激動人心的趨勢之一就是開源語言的崛起,比如Perl,Python和Ruby。
- 學習開車的時候,一個需要記住的原則就是要把車開直,不是通過將車身對其畫在地上的分割線,而是瞄準遠處的某個點。