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快