这才是微软跳过Windows9的真相
近日,微软对外首次介绍并提供了Windows 10操作系统的预览。此次“预览会”,最令人吃惊的消息是Windows 8之后的下一代操作系统,不叫Windows 9,而是直接命名为Windows 10。
按照微软的历史惯例,这一版本的操作系统,应该命名为“Windows 9”。
微软为何打破这一惯例,科技媒体做出了各种分析猜测。有一种观点认为,微软如此命名,是希望表明该版本操作系统距离Windows 8做出了巨大的改进和更新,因此“连升两级”,可以体现新系统的创新价值。
不过,这种分析站不住脚。实际上,在这次媒体吹风会上,微软负责系统演示的高管也明确表示,Windows 8操作系统在触摸操控和键盘鼠标操控上并未做好平衡,新系统要做出改变。
Windows 10系统中,出现了更多传统Windows 7用户熟悉的界面。这一系统的“返古”的特点,更大于创新。
近日,多业IT业内人士在Twitter和媒体上指出了微软跳过“Windows 9”的最重要原因——和十多年前发布的Windows 95和Windows 98存在技术冲突。
多位人士指出,在当年开发的一些软件中,曾经用相关的函数检查操作系统版本,而Windows 95和Windows 98,以及“Windows 9”前面的字符部分一致,由于当年开发的应用软件考虑并不周全,因此可能导致错误和问题。
换言之,当年的程序员判断,如果操作系统名称中包含有“Windows 9”,则判断为是Windows 95或者Windows 98。由于这些软件沿用多年,已经无法为新版系统修改代码。如果微软使用“Windows 9”,将导致大量的历史遗留软件集中发生问题。
据分析,基于这一原因,微软才决定直接跳过“Windows 9”,命名为“Windows 10”。
从技术角度解释为什么微软没有使用 Windows 9
那么从技术角度考虑,为什么微软跳过了9而直接使用10呢?据微软内部开发人员流传,是为前操作系统的版本号考虑。
实例代码如下
if ( version.StartsWith("Windows 9") ) { /*Windows 95, Windows 98 */ } else{ }
当软件开发人员使用:“ 如果 版本号开始于xxx,就 执行yyy” 时,会出现两种情况的正确判断
Windows 9 Windows 9* ( Windows 95 Windows 98 ) 95和98也是开头包含Windows 9的
综上所述,在早期测试时,微软发现很多第三方软件开发商使用了如上的方法去判断操作系统,这样会造成对当在Windows 95和 Windows 98上运行使用上述代码的程序时,程序会误判为WIndows “9”。
所以微软开发者为了避免出现这种不稳定因素,只好命名为Windows 10 。
觉得怎么还会这么写代码的?甲骨文还真的在openJDK里这么写了。
https://cr.openjdk.java.net/~simonis/…c.java.sdiff.html
第602行
同样的写法竟然还有大名鼎鼎的jEdit编辑器!
https://searchcode.com/codesearch/view/1393856/
第48行
本文文字及图片出自 腾讯科技
你也许感兴趣的:
- 【外评】微软称 850 万台 Windows 设备受 CrowdStrike 故障影响
- 【外评】黑客工具可提取 Windows 全新人工智能 Recall 功能收集到的所有数据
- 【外评】让Windows完全回忆(Recall)用户所做的一切是一个隐私雷区
- 又翻车!微软一次更新引爆大规模连锁反应,Bing、Copilot等多个软件集体宕机五小时!
- 【外评】如果您没有在 Edge 中使用必应,微软现在会说您的电脑需要 “修复”
- 【外评】微软失败的研究项目:Microsoft At Work
- 【外评】为什么 Windows 真的使用反斜杠作为路径分隔符?
- 【译文】开放源代码与微软:新的反叛开始了
- 微软裁员内幕
- 两封微软内部邮件公开,比尔盖茨被 Java 折磨到失眠
你对本文的反应是: