题主问跨平台性,不好理解这个跨平台性具体是指的什么,以下从三个方面回答一下试试:
可移植性Java可移植性最佳。JDK版本一致的情况下,只要没使用平台特有的函数,代码是可以无缝移植的。而且编译后的程序可以直接跨平台运行,不需要针对平台重新编译。
Python我放在第二,可能很多朋友会有异意。之所以这样放,是因为Python2和3本身差异太大了,Python2要移值到3,本身就是困难的事情。但如果Python本身的版本保持不变,那跨平台的移植性和Java是差不多的。但Python不需要编译再部署,所以Python保持版本不变的情况下,跨平台移植会比Java方便。
C++。C++语言本身是可以方便移植的,但跨平台时需要重新针对平台进行编译。而C++往往与平台强相关,即使目标系统从32位变成64位,也很可能需要重新编译。相对来说,C++的跨平台移值不是那么容易。
C#移植就更困难了,在很多数操作系统里甚至不支持,就不具备移植的可操作性。虽然在部分Linux系统里已经支持运行,微软也开源了.NET FrameWork,但目前跨平台使用C#的相对比较少,资料查询也不容易,所以可移植性我把它排在了最后。
跨平台的运行性能C++ > C# > Java > Python
这个是我个人经验结果,非实际测试结果。
跨平台开发效率Java > C# > Python > C++
这也是个人经验结果。一般来说C#开发效率是最高的,但这里考虑跨平台开发,它要做的工作就有点多了。
另外Python开发IDE环境,相对Java和C#来说,个人认为弱了一点。当然也有朋友可能认为PyCharm也非常厉害,反正这里我提的是是个人意见,没有实际数据支撑。