今天,微软终于宣布,下一版Windows叫10,明年上市。
为何不叫9,一下跳了过去?
微软没有告诉你。
因此市面出现一堆猜测:
-- 此举为与失败的Windows 8划清界限,让消费者感觉与Windows 8没多大关系。其实,关系大的去了。
-- 微软历史上共有10个版本的Windows,取名Windows 10,是为纪念这一历史时刻。如此说,那应该叫第11才更符合。
-- 微软希望加快Windows版本发布速度,以此推动Windows最终免费。微软印尼高管Andreas Diantoro稍早前曾说:下一代Windows对Windows8用户免费。
其实,微软很无奈,是被逼的。倒不是说有人注册了WINDOWS9, 狮子大开口。而是一个小小的技术问题,但在市面很普遍。微软不得不避开它。
原因就是:市面上很多程序里的判定句,在前置条件里已经用了“Windows 9*”这个短语,会跟Windows95、Windows98发生条件冲突,使程序的判断/执行语句出现异议。
学过词法扫描的都知道,这是不能一步解决的,只能再扫下一个字节,才能断定是什么。若是空,那就是win9, 若是5,那就是win95,若是8,那就是win98。为此,好多市面的程序,都得重写。尤其对驱动程序需要经常版本更新(UPgrade)的厂家和用户,这可是不小的麻烦。目前市面上给微软写APPS的很多人、历史上的很多程序,都有这个“小”问题。
没学过词法扫描的,用过DOS命令的,例如 REN WINDOWS9* WINDOWS10,你是想把win9更新到Win10, 结果也会把WINODWS95也变成Win10, 就是这类似的现象。
一位自来自微软的开发员cranbourne说:我们本来叫win9的,结果测试结果显示,市面上大量的第三方程序代码,都含有这样的语句来判断是否Windows95和98: if(version.StartsWith("Windows 9")) { /* 95 and 98 */ } else { ”
就是说,市面很多程序都有:“如果版本号始于Windows 9时,就将其视为Windows 95、98或其他”。这意味着,若下一代操作系统被称为“Windows 9”,则很可能被第三方软件当成Windows 95或98。这样第三方软件就无法正常运行。例如,你要做Soft RAID,就需要根据版本来调不同的建构程序。
历史的问题值得注意:因为过去的设计者考虑不周,因为这么一个小小的问题,逼得现在的微软无奈,只得绕道避开,将下一代Windows命名成“Windows10” 。
可见,就因为某些人的一个小小的偷懒,结果给后来者带来了无尽的麻烦。技术是这样,政治也是这样。其实,一国两制的短期简易,现在已给香港的问题带来了麻烦。由于两制的错位,麻烦还将持续。