高階語言

Download Report

Transcript 高階語言

5-1 程式語言簡介
本節重點:
5-1.1 程式語言的類別
5-1.2 程式的翻譯
程式語言的類別(1/7)
 程式語言的分類:以接近人類語言的程度分
為低階語言與高階語言
低階語言
程式語言
機器語言
組合語言
程 序 性 語 言 , 如 FORTRAN 、
COBOL、Pascal…等
高階語言
物 件 導 向 語 言 , 如 Visua
Basic.NET、C++、Java等
應 用 軟 體 語 言 , 如 VBA 、
JavaScript、ActionScript…等
程式語言的類別(2/7)
 低階語言:
 機器語言:
• 唯一不需經由翻譯,電腦
就能直接執行的語言
• 以0與1兩種符號組合而成
• 利用機器語言所撰寫出來
的程式,通常具有佔用記
憶體較少、執行速度較快
等優點
此為某種機器語言
的程式範例
程式語言的類別(3/7)
 低階語言:
 組合語言:
• 以一種稍接近人類語言的
字組,來代替以0與1表示
的機器語言符號
• 須經過組譯器翻譯成機器
語言之後,電腦才能執行

126E:0000
126E:0001
126E:0010
126E:0011
126E:0100
126E:0101
126E:0110
126E:0111
126E:1000
126E:1001
126E:1010
LDA
SUB
ADD
PSC
STA
HTL
ES;
ES;
DW
DW
DW
1000
1001
1010
0000
1111
0000
0100
0010
0110
程式語言的類別(4/7)
 高階語言:
 比較接近人類語言的程式語言
 須經過編譯器或直譯器等軟體翻譯成機器
語言指令後,電腦才能執行
機器語言程式指令1
一個高階語言程式敘述
翻譯
機器語言程式指令2
機器語言程式指令N
程式語言的類別(5/7)
比較項目
高階語言
低階語言
程式的撰寫
較容易
較困難
佔用記憶體的空間
較大
較小
可讀性
較高
較低
可攜性
較高
較低
除錯
較容易
較困難
維護
較容易
較困難
學習難易度
較容易
較困難
程式語言的類別(6/7)
 高階語言:
 程序性語言:
• 依照程式敘述的先後順序及流程來執行的語言
• 必須利用程式敘述來告知電腦要完成什麼工作及完成
這些工作的流程
常見的程序性語言簡介
程式語言
FORTRAN
適用的領域
適合科學及工程方面的計算
BASIC
適合程式設計教學
Pascal
適合程式設計教學
C
適合用來開發系統軟體及一般應用程式
程式語言的類別(7/7)
 高階語言:
 物件導向語言:
• 以設計個別物件功能的方式來開發程式的語言
• 通常必須透過定義類別及設計個別物件,來開發解決
問題的程式
• 具有封裝、繼承、多型等三種特性
常見的物件導向語言簡介
程式語言
適用的領域
C++
適合用來開發各種系統軟體及應用軟體
Java
適合用來開發電子商務的應用程式
Visual Basic.NET
適合用來開發視窗應用程式
應用軟體語言
 某種應用軟體專屬的程式語言
 為了讓該應用軟體的功能更具擴充性而設計

常見的應用軟體語言簡介
開發的公司
適用的領域
VBA
微軟公司
開發Office系列軟體本身
所未提供的功能
JavaScript
網景公司
製作動態網頁及互動式網
頁
ActionScript
Macromedia
程式語言
設計互動式動畫
程式的翻譯(1/3)
 直譯:
 將高階語言所撰寫的原始程式碼逐行翻譯成機器
語言指令,並立即執行
 使用直譯器(又稱直譯程式)來進行程式翻譯的
工作
 每次執行程式時都必須重新翻譯,因此執行的速
度較慢
原始程式
每次一行程
式敘述
直譯
機器語言指令
讀取下一行程式敘述,直到每一行程式都翻譯、執行完為止
執行
程式的翻譯(2/3)
 編譯:
 將高階語言所撰寫的整個程式翻譯成機器語言指
令,但不會立即執行
 編譯後的機器語言程式,還須使用連結程式來連
結與該程式相關的檔案,以產生可執行的目的碼
程式庫
(函數、副程式)
原始程式
編譯
機器語言程式
(目的碼)
連結
可執行的
目的碼
程式的翻譯(3/3)
 編譯:
 經編譯、連結後的程式,當要執行時,尚
需透過作業系統的載入程式,將可執行的
目的碼載入到主記憶體內執行
可執行的
目的碼
載入
可執行的程式
(在主記憶體中)
執行