1. 程式人生 > >程式語言,標記語言跟指令碼語言

程式語言,標記語言跟指令碼語言

首先說一下,什麼是程式語言,標記語言跟指令碼語言:
1.程式語言(programming language):是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義
計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。

2.標記語言:是一種將文字以及文字相關的其他資訊結合起來,展現出關於文件結構和資料處理細節的電腦文字編碼。與文字相關的其他資訊(包括文字的結構和表示資訊等)與原來的文字結合在一起,但是使用標記進行標識。標記語言不僅僅是一種語言,就像許多語言一樣,它需要一個執行時環境,使其有用。

3.指令碼語言:是為了縮短程式語言的“編寫、編譯、連結、執行”等過程而建立的計算機程式語言。是一種用來解釋某些東西的語言,又被稱為擴建的語言,或者動態語言,用來控制軟體應用程式,指令碼通常以文字儲存,只在被呼叫時進行解釋或編譯。

再說說它們的代表語言:

程式語言:C/C++,Java,C#等
標記語言:xml, html, xhtml ( xml 和 html 的合體 )等,(可以看出它們都是以 "ml"尾的)
指令碼語言:php,js,asp,Python,ruby等

接下來再來看一下它們的區別:

1、相對於其他兩類語言,程式語言有很強的邏輯和行為能力
1、標記語言不用於向計算機發出指令,常用於格式化和連結。
2、指令碼語言介於標記語言和程式語言之間,指令碼語言指令碼語言不需要編譯,可以直接用,由直譯器來負責解釋。
3、指令碼語言的執行速度相對較快,且指令碼檔案明顯小於程式語言
4、指令碼語言一般都是以文字形式存在,類似於一種命令
5、指令碼語言的特點是語法簡單,一般以文字形式儲存,並且不需要編譯成目標程式,在呼叫的時候直接解釋。
6、指令碼語言的一個大特性:能用記事本寫出程式,不需要編譯環境生成目標程式
7、指令碼一般不具備通用性,所能處理的問題範圍有限。

翻譯的方式有兩種,一個是編譯,一個是解釋。
1.解釋類:應用程式原始碼一邊由相應語言的直譯器“翻譯”成目的碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行檔案,應用程式不能脫離其直譯器,但這種方式比較靈活,可以動態地調整、修改應用程式
2.編譯類:編譯是指在應用源程式執行之前,就將程式原始碼“翻譯”成目的碼(機器語言),因此其目標程式可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程式一旦需要修改,必須先修改原始碼,再重新編譯生成新的目標檔案(* .obj,也就是OBJ檔案)才能執行,只有目標檔案而沒有原始碼,修改很不方便。