《AI-Assisted Programming》讀后感
一、 為什么讀這本書?
1.想了解如何更好地利用 AI 工具來輔助編程。
在我日常的工作中,常使用 ChatGPT 和 DeepSeek 來輔助編程。當然,方式比較簡單與直接,就是將問題丟給它們,然后看一下這些 AI 工具怎么解答,根據解答選擇比較好的解決方案。但是,有兩個問題經常困擾著我:1. AI 工具給出的解決方案是錯誤的。例如:我使用的 Python 版本是 2.7.18,Flask 框架版本是 1.1.4, 那么相應的 Flask-SQLAlchemy, marshmallow, marshmallow-sqlalchemy 等應該使用哪個版本?這個問題截止到目前這些 AI 工具都沒有給出正確的版本。2. AI 工具給出的解決方案不是最佳的。例如:在 Flask web 開發中,應該使用哪個 restful 框架?對于這個問題, AI 工具始終沒有給出最佳的選擇理由。
對于以上兩個問題,我時常在想是否是我的提問方式不正確?剛好有一天看到朋友圈有朋友在閱讀 《AI-Assisted Programming》(《AI輔助編程實戰》) 這本書,所以打算看一下。借鑒別人利用 AI 工具來輔助編程的經驗。
2.想看看 O'Reilly 最近幾年出的書水平是否有改進。
我買的第一本書 O'Reilly 的書是 2018年出版的《利用Python進行數據分析 (原書第2版)》, 當時感覺比較簡略,后面就再也沒有買過 O'Reilly 的書了,而 《AI-Assisted Programming》是 2024 年出版的,6 年過去了,想必 O'Reilly 出的書應該有所改進。
二、這本書寫了什么?
簡單介紹了 AI 工具的 發展,詳細介紹了 Copilot 和 其它 AI 工具的使用,軟件開發流程。
從 2025 年 3 月 13 日至 2025 年 7 月 27 日,期間斷斷續續花了 38 天閱讀完《AI-Assisted Programming》(《AI輔助編程實戰》)。
三、這本書特點
1.很多生詞
這是我閱讀過的所有書中生詞最多的書。這本書只有 200 多頁,然而我卻從 2025 年 3 月 13 日至 2025 年 7 月 27 日花了 38 天才閱讀完,之所以從 3 月拖到 7 月,是因為生詞實在太多,然而又毫無技術價值,導致我一度不想讀,但本著“要么不做,要做就做好”的原則,還是選擇繼續讀下去,最后就變成這樣讀一天,然后用三天調整心情的節奏。示例:á la(第 4 頁), voilá(第 6 頁).....搞不懂作者為什么一定要用法語。
2.很多形容詞
只要這個特點出現一次我就提一次,真正好的東西是不需要那么多形容詞來說這個東西好的,用太多形容詞來修飾往往是為了掩飾一些不好的東西。示例:
A key theme of the evolution of programming languages is abstraction. This is a fancy way of describing how systems get easier for developers to use. When the tedious details are handled in the background, developers can focus on what matters most. This has been a driving force of innovation, allowing for breakthroughs like the internet, cloud computing, mobile, and AI.
上面這段話是隨便截取的,我們來看下有多少形容詞:第 1 句:key;第 2 句:fancy;第 3 句:tedious;第 4 句:driving;真的大可不必這樣,去掉這些形容詞完全不影響閱讀。
3.很多比喻
第 5 頁,AI is the big umbrella: it includes all systems that can pull off tasks with the flair of human intelligence.
第 83 頁,Amazon CodeWhisperer is like a Swiss Army knife extension for IDEs like VS Code, PyCharm, and AWS Lambda.
......
AI 是 “big umbrella”, CodeWhisperer 像“Swiss Army knife”,我覺得這樣的比喻毫無意義,一點兒也沒顯示出其特點。
4.很多引用
書中引用了大量的各種人士說的話,示例:Andrej Karpathy,Quinn Slack,Zach Lloyd,Marwan Elwaraki,Salwa Al Alami, James LePage,Deepak Kumar......整本書讀下來讓我有一種感覺:xxx 說 xxx。感覺像作者就是拉這些人來站臺。
5.很多慣用語(idiom) 、非正式用語
整本書有非常、非常、非常多的慣用語、非正式用語,除了增加閱讀難度外毫無意義。示例:gin up,shady practice,tricks up their sleeve,move rapidly downards through the air.....如果你看到這四個詞組(或短句)能理解明白它的意思,那我給你點贊,你閱讀這本書應該會比較順暢。做一個不那么恰當的比喻,如果一本書夾雜大量的口語、方言,我覺得沒多少人會喜歡這樣的書,因為除非讀者熟悉這些口語、方言,否則對讀者來說,很多內容很難理解。
四、這本書適合什么樣的人?
寫到這,我還是很生氣,因為我覺得這都不能稱為一本書,雖然中文名叫《AI輔助編程實戰》,其實概括起來就是一句話:遇到問題可以問這些 AI 工具,僅此而已。讀完這本書,回到”為什么讀這本書?“,對于“想了解如何更好地利用 AI 工具來輔助編程?!薄獩]有找到更好的方式;對于“想看看 O'Reilly 最近幾年出的書水平是否有改進”——只能說從這本書來看,依然沒有改進。
鑒于書中內容毫無技術價值,且難以閱讀,所以不推薦閱讀。
五、推薦指數
按照5 星的標準,本書推薦指數 1 顆星。
六、參考資料
1. 編程
(1)豆瓣,Tom Taulli,《AI-Assisted Programming》:https://book.douban.com/subject/36871090/
(2)源碼,Github: https://github.com/ttaulli/AI-Assisted-Programming-Book/
2. 英語
(1) Etymology Dictionary:https://www.etymonline.com
(2) Cambridge Dictionary:https://dictionary.cambridge.org

歡迎搜索及關注:編程人(a_codists)
浙公網安備 33010602011771號