打开网易新闻 查看精彩图片

1、网上有很多演示在Win10上执行古老的DOS程序,感觉就像西方剧集里的吸血鬼回忆,充满穿越感。于是很多人说,微软还要维护兼容几十年前的东西,只会变得越来越臃肿,迟早会被拖垮。

2、很多人甚至觉得,有些事就该向前看,没必要揪着过去不放。难道兼容真的具有某种罪孽?真的会拖垮一家开发厂家吗?

3、其实,不会滴。无论软硬件,良好的兼容,才会打造更好的生态链。Wintel联盟,正是因为强大的兼容能力,才使得二者在计算机领域称王称霸。也正是强大的兼容能力,才使得微软的生态愈发完善,抵抗进攻的壁垒才得以高筑。怎么看,这都是优点,又怎么会拖垮成为负担了呢?

4、在代码产业里,一处编码,处处执行,源码跨平台成为大家伙孜孜不倦的奋斗目标。而在Wintel联盟的生态链上,更是一处编译,处处执行,直接结果跨来跨去。可见,兼容正是这个行业的理想之光。

5、如果说JAVA的源码跨平台兼容,是靠不同平台的虚拟机来实现的,那么微软系统的兼容性则是靠X86特性来完成的。也就是说,微软优良的兼容特性,其实绝大部分是Intel的X86贡献的,微软只不过是个前端表演者,捞取了这样的名声而已。

打开网易新闻 查看精彩图片

6、那么微软在兼容上到底负担了哪些呢?微软写系统,其实和大家写代码也没什么区别,只不过系统主要面对硬件层,需要将硬件的东西封装好拿给应用层使用。良好的兼容,应该是功能抽象与实现进行分离。而接口就是一种很好的抽象表达。一旦功能描述(接口)发布给用户,那开发者就应当维护该功能描述(接口)的稳定,而不是重新发布一个新的描述(接口)。这样,使用者就可以合理预期逻辑关系,并在此基础上派生出具体的应用实现。这就是兼容的简单理解,微软在这样的兼容之下,负担的是实现时考虑得不够周全,以至于逻辑上会推翻接口描述,而不得不重新来一个全新的。如此一来,系统为了兼容性就得不到精简,就会变得愈发臃肿。

7、虽然,考虑不周,时常表现在微软提供的服务中,但微软肯定不会纵容自己无休止的发福。想想,系统版本隔几年就要强迫用户更新(换电脑),微软又怎么会无限支持兼容呢?只要对其影响不大,分分钟就被踢掉了。

8、所以,兼容只是微软利益的游标,是拖累不到微软的。也就是说,只要Wintel联盟不倒,微软就不会倒,只要有利可图,兼容就会像小奶狗一般温顺。

打开网易新闻 查看精彩图片

为什么32位时代的VB/VBA,可以在64位Win上运行良好?踢自己厉害的微软,会不会踢掉VB/VBA赖以生存的资源?为什么VB/VBA会成为打不死的小强?如何开发出跨版本兼容的VB/VBA应用呢?请支持关注BtOfficer,更多开发相关的闲话,一起来聊一聊哦。