程式语言简介.ppt_第1页
程式语言简介.ppt_第2页
程式语言简介.ppt_第3页
程式语言简介.ppt_第4页
程式语言简介.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程式語言簡介,內 容 大 綱,程式語言的歷史 程式語言的五個世代 著名程式語言介紹,程式語言的歷史 (1/2),電腦萌芽的1950年代,工程師必須藉由控制台按鈕或讀卡機輸入一連串的0與1來下達指令(instruction),以直接控制電腦的中央處理器執行計算,這是最早型式的程式語言(programming language),稱為低階語言(low-level language)。 現在,工程師通常使用鍵盤輸入接近人類自然語言(natural language)的敘述(statement)來控制電腦的中央處理器進行運算,這稱為高階語言(high-level language),高階語言接近人們日

2、常生活所用的語言,因此,顯得比較容易撰寫也比較容易理解。,程式語言的歷史 (2/2),不管是一連串低階語言指令所形成的組合,或是一連串高階語言敘述所形成的組合,均可稱為程式(program)。 將中央處理器比喻為電腦的大腦的話,那麼程式可以說是電腦的靈魂了,是程式賦予電腦生命,少了程式的電腦無法進行任何工作,它只不過是一群推砌在一起的電路罷了。 有了程式,電腦可以依照程式的指示進行運算,於是各種可能的應用都出現了,程式可以指示中央處理器進行核子反應模式計算,也可以指示中央處理器透過網路卡接收資料顯示於顯示螢幕上,或可以讓人們使用電腦進行具聲光效果的電腦遊戲,等。,程式語言的五個世代 (1/15

3、),第一代語言 - 低階語言(low-level language) 低階語言又稱為機器語言(machine language),此種語言使用一連串的0與1來下達指令(instruction)以控制中央處理器進行運算。 例如,在某機器上可能使用: 0001 1011 0100 1100 0000 0011 0000 1000 代表要中央處理器計算3和8的和並將計算結果暫時儲存起來。,程式語言的五個世代 (2/15),不同的電腦主機因為中央處理器所接受的指令不同,因此也有不同的機器語言。 要撰寫機器語言程式必須熟稔電腦內部所有的結構,並需要了解什麼樣的0與1字串事代表什麼樣的指令。 一連串的0與

4、1顯然是令人難以理解的,這使得機器語言程式的撰寫和除錯都相當繁瑣。,程式語言的五個世代 (3/15),第二代語言 - 中階語言(middle-level language) 第二代語言又稱為組合語言(assembly language),此種語言使用速計符號(mnemonic symbol)來下達指令以控制中央處理器。 例如,在某機器上以下的指令: LD R1,3 LD R2,8 ADD R1,R2 代表要中央處理器計算3與8的和,並將計算結果暫時儲存起來。,程式語言的五個世代 (4/15),當我們要執行組合語言程式時,必須先將組合語言程式透過一個稱為組譯器(assembler)的工具程式轉換

5、成一連串由0與1所構成的機器語言程式才可以控制中央處理器進行運算。 其轉換過程如下:,程式語言的五個世代 (5/15),第三代語言 - 高階語言 (High-level Language) 高階語言使用與自然語言(如英語)類似的敘述(statement)來指示中央處理器進行運算。 例如: R=3+8; 代表要中央處理器計算3與8的和,並將計算結果暫時儲存起來(儲存於變數R中)。,程式語言的五個世代 (6/15),高階語言程式已經非常接近人類日常生活使用的自然語言了,這使得高階語言程式更容易撰寫與維護。 高階語言程式需要透過稱為編譯器(compiler)的工具程式,轉換為一連串由0與1所構成的機

6、器語言程式以後才可以驅動中央處理器執行運算。,程式語言的五個世代 (7/15),轉換過程如下所示: 有些高階語言也可以透過直譯器(interpreter)直接得到執行結果。直譯器的轉換過程如下所示:,程式語言的五個世代 (8/15),高階語言程式一般而言是與電腦的硬體架構無關的(machine independent),這表示在某一個電腦系統上開發的高階語言程式不需要太多的修改就可以挪移到另一個電腦系統上執行,這項特性大大提高了程式的可攜性(probability),降低高階語言程式的開發成本。 高階語言通常為程序性語言(procedural language),它們使用程序(procedur

7、e)、函數(function)以循序化(sequential)的方式指示中央處理器進行運算。,程式語言的五個世代 (9/15),有一部份高階語言是屬於物件導向程式語言(object-oriented programming language, OOPL),其基本觀念為將程序與資料加以結合並封裝(encapsulate)在一起,這個封裝的個體就是物件(object),而程式設計就完全以物件為基礎來完成。 物件導向程式設計的觀念可以使程式的設計較不容易出錯,使程式的維護及程式模組的共用變得較為容易,是當前程式設計的一個主流觀念。,程式語言的五個世代 (10/15),現今大部分的程式語言都屬於第三代

