2018年2月6日 星期二

計概15-01程式語言的發展與種類

15-1.1程式(Program)

程式

一連串邏輯性指令的集合。

撰寫程式的目的

解決問題。

程式設計的步驟

定義問題→設計解決方案→撰寫程式→測試程式[編譯(Compile)、連結(Link)、載入、測試、除錯(Debug)]→編寫程式文件(維護)

 

15-1.2程式語言(Programming Language)的種類

15-1.2.1程式語言的類型與世代

第一代

低階語言

機器語言(01組成)

第二代

組合語言(Assembly Language)

第三代

高階語言

程序導向:FortranCobolBasicPascalC

物件導向:C#C++Common LispDelphiJavaJavaScriptObjective-CPerlPHPPythonRubySmalltalkSwiftVB

第四代

(4GL)

問題導向:資料庫查詢語言:SQL

第五代

自然語言

人工智慧:LispProlog

 

15-1.2.2低階語言與高階語言的比較

項目

低階語言

高階語言

撰寫難度

除錯難度

維護難度

執行速度

可攜性

可讀性

跨平台性

佔用記憶體空間

 

15-1.2.3語言翻譯工具

分類

組譯器(Assembler)

編譯器(Compiler)

直譯器(Interpreter)

適用

組合語言

高階語言

高階語言

功能

組合語言轉譯成機器語言

高階語言轉譯成機器語言

高階語言轉譯成機器語言

目的程式

執行速度

最快

翻譯執行

組譯1次執行多次

1次執行多次

每次執行須直譯1

翻譯過程

組合程式→組譯程式→目的程式→連結程式→機器語言(可執行檔)→載入程式→執行→結果

高階程式→編譯程式→目的程式→連結程式→機器語言(可執行檔)→載入程式→執行→結果

高階程式→直譯程式→機器語言(可執行檔)→執行→結果

翻譯方式

翻譯後,若有錯誤,產生錯誤訊息。

若完全正確,產生目的程式。

執行翻譯、執行,若有錯誤則停止。

 

15-1.3物件導向程式設計(OOP, Object Oriented Programming)

元素

類別(Class)

相同類別生成的物件,具有相同的屬性、事件、方法。

屬性(Attribute)

描述物件具體的特徵。

事件(Event)

事件:物件可對事件進行辨識。

事件程序(Event Procedure):物件對事件的回應。

方法(Method)

物件的執行功能。

物件(Object)

具體實際存在的物品。

特性

封裝性(Encapsulation)

將物件內部的屬性與方法加以封裝,只能透過物件的介面(interface)來取得。

繼承性(Inheritance)

子類別會繼承父類別的屬性與行為。

可簡化重複撰寫程式,減少錯誤。

繼承性是多型性得以實現的基礎。

多型性(Polymorphism)

一個方法將依照呼叫物件的不同,而有不同的操作。

抽象性(Abstraction)

將變數抽象化,讓使用者更容易使用。

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。