返回上一页  首页 | cnbeta报时: 10:50:25
前微软工程师重写记事本程序TinyRetroPad 文件大小仅2.5KB
发布日期:2026-07-04 09:41:45  稿源:cnBeta.COM

曾参与开发任务管理器并帮助把《Space Cadet Pinball》带上 Windows 的前微软工程师 Dave Plummer,如今又用一个新项目把现代软件开发的“臃肿”问题赤裸裸地摆在了台面上。 他基于多年前的极小化 Windows 应用实验代码,重新实现了一个具备完整记事本功能的原生文本编辑器 TinyRetroPad,整个可执行文件仅约 2.5KB,却依然支持打开与保存文件、查找与替换、打印、字体选择、自动换行以及未保存内容提示等常用功能。

这位退休工程师近一年来频频公开批评 Windows 11 的发展方向,认为微软需要一个类似当年 Windows XP SP2 的“冷静期”,暂停堆叠新功能,专注修复已有问题。 他在访谈和视频中直言不讳地指出,Windows 11 正在被变成推销 Edge、OneDrive 和 Copilot 等产品的销售渠道,而并非一个纯粹的操作系统。 在内存和存储曾经十分昂贵的年代,像 TinyRetroPad 这样安装体积近乎“嘲讽”式微小的应用,更凸显出如今软件动辄数十甚至上百 MB 的巨大反差。

Plummer 在项目说明中强调,TinyRetroPad 并非魔术表演,而是充分利用了 Windows 本身已经内置的应用基础设施。 现代 Windows 早已提供窗口管理、菜单、通用对话框、剪贴板操作、编辑控件、字体选择以及打开、保存、打印等整套能力,一个精简的原生程序只需调用这些现成组件即可,无需再“自带一个文明”。 他用一句形象的比喻说明这一点:成熟操作系统就像一座已经搭好的城市,小程序只是“带着午餐盒和城市地图到达”,然后借用城市里的既有服务来完成任务。

TinyRetroPad 本身是 Matt Power 的 Dave’s Tiny Editor 的一个分支,而其底层又建立在 Plummer 多年前编写的 tiny.asm 项目之上,该项目用于验证完整 Windows 应用的极限瘦身可能性。 目前版本的 TinyRetroPad是对 Windows 长期内置的富文本控制 RICHEDIT50W 的一个极薄封装,字符绘制、光标移动、选区管理、剪切复制粘贴和撤销历史等编辑器核心能力都由这个控件在系统内部统一负责。 在早期实验阶段,Plummer曾使用更基础的 EDIT 控件,将可执行文件压缩到约 890 字节,不过这一版本的激进压缩方式并不受 Windows Defender 欢迎。 后续改用 RICHEDIT 控件以便更轻松地使用 Courier 字体和支持更大的文件,在尚未加入菜单前可执行文件大小约为 981 字节。

随着功能不断加入,这个极小程序的体积变化也被完整记录下来。 Plummer 的“体积成长日志”显示,引入“文件”菜单后,TinyRetroPad 增至约 1,375 字节;添加未保存内容提示,需要实现更完善的“脏标记”和关闭逻辑,将体积推到约 1,622 字节。 查找与替换功能带来的开销使文件大小增加到约 2,143 字节,而打印功能则是最“昂贵”的单次扩展,一举将总大小提升到约 2,476 字节。

要做到这种极致压缩,离不开 Crinkler 这一为 Demoscene 场景打造的特殊压缩链接器。 与传统链接器只是把目标文件简单拼接不同,Crinkler 会重新排布和压缩整个可执行文件,有时某个功能的新增甚至不会带来体积增长,因为那段代码在整体压缩中表现极佳。 有趣的是,一个结构整洁、逻辑清晰的函数,压缩后可能比一段重复性极高、略显“粗糙”的代码更占空间,因为 Crinkler 更擅长压缩重复模式而非大量分支查表。