8、的高階語言,如FROTRAN、COBOL、BASIC、ALGOL、PL/I、LISP、PROLOG、PASCAL、C/C+、JAVA等 。,程式語言的五個世代 (11/15),第四代語言-(Fourth-Generation Language, 4GL) 第四代語言屬於非程序性語言(non-procedural language),亦即使用者不用指出電腦應該如何做的程序,而只要指示電腦做什麼就可以了。,程式語言的五個世代 (12/15),例如,以下是一個資料庫結構化查詢語言(structure query language, SQL)的例子: select員工姓名 from員工薪資表 wher

9、e月薪 50000 上述SQL語言的意思是指示電腦列出月薪大於5萬元的員工姓名。我們在上列的指令中,只有指示電腦顯示出我們要的結果(做什麼),而沒有指示電腦如何完成顯示結果程序(如何做)。,程式語言的五個世代 (13/15),第四代語言的語法比第三代語言的語法簡單得多,但是其執行效率較慢,而且需要更多的軟體和硬體設備來執行。 另外,第四代語言通常只能用於特殊用途,如資料庫查詢及印製報表等。因此,其彈性較第三代語言小,無法全面應用於所有的領域。,程式語言的五個世代 (14/15),第五代語言 - 自然語言 程式語言的最高目標,就是可以直接使用人類日常交談所用的自然語言(natural langu

10、age)來指示電腦系統執行運算。 例如,我們可以使用 “印出員工中月薪超過五萬元的員工姓名” 或 “將月薪超過五萬元的員工姓名印出” 等中文語句來指示電腦系統只列出月薪多於五萬元的員工姓名。,程式語言的五個世代 (15/15),自然語言的語法複雜,而且通常一字多義,而文句的語意又會因為文句前後文或說話環境的不同而改變。 要使用自然語言來直接指示電腦執行運算,必須藉助人工智慧(Artificial Intelligence, AI)的技術來完成。,著名的程式語言介紹 (1/),FORTRAN (FROmula TRANslator) 由IBM公司於1954年發展出來,中文稱為福傳語言,其主要的用

11、途是為科學及工程計算。 最大特性是接近數學公式的自然描述,在執行時具有很高的效率,因此廣泛地應用於數值計算領域。 因為是最早該發的程式語言之一,因此累積了大量高效率而可靠的原始程式。 重要版本有1960年FORTRAN IV、1978年發表的FORTRAN 77。1990年後的版本有FORTRAN90 (ANSI, 1992年標準)、FORTRAN95及FORTRAN2003。,著名的程式語言介紹 (2/),以下為FORTRAN語言的Hello World程式: C This is a FORTRAN program * To say hello to world WRITE(*,10) 10

12、 FORMAT(Hello, world!) STOP END,著名的程式語言介紹 (3/),COBOL (Common Business-Oriented Language) 於1959年推出,由美國國防部五角大廈中的一個委員會所制定,中文稱為科博語言,主要用於商業資料處理。 適合用於處理大量輸入輸出資料,檔案處理及報表製作。 重要版本有1968年發佈的ANSI-COBOL (ANSI代表American National Standard Institute,美國國家標準局)、1985年公佈的COBOL 85及2000年公佈的COBOL2002。,著名的程式語言介紹 (4/),以下是COB

13、OL語言的Hello World 程式: *This is a COBOL program *To say hello to world IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. DISPLAY Hello, world!. STOP RUN.,著名的程式語言介紹 (5/),BASIC (Beginners All-purpose Symbolic Instruction Code) 1965年由John Kemeny 及T

14、homas Kurtz於Dartmonth學院提出,中文稱為培基語言,BASIC語言原本就是為程式初學者所開發,因此簡單易學。 因為簡單易學,BASIC語言受到廣泛的歡迎,隨著微電腦的普及,出現了許多BASIC版本,例如Apple BASIC、GWBASIC、IBM BASIC(即BASICA)、True BASIC、Quick BASIC(即QBASIC)及微軟公司所推出具有視覺化介面的Visual Basic等。,著名的程式語言介紹 (6/),以下為BASIC語言的Hello World 程式: 10 REM This is a BASIC program 20 REM To say he

