首页 > 生活分享 > 免费教学 > 微软前工程师:Windows 11 现在还在用我 30 年前开发的“临时” UI

微软前工程师:Windows 11 现在还在用我 30 年前开发的“临时” UI

发布时间:2024-03-28 16:44:04来源: 15210273549

千万别小看“临时”开发的功能

 

现在 Windows 11 的「AI 改造工程」正在如火如荼地进行中,其中微软联合 OpenAI 将许多先进的 AI 功能引入 Windows 系统中譬如照片、截图工具、画图等多个旧应用程序上,以及带来最新的 Copilot 功能。

但是,在它进行现代化升级之际,也有网友惊讶地发现,Windows 11 在 UI 维度的更新速度有些拖拉,甚至还在沿用 30 年前的老设计。

披露这一点是来自微软的前程序员 Dave Plummer,他在 X 社交平台上分享了自己曾在 1994 年开发的“临时性”磁盘格式化 UI 当前依然存活在现代化的 Windows 11 中。与此同时,Windows 只能支持 32 GB 的 FAT32 分区也是他曾经“武断性”的手笔。

作为过来人,这也让他警醒诸多开发者,千万不要小看任何一次的开发,即使是一些“临时”的解决方案。

从未更新过的 Windows 格式化磁盘 UI

回忆过往,那是在 1994 年一个下雨的星期四早晨,Dave Plummer 编写了格式化对话框。

当时他所属的团队正忙于将用户界面(UI)从以消费者为中心的 Windows 95(1995 年中期发布)移植到更稳定但资源更密集的 Windows NT(1996 年中期发布的 NT 4.0 首次使用了 95 风格的用户界面)。

Plummer 在 X 上写道:“格式化磁盘是 Windows NT 与 Windows 95 不同之处之一,因此我们必须设计一些自定义 UI。”

 

Plummer 没有具体说明这些不同之处,但现在来看,当时的 Windows 95 主要使用 FAT16 文件系统来处理所有文件,它被用于处理硬盘、软盘等存储介质上的文件和文件夹。

后来即使是早期版本的 Windows NT 也开始支持多种文件系统,包括 FAT、NTFS 等。

当时,“我拿出一张纸,写下了格式化磁盘的所有选项和选择,如文件系统、标签、簇大小、压缩、加密等等”,Plummer 说道,“然后,我基于 Visual C++ 2.0,并使用资源编辑器将你(用户)必须做出的所有选择按大致顺序排列成一个简单的垂直堆栈。这样做并不优雅,但在优雅的 UI(用户界面)出现之前,这样做还是可以的。

这在当时是创建格式化磁盘 UI 的临时解决方案。但当时 Dave Plummer 难以想象的是,30 年后的 Windows 11 还在用它。

“所以在引入’临时‘解决方案时要小心”,Dave Plummer 表示。

 

“Windows 只支持 32GB 的 FAT32 分区”也是一个武断性的方案

除了格式化对话框之外,Plummer 还透露称,FAT32 格式化 32G 限制也是他在那天早上做的一个武断的决定。

