- 你真的會(huì)寫代碼嗎
- (意)馬爾科·法埃拉
- 967字
- 2021-07-28 17:52:10
序
在過(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è)程序員的書
- 從零構(gòu)建知識(shí)圖譜:技術(shù)、方法與案例
- 解構(gòu)產(chǎn)品經(jīng)理:互聯(lián)網(wǎng)產(chǎn)品策劃入門寶典
- bbPress Complete
- 程序設(shè)計(jì)基礎(chǔ)教程:C語(yǔ)言
- Python圖形化編程(微課版)
- Illustrator CC平面設(shè)計(jì)實(shí)戰(zhàn)從入門到精通(視頻自學(xué)全彩版)
- Distributed Computing in Java 9
- Xamarin Blueprints
- 現(xiàn)代C:概念剖析和編程實(shí)踐
- Mastering Drupal 8
- AngularJS UI Development
- Learning Apache Thrift
- 劍指大數(shù)據(jù):企業(yè)級(jí)電商數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目實(shí)戰(zhàn)(精華版)
- Mastering Swift 4(Fourth Edition)
- FORTRAN程序設(shè)計(jì)權(quán)威指南