Ch6_Programming Languages
Ch6
Programming language-> Assembly language-> Machine language
Assembly language
各個名稱用op-code來記
Identifiers: 程式設計師選用各種名稱來描述記憶體位置
Compiler: 翻譯機器語言的程式
Parts of Program
First Part: 宣告data field
Second Part: 執行程式的body
Translation process:
Source program -> Lexical analyzer -> Parser -> Code generator -> Object program
Object: 擁有整合好的資料及處理程序
Class: 為物件的模子
註 : Object為Class的instance(實例)
Components of an Object
Instance Variable: 在物件內的變數
Method: 在物件內的procedure
Constructor: 屬於一種特殊的method,用來做物件初始化
註: Encapsulation: 為限制物件內容傳遞的一種方法(public,private,protected)
Inheritance: 子類別可以使用父類別所宣告過的東西
Polymorphism: 將父類別的東西改寫(override)使其多樣化
Parallel/Concurrent processing
1.multiple CPU
2.single CPU就使用time-sharing
Mutual Exclusion : 一種確保一筆資料同時間內作運算的方法
Monitor: 為控制傳遞到本身的資料變量
Function(black box) : 無法看見其運算內容
Declarative Programming
Resolution: 將兩樣敘述整合成一個新的敘述
Resolvent: 從Resolution演變來的新敘述
Clause form:一種基本結構為布林運算的敘述
Unification: 配給變數數值,以至兩個敘述能相容
Prolog(邏輯語言)
Fact: 用Prolog敘述來建立fact
ex: faster(turtle,snail) , faster(rabbit,turtle) , faster(rabbit,snail)
//烏龜比蝸牛快 兔子比烏龜快 故兔子比龜牛快
Rule: 用Prolog敘述來建立rule
ex: faster(X,Z) :- faster(X,Y) , faster(Y,Z)
//若X比Y快,Y比Z快 則X比Z快