语言不一样啊,C,C++一开始设计的时候就是直接编译成汇编语言,而JAVA设计时就是考虑到了虚拟机,所以编译的时候是编译成中间代码,即字节码,然后微软的C#也学习Java的做法,搞了个.net运行时,也是虚拟机的一种,不过这个虚拟机不是开放的,所以别人一般都不能做一个功能差不多的虚拟机,而且就算做了,也可能也会涉及版权问题,所以就只有微软一家了,然后微软由于自家就是做系统的,所以就没有给Linux系统做对应的.net运行时,所以只能在他自家的系统跑了,而且这个说不上JAVA独享优势,因为有虚拟机做了中间层,所以有些看重执行效率的东西别人还是愿意用C,C++来做. |