官术网_书友最值得收藏!

在過(guò)去30年里,我寫了不少編程書,所以習(xí)慣了時(shí)不時(shí)有人聯(lián)系我尋求寫書的建議。我總是要求他們提供一篇樣章。在大多數(shù)情況下,他們就再?zèng)]有下文了,我也并不覺得遺憾。很顯然,如果一個(gè)人連樣章也寫不出,寫一本書更是空談,也就沒有什么好討論的了。

2018年1月,我收到了一封來(lái)自意大利那不勒斯大學(xué)的馬爾科·法埃拉教授的電子郵件,他之前在美國(guó)加州大學(xué)圣克魯茲分校工作時(shí)和我見過(guò)面。他向我咨詢了關(guān)于寫書的建議,而且已經(jīng)寫完好幾章了!我看了之后很喜歡,就回復(fù)了一些鼓勵(lì)和建議。但是最終還是沒有下文了。我并沒有感到驚訝。我的一個(gè)編輯曾經(jīng)告訴我,在他認(rèn)識(shí)的人中,開始寫書的人很多……但寫完一本書的人很少。

2019年4月,我又收到了馬爾科的一封電子郵件,得知這本書即將由Manning出版社出版。它看起來(lái)真的很不錯(cuò)。8月,馬爾科請(qǐng)我為它作序,我欣然同意了。

在寫關(guān)于編程語(yǔ)言的書(比如經(jīng)典的《Java核心技術(shù)》)時(shí),我會(huì)把重點(diǎn)放在該語(yǔ)言特有的結(jié)構(gòu)和API上,假設(shè)讀者已經(jīng)很好地掌握了數(shù)據(jù)結(jié)構(gòu)、算法和軟件工程原理(如測(cè)試、重構(gòu)和設(shè)計(jì)模式等)。當(dāng)然,當(dāng)過(guò)教授的我也知道,大學(xué)課程并不總是能用一種實(shí)用且易于吸收的方式來(lái)很好地教授這些主題。

這本書恰恰滿足了這一需求。作為讀者,你應(yīng)該熟悉Java編程的基礎(chǔ)知識(shí),而馬爾科將告訴你如何編寫更高質(zhì)量的程序。你可能已經(jīng)在算法設(shè)計(jì)、API設(shè)計(jì)、測(cè)試和并發(fā)等方面有了一定的經(jīng)驗(yàn),但馬爾科對(duì)這些經(jīng)典的主題做了新的詮釋。他通過(guò)不同的方式反復(fù)實(shí)現(xiàn)同一個(gè)示例,從而得出了很多驚人的見解。通常,我不喜歡“演進(jìn)示例”的方法,因?yàn)樗仁刮野错樞蜷喿x一本書。由于需要知道該示例的演進(jìn)狀態(tài),因此就不能直接跳到最感興趣的部分了。但馬爾科給出的例子(其本質(zhì)我不想在此透露)設(shè)計(jì)得非常巧妙。當(dāng)你第一次看到它的時(shí)候,需要掌握幾個(gè)出人意料、有趣的核心概念。之后,每一章都讓此代碼在不同的方向上演進(jìn)。這真是一部杰作。

在主要的幾章中,你會(huì)找到標(biāo)題為“來(lái)點(diǎn)兒新鮮的”的小節(jié)。在此,你能將在該章所學(xué)的技巧應(yīng)用到不同的場(chǎng)景中。我建議你完成這些挑戰(zhàn),還有小測(cè)驗(yàn)和章末的練習(xí)。

構(gòu)建高質(zhì)量的軟件向來(lái)不是簡(jiǎn)單的事情,重新審視好的設(shè)計(jì)原則和技巧總是沒錯(cuò)的。在這本書中,你會(huì)發(fā)現(xiàn)一個(gè)全新的視角。希望你能像我一樣喜歡這本書。

凱·霍斯特曼

著有《Java核心技術(shù)》《寫給大忙人看的Java核心技術(shù)》
《快學(xué)Scala》和其他許多面向初級(jí)和專業(yè)程序員的書

主站蜘蛛池模板: 色达县| 栖霞市| 兴和县| 克拉玛依市| 萨迦县| 开原市| 安庆市| 河池市| 延安市| 静宁县| 调兵山市| 饶阳县| 来安县| 唐河县| 三台县| 轮台县| 沙田区| 镇安县| 蕲春县| 栾川县| 邛崃市| 江津市| 江都市| 宣化县| 健康| 双峰县| 渭南市| 普兰县| 郓城县| 徐水县| 安仁县| 永丰县| 天气| 当涂县| 长武县| 石城县| 花莲县| 静安区| 中方县| 砚山县| 塔城市|