僅 2,759 Bytes 寫出 Notepad 記事本
【2,759 Bytes 😂】退休 Microsoft 工程師 Dave W. Plummer 近日發表了他的程式作品,利用純粹的 x86 組合語言(Assembly Language),以僅佔用約 2,749 Bytes 的極小空間,寫出與 Windows XP 時期 Notepad 功能相同的文字編輯器。程式原始碼已上傳至 GitHub 平台,並以 Apache 2.0 開源協議向大眾開放下載,其編程功力在科技社群中引起熱烈討論。
Dave W. Plummer 就是那位負責編寫 Windows 工作管理員、經典彈珠台,以及「不小心」將 FAT32 限制在 32GB 的傳奇 Microsoft 工程師。他近日發布了一款名為「RetroPad」的輕量化文字編輯器(trpad.exe),功能與 Windows XP 時期的 Notepad 完全相同,但體積卻只有 2,686 Bytes。
要知道 Windows XP 系統內建的 Notepad 容量約為 65KB,而 RetroPad 的體積僅為其二十幾分之一,卻能完美實現完全相同的架構與對等功能。隨後,因應網友的反饋,Dave W. Plummer 在短短數天內追加了「所有記事本快捷鍵」、選單列、深色模式(Dark Mode)以及可選的行號顯示功能,但程式體積也僅微幅「膨脹」至 2,794 位元組,展現了高超的組合語言編程技巧。
這項專案的誕生,也讓外界重新檢視現今作業系統內置軟件「肥大化」的趨勢。回顧 Windows 的發展歷史,Microsoft Notepad 的體積在 Windows 9X 時代只有約 50KB,到了 Windows XP 時代微增至 65KB;隨着系統升級,在 Windows 7 至 Windows 10 期間,其容量亦增長到 190KB 至 200KB 之間。
然而,到了 Windows 11 時代,Notepad 發生了根本性的改變。表面上看到的啟動執行檔只有 352KB / 808KB,但該檔案實際上僅是一個「引導程式(Stub/Bootstrapper)」,背後連結的是一個容量高達約 5MB 的通用 Windows 平台(UWP/WinUI)應用程式,只因 Microsoft 硬塞了多個分頁、自動儲存、拼字檢查以及 AI 助理 Copilot 等功能。
如果大家想試用「RetroPad」,可以到 GitHub 下載體驗。Dave W. Plummer 表示,後續將會分享詳細的教學與開發歷程影片,深入解析如何運用緊湊的底層程式碼來編寫軟件。
資料來源: