![]()
戴夫·普盧默這個(gè)名字,老Windows用戶可能沒聽過,但你一定用過他的代碼。ZIP解壓、任務(wù)管理器,都是這哥們兒的手筆。最近他在YouTube上聊了個(gè)挺有意思的事:現(xiàn)在的任務(wù)管理器膨脹到4MB,而他當(dāng)年寫的初代版本只有80KB——差不多是一張QQ表情和一部高清短片的差距。
普盧默的解釋很實(shí)在:90年代的硬件條件,容不得你鋪張浪費(fèi)。任務(wù)管理器是什么?是系統(tǒng)徹底崩掉時(shí)的最后救命稻草。其他程序都卡死了,它得還能動(dòng)彈。這就像火災(zāi)逃生通道,平時(shí)嫌它占地方,真出事時(shí)你得指望它絕對(duì)通暢。
他寫代碼的風(fēng)格,用他自己的話說,"每一項(xiàng)依賴都像一個(gè)白吃白住、從不交房租的室友"。現(xiàn)代開發(fā)喜歡先搭框架,再疊九層易用性、六層兼容性,最后800MB內(nèi)存跑幾個(gè)數(shù)字,還得專門優(yōu)化。普盧默那套邏輯完全反過來:能省則省,能一次做完的絕不拆兩次。
有個(gè)設(shè)計(jì)細(xì)節(jié)挺妙。普通程序防止多開,只是檢查有沒有運(yùn)行中的實(shí)例,有就切過去。任務(wù)管理器多了一步:給已存在的實(shí)例發(fā)私信,等它回話。回了,說明還活著,切過去;沒回,判定卡死,直接開新的救場(chǎng)。這就像是敲門問"你還喘氣嗎",沒動(dòng)靜就踹門救人,而不是傻站在門外等。
他還把字符串這類高頻數(shù)據(jù)做成全局變量,一次加載反復(fù)用;低頻功能比如移除擴(kuò)展塢,按需加載。進(jìn)程樹直接向內(nèi)核要完整列表,而不是逐個(gè)查,減少API調(diào)用。緩沖區(qū)不夠?自動(dòng)擴(kuò)容重試。這些手法現(xiàn)在看像基礎(chǔ)操作,但在"一次頁面缺頁中斷都能被明顯感知"的年代,是生死線。
普盧默最后那段話,放在今天的產(chǎn)品圈依然扎眼:"真心希望我們能保留更多當(dāng)年的設(shè)計(jì)精髓——不是那段艱苦的開發(fā)經(jīng)歷,而是那種本能:批量處理、合理緩存、跳過無意義操作、重繪前先對(duì)比差異、只向內(nèi)核請(qǐng)求一次而非上百次。"
他當(dāng)然不想再用老舊硬件。但一個(gè)寫了三十年代碼的老兵,看著工具越來越臃腫,大概就像看著年輕人把出租屋住成垃圾場(chǎng)——不是不能住,只是明明可以住得更好。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.