第三版前言
正本基本是自己翻译,翻译绝对有错误,就是这么自信,看的时候,自己注意下,如果感觉有语句不通,那么可能就是我翻译的出现了问题,可以自己翻找原文对比下。
其中自己的见解,我写在脚注中。
在 1997
年,James Gosling
(java
之父),将刚诞生的 java
描述为 蓝领语言 1 ,它是非常简单的。与此同时,C++
之父 Bjarne Stroustrup
描述 C++
是一门 多范式 的语言,设计的思路,故意不同于那些只支持单一方式实现程序的语言2。Stroustrup
警告:
java
的相对简单性和大部分的新语言一样,它的简单性,一部分是幻觉,一部分是功能的不完善,所以看起来比较简洁、简单3。随着时间的推移,java
的规模和复杂性将显著增加。以后java
的规模将会成倍或者三倍的增加,以及增加其依赖的实现和扩展。
现在,二十年过去了,公平的说,James Gosling
和 Bjarne Stroustrup
说的都是正确的。随着 java
添加了对许多东西的抽象表示:添加并行执行、添加迭代器、对时间和日期类的重构, java
变得又大又庞杂。
尽管随着 java
平台的发展,我的热情减退了一些,但我依然喜欢 java
。考虑到 java
日益增加的复杂性和规模,对最新的最佳实践的需求变得更加尖锐。我尽我最大的可能为大家提供了一个最佳实践 —— 《effective java》
第三版。我希望第三版继续满足需求,同时继承前两版的精神。
Small is beautiful, but simple ain’t easy 。