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) 編譯: 經編譯、連結後的程式,當要執行時,尚 需透過作業系統的載入程式,將可執行的 目的碼載入到主記憶體內執行 可執行的 目的碼 載入 可執行的程式 (在主記憶體中) 執行