比如 C++,它设计的目的就是加强 C ,里面那些 C 的东西放在虚拟机里面不好做也没必要,模板语言只会有编译时能确定的东西。当然有一些“生态”里面的人想把搞一个带虚拟机的 C++,结果搞出了 Java 和 C#,从 C++ 生态脱离了。C++ 还是原来那个 C++。 重要的不是编译器或者虚拟机,也不是具体的功能,而是为什么搞出这么一个新语言,它的核心目的和定位是什么,它存在的价值是什么,它有什么思考和沉淀 ...
后面也感觉不太对,比如 C/C++ 既有 Windows 生态也有 Linux 生态,很多 C++ 开源软件在 Linux 上也不会出现大量重复的情况。而专有软件倾向于无论哪个系统都要全部依赖打包在一块。Java 、Python 程序也可以做成类似大部分 Electron 应用的分发形式(如喷气脑子 IDE ,一些 Java 游戏等)。可见一个完善的生态并不会限制开发者在你说的依赖处理方面的选择。这个在不同语言之间的差异是比较小的,倒是和应用场景关联比较大。还是拿 C++ 来说,C++ 并不 care 你到底怎么分发软件,它只负责提供性能潜力和抽象能力,因为这是 C++ 的核心特征。