15、llo to world 30 PRINT Hello, world!,著名的程式語言介紹 (7/),PASCAL 1971年由瑞士蘇黎世學院的Niklaus Wirth教授發展出來,中文稱為巴斯卡語言,此語言的命名是為了紀念一位十七世紀的法國數學家Blaise Pascal (1623-1662)。 PASCAL語言的發展是為了程式語言相關的教學,是最早出現的結構化程式語言,具有豐富的資料型別和簡潔的語法,同時適於描述數值和非數值的問題。 在1980年代,此語言為許多大學及學院選擇為教學用語言,然而由於許多PASCAL編譯器之間的相容性不夠高,因此並未被業界廣泛採用。,著名的程式語言介紹 (

16、8/),以下是PASCAL語言的Hello World 程式: (* This is a PASCAL program *) To say hello to world program Hello; begin writeln(Hello, world!); end.,著名的程式語言介紹 (9/),C語言 由Ken Thompson及Dennis Ritchie 在1970年代於著名的貝爾實驗室(Bell Lab.)發展出來。 C語言具有相當高的執行效率,又具有直接操控資料位元的特性,是一個靈活性最高的語言。 因為它的高效能及靈活性,C語言經常被用來開發各種系統,如著名的UNIX作業系統,其中

17、大部分即是使用C語言開發的。,著名的程式語言介紹 (10/),以下是C語言的Hello World 程式: /*This is a C program */ /*To say hello to world */ #include stdio.h /* Required for printf( ) */ main(void) printf(Hello, world!n); ,著名的程式語言介紹 (11/),C+語言 由Bjarne Stroustrup於1980年代於貝爾實驗發展出來。 一開始以C語言的增強版的形式出現,稱為”C with Classes”,而後才正式稱為C+語言。 從給C語言增

18、加類別開始,C+不斷的增加新特性,如虛擬函數(virtual function)、多載運算符 (overloading operator)、多重繼承 (multiple inheritance)、模板 (templates)、例外處理 (exception handling)、名字空間 (name space)等逐漸被加入標準。,著名的程式語言介紹 (12/),1998年及2003年國際標準組織(ISO)頒布了C+程式語言的國際標準ISO/IEC 14882-1998及,ISO/IEC 14882-2003。 以下是C+語言的Hello World 程式: /This is a C+ prog

19、ram /*To say hello to world */ #include iostream / Required for std:cout int main() std:cout Hello World! std:endl; return 0; ,著名的程式語言介紹 (13/),Java語言 由昇陽(Sun)公司James Gosling等人開發,於1995年5月23日發表,是一個純物件導向程式語言,它與C/C+的語法類似,但去除了C/C+中容易被誤用或造成錯誤的功能,例如C/C+中的指標(pointer)與C+中的多重繼承等。 Java語言並不被編譯成為能夠直接在電腦上執行的二進位機器

20、碼(binary machine code),而是被編譯為位元組碼(bytecode)在Java虛擬機器(JVM, Java Virtual Machine)上執行,這個作法使Java語言幾乎可以跨越所有平台執行,而有所謂的 ”write once,run anywhere” 的特性。,著名的程式語言介紹 (14/),Java語言也可以在網路瀏覽器上執行,這使得Java語言非常適用於網際網路環境。 Java語言以JDK的方式發表,JDK為Java發展者工具組(Java Development Kit),JDK工具組裏包含撰寫Java程式的所有工具,包括編譯器(compiler)、解譯器(int

21、erpreter即JVM)、除錯程式(debugger)及文件產生工具(document generator)等。,著名的程式語言介紹 (15/),Java語言自1995年發表至今,已超過10個年頭,在這期間Java語言經歷兩次重大的改變: 1998年12月自JDK 1.1轉變至JDK 1.2,整個語言架構重新規劃,而此架構則被稱為Java 2平台(Java 2 Platform)。 後續幾年的改版,如JDK 1.3、JDK 1.4大多只強化API的功能,而針對語言本身並無太多更改。 2004年9月30日發佈的JDK1.5則被昇陽公司視為自Java 2平台發表五年後,最重大且最先進的版本,也因此,這個版本被賦予了5.0的版號,以反應其重要性。而目前Java 6.0(代號Mustang)及Java 7.0(代號Dolphin)都已經在發展中了。,著名的程式語言介紹 (16/),以下是Java語言的Hello World 程式: /This is a Java progr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论