
VB/VBA的解释器,才是真正继承BASIC衣钵的那一脉。为何BASIC能够独领风骚?最根本的原因放弃了编译机制,而改用解释机制。
应该说BASIC也算是解释型语言的鼻祖了,可为何没能在今天的跨平台编程界留下一席之地呢?
机缘巧合和时势造英雄BASIC的简单易用,极大降低了计算机的使用门槛因此写解释器的生意供不应求,甚至成为一个细小的行业。
写解释器成为轻资产创业的不二之选微软的基因里一开始就是要处理不同平台的需求,对于跨平台绝对是有很深的理解的。那时硬件性能未跟上,业界对于解释机制视若过街老鼠,对其性能表现嗤之以鼻。微软于1983年,给出了编译版的BASIC。
并未获得IBM的认可,具体原因已无从查证IBM更希望客户或供应商处于充分的竞争环境,而不是拥有垄断地位来增强对IBM的议价能力。
IBM终究不过是微软壮大的营养来源。
从早期的.NET的伪跨平台,到后来的Win8霸屏的企图,微软一统江湖的心思不再躲躲藏藏。PE结构早就将微软的雄心暴露无遗了。
从16位到32位,再到今天的64位,PE结构极具前瞻性。其实,人家在架构时,早就算计了,好吧!PE结构从32到64几乎没有变动,所以64位Win上的32位应用才能左右逢源。
IMAGE_FILE_HEADER中的Machine标识应用程序适用的CPU类型IntelX86和IA64系列、MIPS系列、Alpha、SH系列、ARM系列、IBM PowerPC系列、AMD系列,几乎市面上能看到的CPU都包含了。
IMAGE_OPTIONAL_HEADER32的Subsystem标识应用程序运行的操作子系统有OS/2的身影,也有Posix、CE、EFI、XBOX的身影,更别提Win11里的Linux子系统了。
微软的Windows其实想做成操作系统的母系统。
所以,JAVA的一处编写,处处编译运行的跨平台,在微软的字典里,她其实是看不上的。微软要的,是一处编译,到处运行的大一统。或者说,微软压根就认为,跨平台是系统的事,而非应用程序层面的事。
看看在这一概念下,微软干了些什么?微软在Win10出了ARM版,完美兼容Office等Win32应用,VB/VBA也可以运行在ARM芯片上。微软在Win11出了Linux版,前两天微软再次宣布会在Win11中全面优化Win32,相信不久Win32应用就可以跑起来了。
所以,VB/VBA的解释器,就不太可能出海!很多事情,也就可以得到解释了。
欢迎关注BtOfficer(收藏、点赞、关注+转发),更多精彩仍在继续哦(专栏文章将更系统,更全面,但需要阁下支持哦),有严肃的技术,也有轻松的唠嗑,期待你的加入!