題主提到的語言當(dāng)中跨平臺(tái)性比較好的是Java。
原因:
1.Java本身就是一種可撰寫跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮恼Z言。其中虛擬機(jī)幫我們做的就是兼容不同的系統(tǒng)調(diào)用不用的API。所以大部分的跨平臺(tái)問題已經(jīng)幫我們解決了。
2.Java的跨平臺(tái)可以成為一次編譯,到處運(yùn)營(yíng)。Java在編譯的時(shí)候沒有編譯成指定的CPU的匯編代碼,也沒有和具體操作系統(tǒng)的系統(tǒng)調(diào)用相關(guān)聯(lián)。
3.有一個(gè)作者回答的從三個(gè)方面考慮這個(gè)問題,這邊要和大家解釋一下,不要把可移植弄成跨平臺(tái)。跨平臺(tái)語言最大的特點(diǎn)是不編譯機(jī)器碼,不使用系統(tǒng)的API。
總結(jié):
簡(jiǎn)單說就是我們寫的代碼能不能直接在另外一個(gè)操作系統(tǒng),甚至是CPU。但幾乎我們熟知的語言都可以。不僅題主所說的,還有PHP、JavaScript,Go等等。
Java是跨平臺(tái),那么是編譯出來的而簡(jiǎn)直文件可以在其他任何安裝了Java運(yùn)行環(huán)境的平臺(tái)上,要是沒有安裝也是行不通。另外C語言的話,編譯出來的東西一般智能在一類操作系統(tǒng)上,換了就不可以。但是運(yùn)行時(shí)不需要額外任何運(yùn)行環(huán)境。
最后C%和Python,亦或者PHP和Js等都可以實(shí)現(xiàn)代碼在多種平臺(tái)上直接運(yùn)行。不過也都是需要相應(yīng)的環(huán)境。