第三版前言

正本基本是本身翻譯,翻譯絕對有錯誤,就是這麼自信,看的時候,本身注意下,若是感受有語句不通,那麼可能就是我翻譯的出現了問題,能夠本身翻找原文對比下。java

其中本身的看法,我寫在腳註中。web


1997 年,James Goslingjava 之父),將剛誕生的 java 描述爲 藍領語言 1 ,它是很是簡單的。與此同時,C++ 之父 Bjarne Stroustrup 描述 C++ 是一門 多範式 的語言,設計的思路,故意不一樣於那些只支持單一方式實現程序的語言2Stroustrup 警告:編程

java 的相對簡單性和大部分的新語言同樣,它的簡單性,一部分是幻覺,一部分是功能的不完善,因此看起來比較簡潔、簡單3。隨着時間的推移,java 的規模和複雜性將顯著增長。之後 java 的規模將會成倍或者三倍的增長,以及增長其依賴的實現和擴展。編程語言

如今,二十年過去了,公平的說,James GoslingBjarne Stroustrup 說的都是正確的。隨着 java 添加了對許多東西的抽象表示:添加並行執行、添加迭代器、對時間和日期類的重構, java 變得又大又龐雜。svg

儘管隨着 java 平臺的發展,個人熱情減退了一些,但我依然喜歡 java 。考慮到 java 日益增長的複雜性和規模,對最新的最佳實踐的需求變得更加尖銳。我盡我最大的可能爲你們提供了一個最佳實踐 —— 《effective java》 第三版。我但願第三版繼續知足需求,同時繼承前兩版的精神。學習

Small is beautiful, but simple ain’t easy 。翻譯


  1. 藍領不是貶低的意思,主要是 java 誕生之初,James Gosling 但願樹立一個 java 門檻低的形象,你們均可以學習用 。誰還不但願本身的孩子有出息嘛,可是出息以前,首先要被大衆接受。 ↩︎設計

  2. 多範式的意思,一種編程語言支持多種寫法,好比 C 是單一的支持面向過程的語言,java 則是純粹的面嚮對象語言的,它們都支持單一範式,而 C++ 則支持面向過程、面向對象的編程方式,這裏就是它的 多範式 的含義。 ↩︎3d

  3. 說的是 java 的簡單是假的,是一種幻覺,它目前的簡單,只是功能的不完整,之後 java 會一樣變得複雜。 ↩︎code

相關文章
相關標籤/搜索