FAT 是用来组织计算机硬盘上的文件和文件夹的方法之一。FAT32 在文件系统中表示文件分配表的 32 位版本。相比于较早的 FAT16(16位版本)和更早的FAT12(12位版本,FAT32 最显著的优势是它支持更大容量的硬盘和文件分区,因为它使用了 32 位的文件分配表项,允许更多的文件和更大的分区。此外,FAT32 还允许更长的文件名和更好的簇大小管理,提供了更好的性能和存储效率。

不过随着技术的进步,FAT32 安全性差,最大只能支持 32GB 分区,单个文件也只能支持最大 4GB,这使得它在大容量存储和现代操作系统中的使用受到限制。

几年前,Dave Plummer 也特别发了一个 YouTube 视频回忆了这一功能,并表示当时自己想的是如何为 Windows 用户带来良好的潜在支持,也必须要决定 “集群松弛”的程度。

最终发现,庞大的群集数量会带来同样庞大的容量,但也会造成巨大的空间占用。譬如:选择 32KB 的群集大小,即使是最小的“Hello,World!”程序所需的几个字节,也会占用 32KB 甚至更多的磁盘空间 。

于是,他武断地直接将 FAT 的格式化大小限制在 32GB。

“这个限制也是那天早上的一个任意选择,但它作为一个永久性的副作用一直伴随着我们”。在现代 Windows 版本中,我们仍在使用这一限制——通过命令行或其他工具格式化的 FAT32 硬盘最大容量在 2TB 到 16TB 之间,具体取决于扇区大小。

“这是我犯下的,一个不能被原谅的致命错误...... 归根结底,这是一个简单的缺乏远见的问题,再加上临时解决办法变成永久性解决方案的老问题”,Dave Plummer 曾在播客中说道。

Plummer 还参与了 90 年代和 2000 年代初 MS-DOS 和 Windows 应用程序的许多零碎工作,包括任务管理器、Space Cadet 弹球游戏和随 Windows XP 一起提供的第一版产品激活系统。后来,Plummer 于 2003 年离开微软。

微软为什么不更新此 UI?

也有人好奇,为什么微软更新了 Windows 11 的诸多功能与 UI,为什么会忽略这么一个老旧的界面?其实想想,也不难理解。

其一,在没有出错的情况下,此 UI 的迭代优先级可以一降再降。作为全球第一大桌面端操作系统,Windows 系统的生态及其复杂性有目共睹。日常维护和更新 Windows 更是一项艰巨的任务,需要多个团队和多年的工作。此前,微软特别开设了一个独立的 Windows 部门来负责 Windows 的功能开发与维护,直至近年来,才将其瓦解并入“云计算与人工智能平台”部门,所以对于有些没有出问题的功能以及 UI,一直沿用以前的设计也不足为奇。

其二,外媒 Ars Technica 认为,Windows NT 版本的“格式”对话框得以保留至今,也是因为微软在 90 年代末和 21 世纪初发布的 Windows 2000 和 Windows XP 中开始使用 NT 代码库。尽管微软在不同版本的 Windows 中进行了许多更新和改进,但 Windows NT 作为内核的基础设计依然保持了稳定。因此,即使是 Windows 11,内核和其他关键系统文件仍然会携带“Windows NT”的标签。

“代码里的临时方案,最终都成了永久方案”

Plummer 的一个追忆引发不少网友的讨论,也让许多有过“把临时方法作为永久性方案”的程序员感同身受。

来自 HN 上的 jaydeegee 表示,“大约 14 年前,在我从事新工作的第一周,我拼凑了一些代码来完成了查询我们的票务系统 (BMC Remedy),作为一种准队列监视器。直至今日,它有一些外观迭代,但仍然运行相同的后端代码。”

也有不少用户认可道:

  • “我想说,没有临时和永久的解决方案,但有好的和坏的解决方案。一个好的解决方案,即使实施得很快,也会坚持下去,因为它(足够)很好。一个糟糕的解决方案也可能会持续存在,如果它是一段时间内唯一可用/可行的解决方案,那么其他所有解决方案都必须向后兼容。”
  • “抛开任意不必要的限制不谈,我对保留旧代码很满意。它经过了时间的考验,过往由于较旧的硬件限制,现在依然可以非常高效地运行,并且符合逻辑 。与今天的软件不同,今天的软件通常都是臃肿的造轮子,几乎完全出于以下两个原因:一是为了营销“改变”,二是为了跟踪你所做的一切,以便他们可以从中获利。”

作为程序员,也有不少人和 Plummer 一样,呼吁应该谨防“足够好”的临时解决方案,“我们正在使用一个由实习生编写的核心日志记录组件,其中包含 POC(概念验证)一词。它的数据格式是实习生创建的,但当任何人真正注意到它编写了如此多的数据时,修复它的预算和工作量都超过了它的问题。”

最后,在开发过程中,你是否有过“代码里的临时方案,最终都成了永久方案”的经历?欢迎留言分享。

免费教学更多>>

苹果:为什么我突然在中国对iPhone 16等降价!华为等国产手机背刺 2500元良心机!骁龙8Gen3+5500mAh+120W,vivo新卷王诞生 REDMI Turbo 4海外版曝光:电池降为6000mAh! 从4699元跌至3289元,蔡司100倍变焦+天玑9300+芯片,vivo售价更亲民了 雷鸟CEO李宏伟:站在Meta肩膀上超越Meta,雷鸟V3 1799元起 Meta、苹果旗舰头显纷纷停产!价格与体验失衡是最大硬伤? 2024年中国手机市场大局已定 几家欢喜几家愁? 英伟达RTX 50系新显卡发布!AI计算又翻开了崭新一页? 那些科学家下了大功夫的美食,拼多多希望让更多人吃到 京东科技申请服务器自动化测试方法和装置专利,实现大规模服务器自动化测试 阿里巴巴:斥资3226.13万美元回购306.53万股 经典与潮流并存!27款最具影响力车型回顾,你拥有过哪一款? 负债不够存单来凑,年内多家银行同业存单罕见“提额” 菜鸟速递与大润发加深同城配送合作 已在41城提供半日达服务 社会物流成本稳步下降,实体经济“筋络”更加畅通 589套正式交楼,广州一村村民喜提新房过年 明年如何“用力”推动楼市止跌回稳?全国住建工作会议部署了这些重点 多方共议房产直播规范监管 共促消费者权益保护 东风本田烨S7实车展示,Model Y同级别,够实力和自主品牌一战吗? 2024年广西工业职业技术学院轻工纺织类人才引进公告 2024年湖北宜昌市西陵区事业单位选调14人公告 四川凉山普格县委政法委员会招聘专职网格员7人公告 四川凉山普格县退役军人事务局招聘临聘人员公告 云南玉溪砚山县蚌峨乡人民政府招聘公益性岗位人员公告 云南西双版纳州民族宗教事务局公益性岗位招聘公告 2025年河北唐山市路北区赴高校选聘55名教师公告 2024年河南濮阳县事业单位招聘115人公告 2024年吉林通化市辉南县教育系统招聘急需紧缺专业教师5人公告 2024年河北廊坊燕京职业技术学院选聘专任教师17人公告 2024年河北廊坊燕京职业技术学院招聘教辅人员7人公告