著作權歸作者所有。
商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
作者:蔡超凡
鏈接:http://www.zhihu.com/question/22443881/answer/48223449
來源:知乎
商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
作者:蔡超凡
鏈接:http://www.zhihu.com/question/22443881/answer/48223449
來源:知乎
一、各自的定義
標記語言
標記語言
標記語言,是一種將文本(Text)以及文本相關的其他信息結合起來,展現出關於文檔結構和數據處理細節的電腦文字編碼。與文本相關的其他信息(包括例如文本的結構和表示信息等)與原來的文本結合在一起,但是使用標記(markup)進行標識。
腳本語言如:HTML、XML
腳本語言是為了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。它的命名起源於一個腳本“screenplay”,每次運行都會使對話框逐字重復。早期的腳本語言經常被稱為批量處理語言或工作控制語言。
一個腳本通常是解釋運行而非編譯。腳本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程序員快速完成程序的編寫工作。
編譯型語言如:JavaScript、VBScript、PHP
編譯型語言:程序在執行之前需要一個專門的編譯過程,把程序編譯成 為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些
二、區別如 C、C++
1、標記語言不用於向計算機發出指令,常用於格式化和鏈接。
2、腳本語言介於標記語言和編程語言之間,腳本語言腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。
3、編譯型語言寫的程序執行之前,需要一個專門的編譯過程,把程序編譯成為機器語言的文件,比如exe文件,以后要運行的話就不用重新翻譯了,直接使用編譯的結果就行了(exe文件),因為翻譯只做了一次,運行時不需要翻譯,所以編譯型語言的程序執行效率高。
標記語言與編程語言區別
最簡單的理解是, 編程語言有邏輯和行為能力, 後者沒有.
編程語言 (programming language)可以例如 c, perl, javascript
標記語言( markup language ), 有 xml, html, xhtml ( xml 和 html 的合體 )你會見到他們都是 "ml" 尾的.
標記語言的存在用來被讀取的, 例如 svg 的圖檔其實就是用 xml 寫出來的. 而其本身是沒有行為能力的. 在標記語言里你會看到很多 < 和 > 這些鑽括號, 這些是用來寫出 "層次" 和 "屬性" 的. 簡言之, 他是被動的
而在 編程語言 里, 你會看到很多 if else for while print ... 這些具有邏輯性和行為能力的指令. 這是主動的.