目前 TinyRetroPad 还远未到“产品化”阶段,GitHub 上尚无现成发行版本,需要用户自行使用 MASM 和 Crinkler进行编译构建。 项目还明确提醒,由 Crinkler 压缩生成的可执行文件可能被部分杀毒软件误报。 打开项目的 Issues 页面,几乎可以视作一个 2.5KB 程序在现实使用中不得不牺牲的功能清单:有人反馈在 64 位 Windows 7 下运行时内存占用一度飙升到约 500MB,也有人发现 TinyRetroPad 在 Windows XP SP3 上根本无法启动。

TinyRetroPad 引发关注的另一个重要原因,是它与现代 Windows 11 记事本的体积形成了惊人对比。 目前在典型 Windows 11 系统上,notepad.exe 文件本身约 352KB,而安装体积更接近 808KB,因为这个 exe 实际只是一个指向 UWP 和 WinUI 应用的“引导 stub”,完整应用在磁盘上的占用约 5MB。 相比之下,Windows XP 时代的经典记事本总大小只有约 65KB。 尽管就现代硬件而言,额外几 MB 的空间并不会影响用户日常体验,但微软将一个原本极简的文本编辑器逐渐改造成功能庞杂的应用,已引发不少用户不满。

近年来,记事本功能持续膨胀:多标签页和自动保存是颇受欢迎的改进,如今不少用户已离不开这些功能。 但在 2025 年 6 月,记事本开始引入 Markdown 格式支持,许多用户指出,这类富文本编辑任务曾经由 WordPad 承担,在 WordPad 被微软宣布淘汰后,其功能似乎被“迁移”到了记事本身上。 到 2025 年 8 月,右键菜单中 Copilot 相关选项不断堆积,变得异常拥挤,微软不得不重新设计菜单界面,让剪切和粘贴等基础功能重新“露出水面”。 2026 年 1 月,记事本又加入“创建表格”工具,随后在 2 月新增图片插入能力,同样依托其 Markdown 引擎实现。

这种功能堆叠也暴露出安全层面的代价。 微软在 2026 年 2 月确认了一个评分 8.8 的远程代码执行漏洞(CVE-2026-20841),攻击者只需诱导用户在记事本中点击恶意 Markdown 链接,即可能以用户权限执行任意代码。 在仅支持纯文本、并不处理超链接的传统记事本中,这类问题几乎不会出现。 到 2026 年 3 月,微软开始在多个应用中淡化 Copilot 品牌,4 月则选择在记事本中将 Copilot 改名为“Writing Tools”,而不是完全移除这些 AI 功能。

这场围绕 TinyRetroPad 与记事本的争论,归根结底指向的是整个 Windows 平台的演变路径,而不仅仅是某一个应用。 面向企业用户、强调稳定性的 Windows 11 LTSC 仍提供经典记事本,不带 Copilot,也不支持 Markdown,Windows 10 同样沿用这一传统版本。 换言之,TinyRetroPad 所模仿的“老记事本”并未真正从 Windows 消失,而是被悄然从主流 Windows 11 中“退场”。

Plummer 多次强调,自己构建 TinyRetroPad 的初衷从不是让用户切换到一个通过汇编手工拼装的 2.5KB 编辑器,而是让业界重新认识到:在一个成熟操作系统中,其实已经存在大量可供直接调用的基础能力。 如今的应用开发模式却往往选择把所有可能用到的功能和库一起打包,反复重复系统已有的能力,继而推高应用体积和复杂度。

在界面与体验层面,现代应用的精致和统一固然重要,但 Plummer 用 TinyRetroPad 为代表的这一系列实验,提醒开发者和厂商必须重新平衡“好看”与“高效”之间的关系。 作为一款付费软件,Windows 11 不只是营销平台,更承载着数十年积累下来的经典基础应用,这些老工具不仅仍然稳健可靠,也是在资源更为匮乏的时代构建出来的。 他希望通过这种极端的技术演示,推动微软乃至整个行业重新审视一种简单的原则:在进行重写和现代化改造时,效率不该只是顺带考虑,而应当成为设计的出发点之一。

查看网友评论   返回完整版观看

返回上一页  首页 | cnbeta报时: 10:50:25

文字版  标准版  电脑端

© 2003-2026