- 你真的會寫代碼嗎
- (意)馬爾科·法埃拉
- 967字
- 2021-07-28 17:52:10
序
在過去30年里,我寫了不少編程書,所以習慣了時不時有人聯系我尋求寫書的建議。我總是要求他們提供一篇樣章。在大多數情況下,他們就再沒有下文了,我也并不覺得遺憾。很顯然,如果一個人連樣章也寫不出,寫一本書更是空談,也就沒有什么好討論的了。
2018年1月,我收到了一封來自意大利那不勒斯大學的馬爾科·法埃拉教授的電子郵件,他之前在美國加州大學圣克魯茲分校工作時和我見過面。他向我咨詢了關于寫書的建議,而且已經寫完好幾章了!我看了之后很喜歡,就回復了一些鼓勵和建議。但是最終還是沒有下文了。我并沒有感到驚訝。我的一個編輯曾經告訴我,在他認識的人中,開始寫書的人很多……但寫完一本書的人很少。
2019年4月,我又收到了馬爾科的一封電子郵件,得知這本書即將由Manning出版社出版。它看起來真的很不錯。8月,馬爾科請我為它作序,我欣然同意了。
在寫關于編程語言的書(比如經典的《Java核心技術》)時,我會把重點放在該語言特有的結構和API上,假設讀者已經很好地掌握了數據結構、算法和軟件工程原理(如測試、重構和設計模式等)。當然,當過教授的我也知道,大學課程并不總是能用一種實用且易于吸收的方式來很好地教授這些主題。
這本書恰恰滿足了這一需求。作為讀者,你應該熟悉Java編程的基礎知識,而馬爾科將告訴你如何編寫更高質量的程序。你可能已經在算法設計、API設計、測試和并發等方面有了一定的經驗,但馬爾科對這些經典的主題做了新的詮釋。他通過不同的方式反復實現同一個示例,從而得出了很多驚人的見解。通常,我不喜歡“演進示例”的方法,因為它迫使我按順序閱讀一本書。由于需要知道該示例的演進狀態,因此就不能直接跳到最感興趣的部分了。但馬爾科給出的例子(其本質我不想在此透露)設計得非常巧妙。當你第一次看到它的時候,需要掌握幾個出人意料、有趣的核心概念。之后,每一章都讓此代碼在不同的方向上演進。這真是一部杰作。
在主要的幾章中,你會找到標題為“來點兒新鮮的”的小節。在此,你能將在該章所學的技巧應用到不同的場景中。我建議你完成這些挑戰,還有小測驗和章末的練習。
構建高質量的軟件向來不是簡單的事情,重新審視好的設計原則和技巧總是沒錯的。在這本書中,你會發現一個全新的視角。希望你能像我一樣喜歡這本書。
凱·霍斯特曼
著有《Java核心技術》《寫給大忙人看的Java核心技術》
《快學Scala》和其他許多面向初級和專業程序員的書
- PyTorch自然語言處理入門與實戰
- Web Development with Django Cookbook
- Node.js全程實例
- Unity 3D/2D移動開發實戰教程
- JavaScript程序設計:基礎·PHP·XML
- 測試架構師修煉之道:從測試工程師到測試架構師
- Visual C++程序設計全程指南
- Getting Started with the Lazarus IDE
- Tkinter GUI Programming by Example
- JavaScript編程精解(原書第3版)
- Web前端開發全程實戰:HTML5+CSS3+JavaScript+jQuery+Bootstrap
- Unreal Engine 4 Game Development Essentials
- Python輕松學:爬蟲、游戲與架站
- C/C++程序設計教程:面向過程分冊
- C#入門經典(第7版):C# 6.0 & Visual Studio 2015(.NET開發經典名著)