上周在一場技術分享會上,一位老程序員突然問我:你知道為什么Go語言的設計者Rob Pike會被反復引用嗎?不是因為他是圖靈獎得主,而是因為他把復雜問題總結成了5句話——而且這些話全是抄的。
法則1-2:別急著優化
Pike的前兩條法則,原封不動搬了Tony Hoare的名言:「過早優化是萬惡之源。」
Hoare1969年說過這話,Pike沒打算搶功。他只是把這條鐵律放進自己的清單,提醒程序員:先讓代碼跑通,再考慮性能。數據結構和算法沒選對之前,所有優化都是自嗨。
法則3-4:暴力美學
Ken Thompson把這兩條總結得更狠:「拿不準時,就用蠻力。」
這其實是KISS原則(Keep It Simple, Stupid,保持簡單和愚蠢)的實戰版。Pike的原話更具體:復雜算法通常有bug,而且難維護。簡單方案慢點沒關系,硬件比你便宜。
Google內部流傳過一個案例:某團隊用紅黑樹實現了復雜調度,上線后頻繁崩潰。換成暴力遍歷,CPU占用漲了3%,故障歸零。
法則5:寫笨代碼,用聰明對象
這條偷師Fred Brooks的《人月神話》。Pike的版本是:讓底層庫去聰明,業務代碼保持愚蠢。
Go語言的設計就是活例子。goroutine調度、垃圾回收、網絡輪詢——這些臟活累活runtime包了,用戶寫的代碼像C語言一樣直白。
5條法則,4條是引用。Pike的原創性在哪?
他把散落在計算機科學史里的碎片,拼成了一張給實戰者的地圖。不是讓你背名言,是讓你在寫代碼時少糾結——該暴力就暴力,該偷懶就偷懶。
問題是:現在的AI編程助手,是在幫我們遵守這些法則,還是讓我們更容易違反它們?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.