OC 、 swift 、Java 、JavaScript 屬于什么語言

我們編寫的代碼都屬于高級語言,比如OC JAVA python C C++ JavaScript 等,計算機是不能理解這些高級語言的,他只能理解機器語言,所以要把高級語言轉(zhuǎn)換成機器碼。轉(zhuǎn)換方式有兩種:編譯解釋

圖片上傳失敗

編譯型語言

使用專門的編譯器,針對特定的平臺,將高級語言源代碼一次性的編譯成可被該平臺的硬件執(zhí)行的機器碼,并包裝成該平臺所能識別的可執(zhí)行性程序格式。以后再運行直接使用編譯結(jié)果即可。現(xiàn)有的C 、 C++ 、OC 等都屬于編譯型語言

總結(jié)

1.一次性的編譯成平臺相關(guān)的機器語言,運行時脫離開發(fā)環(huán)境,運行效率高;
2.與特定平臺相關(guān),一般無法移植到其他平臺;
image

解釋型語言

使用專門的解釋器對源代碼逐行解釋成特定平臺的機器碼并立即執(zhí)行。因此某一平臺只要提供相應(yīng)的解釋器即可運行該程序 Python JavaScript PHP Ruby Java 等就是解釋型語言

總結(jié)

1.解釋型語言每次運行都需要將源代碼解釋成機器碼執(zhí)行,效率低下;
2.只要平臺提供相應(yīng)的解釋器,就可以運行源代碼,所以可以方便源程序移植;
image

動態(tài)語言

運行時代碼可以通過某些條件改變自身結(jié)構(gòu),比如:Objective-C、JavaScript、PHP、Python、C#

靜態(tài)語言

與動態(tài)語言相對應(yīng)的,運行時結(jié)構(gòu)不可變的語言就是靜態(tài)語言比如:Java、C、C++

補充:

動態(tài)語言和動態(tài)類型的語言完全不同的兩個概念。動態(tài)類型語言是指在運行期間才去做數(shù)據(jù)類型檢查的語言,說的是數(shù)據(jù)類型,動態(tài)語言說是運行時改變結(jié)構(gòu),說的是代碼結(jié)構(gòu)。

動態(tài)類型語言的數(shù)據(jù)類型不是在編譯階段決定的,而是把類型綁定延后到了運行階段。

主要語言:Python、JavaScript、swift、PHP

靜態(tài)類型語言

靜態(tài)類型語言是在編譯期間確定的,編寫代碼的時候要明確變量的數(shù)據(jù)類型。

主要語言:Java、Objective-C、C

因此

OC    屬于編譯型語言 & 動態(tài)型語言 & 靜態(tài)類型語言
swift 屬于編譯型語言 & 動態(tài)型語言 & 動態(tài)類型語言
Java  屬于解釋型語言 & 靜態(tài)型語言 & 靜態(tài)類型語言
JavaScript 屬于解釋型語言 & 動態(tài)型語言 & 動態(tài)類型語言
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容