自1 9 4 6年世界上第一臺(tái)電子計(jì)算機(jī)問(wèn)世以來(lái),計(jì)算機(jī)科學(xué)及其應(yīng)用的發(fā)展十分迅猛,計(jì)算機(jī)被廣泛地應(yīng)用于人類生產(chǎn)、生活的各個(gè)領(lǐng)域,推動(dòng)了社會(huì)的進(jìn)步與發(fā)展。非凡是隨著國(guó)際互聯(lián)網(wǎng)(I n t e r n e t)日益深入千家萬(wàn)戶,傳統(tǒng)的信息收集、傳輸及交換方式正被革命性地改變,我們已經(jīng)難以擺脫對(duì)計(jì)算機(jī)的依靠,計(jì)算機(jī)已將人類帶入了一個(gè)新的時(shí)代—信息時(shí)代。新的時(shí)代對(duì)于我們的基本要求之一是:自覺(jué)地、主動(dòng)地學(xué)習(xí)和把握計(jì)算機(jī)的基本知識(shí)和基本技能,并把它作為自己應(yīng)該具備的基本素質(zhì)。要充分熟悉到,缺乏計(jì)算機(jī)知識(shí),就是信息時(shí)代的“文盲”。對(duì)于理工科的大學(xué)生而言,把握一門高級(jí)語(yǔ)言及其基本的編程技能是必需的。大學(xué)學(xué)習(xí),除了把握本專業(yè)系統(tǒng)的基礎(chǔ)知識(shí)外,科學(xué)精神的培養(yǎng)、思維方法的鍛煉、嚴(yán)謹(jǐn)踏實(shí)的科研作風(fēng)養(yǎng)成,以及分析問(wèn)題、解決問(wèn)題的能力的練習(xí),都是日后工作的基礎(chǔ)。學(xué)習(xí)計(jì)算機(jī)語(yǔ)言,正是一種十分有益的練習(xí)方式,而語(yǔ)言本身又是與計(jì)算機(jī)進(jìn)行交互的有力的工具。一臺(tái)計(jì)算機(jī)是由硬件系統(tǒng)和軟件系統(tǒng)兩大部分構(gòu)成的,硬件是物質(zhì)基礎(chǔ),而軟件可以說(shuō)是計(jì)算機(jī)的靈魂,沒(méi)有軟件,計(jì)算機(jī)是一臺(tái)“裸機(jī)”,是什么也不能干的,有了軟件,才能靈動(dòng)起來(lái),成為一臺(tái)真正的“電腦”。所有的軟件,都是用計(jì)算機(jī)語(yǔ)言編寫的。計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展,經(jīng)歷了從機(jī)器語(yǔ)言、匯編語(yǔ)言到高級(jí)語(yǔ)言的歷程。1. 機(jī)器語(yǔ)言 電子計(jì)算機(jī)所使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計(jì)算機(jī)的語(yǔ)言的基礎(chǔ)。計(jì)算機(jī)發(fā)明之初,人們只能降貴紆尊,用計(jì)算機(jī)的語(yǔ)言去命令計(jì)算機(jī)干這干那,一句話,就是寫出一串串由“0”和“1”組成的指令序列交由計(jì)算機(jī)執(zhí)行,這種語(yǔ)言,就是機(jī)器語(yǔ)言。使用機(jī)器語(yǔ)言是十分痛苦的,非凡是在程序有錯(cuò)需要修改時(shí),更是如此。而且,由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,所以,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于使用的是針對(duì)特定型號(hào)計(jì)算機(jī)的語(yǔ)言,故而運(yùn)算效率是所有語(yǔ)言中最高的。機(jī)器語(yǔ)言,是第一代計(jì)算機(jī)語(yǔ)言。2. 匯編語(yǔ)言 為了減輕使用機(jī)器語(yǔ)言編程的痛苦,人們進(jìn)行了一種有益的改進(jìn):用一些簡(jiǎn)潔的英文字母、符號(hào)串來(lái)替代一個(gè)特定的指令的二進(jìn)制串,比如,用“A D D”代表加法,“M O V”代表數(shù)據(jù)傳遞等等,這樣一來(lái),人們很輕易讀懂并理解程序在干什么,糾錯(cuò)及維護(hù)都變得方便了,這種程序設(shè)計(jì)語(yǔ)言就稱為匯編語(yǔ)言,即第二代計(jì)算機(jī)語(yǔ)言。然而計(jì)算機(jī)是不熟悉這些符號(hào)的,這就需要一個(gè)專門的程序,專門負(fù)責(zé)將這些符號(hào)翻譯成二進(jìn)制數(shù)的機(jī)器語(yǔ)言,這種翻譯程序被稱為匯編程序。匯編語(yǔ)言同樣十分依靠于機(jī)器硬件,移植性不好,但效率仍十分高,針對(duì)計(jì)算機(jī)特定硬件而編制的匯編語(yǔ)言程序,能準(zhǔn)確發(fā)揮計(jì)算機(jī)硬件的功能和特長(zhǎng),程序精煉而質(zhì)量高,所以至今仍是一種常用而強(qiáng)有力的軟件開發(fā)工具。 3. 高級(jí)語(yǔ)言 從最初與計(jì)算機(jī)交流的痛苦經(jīng)歷中,人們意識(shí)到,應(yīng)該設(shè)計(jì)一種這樣的語(yǔ)言,這種語(yǔ)言接近于數(shù)學(xué)語(yǔ)言或人的自然語(yǔ)言,同時(shí)又不依靠于計(jì)算機(jī)硬件,編出的程序能在所有機(jī)器上通用。經(jīng)過(guò)努力,1 9 5 4年,第一個(gè)完全脫離機(jī)器硬件的高級(jí)語(yǔ)言—F O RT R A N問(wèn)世了,4 0多年來(lái),共有幾百種高級(jí)語(yǔ)言出現(xiàn),有重要意義的有幾十種,影響較大、使用較普遍的有F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、A d a、C + +、V C、V B、D e l p h i、J AVA 等。高級(jí)語(yǔ)言的發(fā)展也經(jīng)歷了從早期語(yǔ)言到結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,從面向過(guò)程到非過(guò)程化程序語(yǔ)言的過(guò)程。相應(yīng)地,軟件的開發(fā)也由最初的個(gè)體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。6 0年代中后期,軟件越來(lái)越多,規(guī)模越來(lái)越大,而軟件的生產(chǎn)基本上是人自為戰(zhàn),缺乏科學(xué)規(guī)范的系統(tǒng)規(guī)劃與測(cè)試、評(píng)估標(biāo)準(zhǔn),其惡果是大批耗費(fèi)巨資建立起來(lái)的軟件系統(tǒng),由于含有錯(cuò)誤而無(wú)法使用,甚至帶來(lái)巨大損失,軟件給人的感覺(jué)是越來(lái)越不可靠,以致幾乎沒(méi)有不出錯(cuò)的軟件。這一切,極大地震動(dòng)了計(jì)算機(jī)界,史稱“軟件危機(jī)”。人們熟悉到:大型程序的編制不同于寫小程序,它應(yīng)該是一項(xiàng)新的技術(shù),應(yīng)該像處理工程一樣處理軟件研制的全過(guò)程。程序的設(shè)計(jì)應(yīng)易于保證正確性,也便于驗(yàn)證正確性。1 9 6 9年,提出了結(jié)構(gòu)化程序設(shè)計(jì)方法,1 9 7 0年,第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言—P a s c a l語(yǔ)言出現(xiàn),標(biāo)志著結(jié)構(gòu)化程序設(shè)計(jì)時(shí)期的開始。8 0年代初開始,在軟件設(shè)計(jì)思想上,又產(chǎn)生了一次革命,其成果就是面向?qū)ο蟮某绦蛟O(shè)計(jì)。在此之前的高級(jí)語(yǔ)言,幾乎都是面向過(guò)程的,程序的執(zhí)行是流水線似的,在一個(gè)模塊被執(zhí)行完成前,人們不能干別的事,也無(wú)法動(dòng)態(tài)地改變程序的執(zhí)行方向。這和人們?nèi)粘L幚硎挛锏姆绞绞遣灰恢碌模瑢?duì)人而言是希望發(fā)生一件事就處理一件事,也就是說(shuō),不能面向過(guò)程,而應(yīng)是面向具體的應(yīng)用功能,也就是對(duì)象(o b j e c t)。其方法就是軟件的集成化,如同硬件的集成電路一樣,生產(chǎn)一些通用的、封裝緊密的功能模塊,稱之為軟件集成塊,它與具體應(yīng)用無(wú)關(guān),但能相互組合,完成具體的應(yīng)用功能,同時(shí)又能重復(fù)使用。對(duì)使用者來(lái)說(shuō),只關(guān)心它的接口(輸入量、輸出量)及能實(shí)現(xiàn)的功能,至于如何實(shí)現(xiàn)的,那是它內(nèi)部的事,使用者完全不用關(guān)心,C + +、V B、D e l p h i就是典型代表。高級(jí)語(yǔ)言的下一個(gè)發(fā)展目標(biāo)是面向應(yīng)用,也就是說(shuō):只需要告訴程序你要干什么,程序就能自動(dòng)生成算法,自動(dòng)進(jìn)行處理,這就是非過(guò)程化的程序語(yǔ)言。