程式语言简介.ppt

上传人:s****8 文档编号:67344929 上传时间:2022-12-24 格式:PPT 页数:38 大小:150KB
返回 下载 相关 举报
程式语言简介.ppt_第1页
第1页 / 共38页
程式语言简介.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《程式语言简介.ppt》由会员分享,可在线阅读,更多相关《程式语言简介.ppt(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

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

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

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

5、言程式才可以控制中央處理器進行運算。n其轉換過程如下:LD R1,3LD R2,8ADD RL,R2:組譯器組譯器(assembler):000110110100110000000011000010000011001001001001:中央處理器中央處理器(CPU)(CPU)結果結果組合語言程式機器語言程式程式語言的五個世代(5/15)n第三代語言-高階語言(High-level Language)n高階語言使用與自然語言(如英語)類似的敘述(statement)來指示中央處理器進行運算。n例如:R=3+8;代表要中央處理器計算3與8的和,並將計算結果暫時儲存起來(儲存於變數R中)。程式語言的

6、五個世代(6/15)n高階語言程式已經非常接近人類日常生活使用的自然語言了,這使得高階語言程式更容易撰寫與維護。n高階語言程式需要透過稱為編譯器(compiler)的工具程式,轉換為一連串由0與1所構成的機器語言程式以後才可以驅動中央處理器執行運算。程式語言的五個世代(7/15)n轉換過程如下所示:n有些高階語言也可以透過直譯器(interpreter)直接得到執行結果。直譯器的轉換過程如下所示:R=3+8;:編譯器編譯器(compiler):000110110100110000000011000010000011001001001001:中央處理器中央處理器(CPU)(CPU)結果結果高階語

7、言程式機器語言程式:R=3+8;:解譯器解譯器(interpreter)中央處理器中央處理器(CPU)(CPU)結果結果高階語言程式程式語言的五個世代(8/15)n高階語言程式一般而言是與電腦的硬體架構無關的(machine independent),這表示在某一個電腦系統上開發的高階語言程式不需要太多的修改就可以挪移到另一個電腦系統上執行,這項特性大大提高了程式的可攜性(probability),降低高階語言程式的開發成本。n高階語言通常為程序性語言(procedural language),它們使用程序(procedure)、函數(function)以循序化(sequential)的方式指

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

9、SP、PROLOG、PASCAL、C/C+、JAVA等。程式語言的五個世代(11/15)n第四代語言-(Fourth-Generation Language,4GL)n第四代語言屬於非程序性語言(non-procedural language),亦即使用者不用指出電腦應該如何做的程序,而只要指示電腦做什麼就可以了。程式語言的五個世代(12/15)n例如,以下是一個資料庫結構化查詢語言(structure query language,SQL)的例子:select員工姓名from員工薪資表where月薪 50000上述SQL語言的意思是指示電腦列出月薪大於5萬元的員工姓名。我們在上列的指令中,只

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

11、工姓名印出”等中文語句來指示電腦系統只列出月薪多於五萬元的員工姓名。程式語言的五個世代(15/15)n自然語言的語法複雜,而且通常一字多義,而文句的語意又會因為文句前後文或說話環境的不同而改變。n要使用自然語言來直接指示電腦執行運算,必須藉助人工智慧(Artificial Intelligence,AI)的技術來完成。著名的程式語言介紹(1/)nFORTRAN(FROmula TRANslator)n由IBM公司於1954年發展出來,中文稱為福傳語言,其主要的用途是為科學及工程計算。n最大特性是接近數學公式的自然描述,在執行時具有很高的效率,因此廣泛地應用於數值計算領域。n因為是最早該發的程式

12、語言之一,因此累積了大量高效率而可靠的原始程式。n重要版本有1960年FORTRAN IV、1978年發表的FORTRAN 77。1990年後的版本有FORTRAN90(ANSI,1992年標準)、FORTRAN95及FORTRAN2003。著名的程式語言介紹(2/)n以下為FORTRAN語言的Hello World程式:C This is a FORTRAN program*To say hello to world WRITE(*,10)10 FORMAT(Hello,world!)STOP END著名的程式語言介紹(3/)nCOBOL(Common Business-Oriented L

13、anguage)n於1959年推出,由美國國防部五角大廈中的一個委員會所制定,中文稱為科博語言,主要用於商業資料處理。n適合用於處理大量輸入輸出資料,檔案處理及報表製作。n重要版本有1968年發佈的ANSI-COBOL(ANSI代表American National Standard Institute,美國國家標準局)、1985年公佈的COBOL 85及2000年公佈的COBOL2002。著名的程式語言介紹(4/)n以下是COBOL語言的Hello World 程式:*This is a COBOL program*To say hello to world IDENTIFICATION D

14、IVISION.PROGRAM-ID.HELLO-WORLD.ENVIRONMENT DIVISION.DATA DIVISION.PROCEDURE DIVISION.DISPLAY Hello,world!.STOP RUN.著名的程式語言介紹(5/)nBASIC(Beginners All-purpose Symbolic Instruction Code)n1965年由John Kemeny 及Thomas Kurtz於Dartmonth學院提出,中文稱為培基語言,BASIC語言原本就是為程式初學者所開發,因此簡單易學。n因為簡單易學,BASIC語言受到廣泛的歡迎,隨著微電腦的普及,出

15、現了許多BASIC版本,例如Apple BASIC、GWBASIC、IBM BASIC(即BASICA)、True BASIC、Quick BASIC(即QBASIC)及微軟公司所推出具有視覺化介面的Visual Basic等。著名的程式語言介紹(6/)n以下為BASIC語言的Hello World 程式:10 REM This is a BASIC program20 REM To say hello to world30 PRINT Hello,world!著名的程式語言介紹(7/)nPASCAL n1971年由瑞士蘇黎世學院的Niklaus Wirth教授發展出來,中文稱為巴斯卡語言,此

16、語言的命名是為了紀念一位十七世紀的法國數學家Blaise Pascal(1623-1662)。nPASCAL語言的發展是為了程式語言相關的教學,是最早出現的結構化程式語言,具有豐富的資料型別和簡潔的語法,同時適於描述數值和非數值的問題。n在1980年代,此語言為許多大學及學院選擇為教學用語言,然而由於許多PASCAL編譯器之間的相容性不夠高,因此並未被業界廣泛採用。著名的程式語言介紹(8/)n以下是PASCAL語言的Hello World 程式:(*This is a PASCAL program*)To say hello to world program Hello;begin write

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

18、/*Required for printf()*/main(void)printf(Hello,world!n);著名的程式語言介紹(11/)nC+語言n由Bjarne Stroustrup於1980年代於貝爾實驗發展出來。n一開始以C語言的增強版的形式出現,稱為”C with Classes”,而後才正式稱為C+語言。n從給C語言增加類別開始,C+不斷的增加新特性,如虛擬函數(virtual function)、多載運算符(overloading operator)、多重繼承(multiple inheritance)、模板(templates)、例外處理(exception handlin

19、g)、名字空間(name space)等逐漸被加入標準。著名的程式語言介紹(12/)n1998年及2003年國際標準組織(ISO)頒布了C+程式語言的國際標準ISO/IEC 14882-1998及,ISO/IEC 14882-2003。n以下是C+語言的Hello World 程式:/This is a C+program/*To say hello to world*/#include iostream/Required for std:coutint main()std:cout Hello World!std:endl;return 0;著名的程式語言介紹(13/)nJava語言 n由昇

20、陽(Sun)公司James Gosling等人開發,於1995年5月23日發表,是一個純物件導向程式語言,它與C/C+的語法類似,但去除了C/C+中容易被誤用或造成錯誤的功能,例如C/C+中的指標(pointer)與C+中的多重繼承等。nJava語言並不被編譯成為能夠直接在電腦上執行的二進位機器碼(binary machine code),而是被編譯為位元組碼(bytecode)在Java虛擬機器(JVM,Java Virtual Machine)上執行,這個作法使Java語言幾乎可以跨越所有平台執行,而有所謂的”write once,run anywhere”的特性。著名的程式語言介紹(14

21、/)nJava語言也可以在網路瀏覽器上執行,這使得Java語言非常適用於網際網路環境。nJava語言以JDK的方式發表,JDK為Java發展者工具組(Java Development Kit),JDK工具組裏包含撰寫Java程式的所有工具,包括編譯器(compiler)、解譯器(interpreter即JVM)、除錯程式(debugger)及文件產生工具(document generator)等。著名的程式語言介紹(15/)nJava語言自1995年發表至今,已超過10個年頭,在這期間Java語言經歷兩次重大的改變:n1998年12月自JDK 1.1轉變至JDK 1.2,整個語言架構重新規劃,

22、而此架構則被稱為Java 2平台(Java 2 Platform)。n後續幾年的改版,如JDK 1.3、JDK 1.4大多只強化API的功能,而針對語言本身並無太多更改。n2004年9月30日發佈的JDK1.5則被昇陽公司視為自Java 2平台發表五年後,最重大且最先進的版本,也因此,這個版本被賦予了5.0的版號,以反應其重要性。而目前Java 6.0(代號Mustang)及Java 7.0(代號Dolphin)都已經在發展中了。著名的程式語言介紹(16/)n以下是Java語言的Hello World 程式:/This is a Java program/To say hello to wor

23、ldpublic class Hello public static void main(String args)System.out.println(Hello,world!);著名的程式語言介紹(17/)nC#語言n1995年,微軟公司推出C#(C Sharp)語言,作為其在具有通用程式語言架構(CLI,Common Language Infrastructure)的.NET Framework環境下的主要程式語言。nC#擁有C/C+大部份的功能,並加入Visual Basic的特性,它是一個物件導向(object-oriented)程式語言。n微軟公司將C#定位為Java的替代品,因此它

24、與Java語法的相似度非常高。著名的程式語言介紹(18/)n與Java語言一樣,C#程式並不被編譯成為能夠直接在電腦上執行的二進位機器碼(binary machine code),而是被編譯為稱作MSIL(Microsoft Intermediate Language)的中間代碼,然後特過.NET Framework中稱為共通語言執行環境(CLR,Common Language Runtime)的虛擬機器執行。著名的程式語言介紹(19/)n以下是C#語言的Hello World 程式:/This is a C#program/To say hello to worldclass HelloWorldApp public static void Main()System.Console.WriteLine(Hello,world!);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com