程序設計語言的發展

自1 9 4 6年世界上第一台電子計算機問世以來,計算機科學及其應用的發展十分迅猛,計算機被廣泛地應用于人類生産、生活的各個領域,推動了社會的進步與發展。非凡是隨著國際互聯網(I n t e r n e t)日益深入千家萬戶,傳統的信息收集、傳輸及交換方式正被革命性地改變,我們已經難以擺脫對計算機的依靠,計算機已將人類帶入了一個新的時代—信息時代。

新的時代對于我們的基本要求之一是:自覺地、主動地學習和把握計算機的基本知識和基本技能,並把它作爲自己應該具備的基本素質。要充分熟悉到,缺乏計算機知識,就是信息時代的“文盲”。

對于理工科的大學生而言,把握一門高級語言及其基本的編程技能是必需的。大學學習,除了把握本專業系統的基礎知識外,科學精神的培養、思維方法的鍛煉、嚴謹踏實的科研作風養成,以及分析問題、解決問題的能力的練習,都是日後工作的基礎。學習計算機語言,正是一種十分有益的練習方式,而語言本身又是與計算機進行交互的有力的工具。

一台計算機是由硬件系統和軟件系統兩大部分構成的,硬件是物質基礎,而軟件可以說是計算機的靈魂,沒有軟件,計算機是一台“裸機”,是什麽也不能幹的,有了軟件,才能靈動起來,成爲一台真正的“電腦”。所有的軟件,都是用計算機語言編寫的。

計算機程序設計語言的發展,經曆了從機器語言、彙編語言到高級語言的曆程。

1. 機器語言

電子計算機所使用的是由“0”和“1”組成的二進制數,二進制是計算機的語言的基礎。計算機發明之初,人們只能降貴纡尊,用計算機的語言去命令計算機幹這幹那,一句話,就是寫出一串串由“0”和“1”組成的指令序列交由計算機執行,這種語言,就是機器語言。使用機器語言是十分痛苦的,非凡是在程序有錯需要修改時,更是如此。而且,由于每台計算機的指令系統往往各不相同,所以,在一台計算機上執行的程序,要想在另一台計算機上執行,必須另編程序,造成了重複工作。但由于使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。

2. 彙編語言

爲了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進制串,比如,用“A D D”代表加法,“M O V”代表數據傳遞等等,這樣一來,人們很輕易讀懂並理解程序在幹什麽,糾錯及維護都變得方便了,這種程序設計語言就稱爲彙編語言,即第二代計算機語言。然而計算機是不熟悉這些符號的,這就需要一個專門的程序,專門負責將這些符號翻譯成二進制數的機器語言,這種翻譯程序被稱爲彙編程序。

彙編語言同樣十分依靠于機器硬件,移植性不好,但效率仍十分高,針對計算機特定硬件而編制的彙編語言程序,能准確發揮計算機硬件的功能和特長,程序精煉而質量高,所以至今仍是一種常用而強有力的軟件開發工具。

3. 高級語言

從最初與計算機交流的痛苦經曆中,人們意識到,應該設計一種這樣的語言,這種語言接近于數學語言或人的自然語言,同時又不依靠于計算機硬件,編出的程序能在所有機器上通用。經過努力,1 9 5 4年,第一個完全脫離機器硬件的高級語言—F O RT R A N問世了,4 0多年來,共有幾百種高級語言出現,有重要意義的有幾十種,影響較大、使用較普遍的有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 等。

高級語言的發展也經曆了從早期語言到結構化程序設計語言,從面向過程到非過程化程序語言的過程。相應地,軟件的開發也由最初的個體手工作坊式的封閉式生産,發展爲産業化、流水線式的工業化生産。

6 0年代中後期,軟件越來越多,規模越來越大,而軟件的生産基本上是人自爲戰,缺乏科學規範的系統規劃與測試、評估標准,其惡果是大批耗費巨資建立起來的軟件系統,由于含有錯誤而無法使用,甚至帶來巨大損失,軟件給人的感覺是越來越不可靠,以致幾乎沒有不出錯的軟件。這一切,極大地震動了計算機界,史稱“軟件危機”。人們熟悉到:大型程序的編制不同于寫小程序,它應該是一項新的技術,應該像處理工程一樣處理軟件研制的全過程。程序的設計應易于保證正確性,也便于驗證正確性。1 9 6 9年,提出了結構化程序設計方法,1 9 7 0年,第一個結構化程序設計語言—P a s c a l語言出現,標志著結構化程序設計時期的開始。

8 0年代初開始,在軟件設計思想上,又産生了一次革命,其成果就是面向對象的程序設計。在此之前的高級語言,幾乎都是面向過程的,程序的執行是流水線似的,在一個模塊被執行完成前,人們不能幹別的事,也無法動態地改變程序的執行方向。這和人們日常處理事物的方式是不一致的,對人而言是希望發生一件事就處理一件事,也就是說,不能面向過程,而應是面向具體的應用功能,也就是對象(o b j e c t)。其方法就是軟件的集成化,如同硬件的集成電路一樣,生産一些通用的、封裝緊密的功能模塊,稱之爲軟件集成塊,它與具體應用無關,但能相互組合,完成具體的應用功能,同時又能重複使用。對使用者來說,只關心它的接口(輸入量、輸出量)及能實現的功能,至于如何實現的,那是它內部的事,使用者完全不用關心,C + +、V B、D e l p h i就是典型代表。

高級語言的下一個發展目標是面向應用,也就是說:只需要告訴程序你要幹什麽,程序就能自動生成算法,自動進行處理,這就是非過程化的程序語言。

漫話程序設計語言的進化
漫話程序設計語言的進化
  1967年5月20日,在挪威奧斯陸郊外的小鎮莉沙布舉行的IFip TC-2 工作會議上,挪威科學家Ole-Johan Dahl和Kristen Nygaard正式發布了Simula 67語言。Simula 67被認爲是最早的面向對象程序設計語言,它引入了所有後...查看完整版>>漫話程序設計語言的進化
 
C語言程序設計基礎之預處理
概述  在前面各章中,已多次使用過以“#”號開頭的預處理命令。如包含命令# include,宏定義命令# define等。在源程序中這些命令都放在函數之外, 而且一般都放在源文件的前面,它們稱爲預處理部分。   所謂預處...查看完整版>>C語言程序設計基礎之預處理
 
C語言基礎教程(六)TurboC程序設計初步
本節主要介紹Turbo C程序設計的基本步驟及如何編譯、調試和運行源程序。 並給出Turbo C的常用編輯命令。最後介紹Turbo C編譯、連接和運行時的常見錯 誤。 一、Turbo C程序設計基本步驟 程序設計方法包括三個...查看完整版>>C語言基礎教程(六)TurboC程序設計初步
 
《C語言程序設計》教學的幾點體會
  《C語言程序設計》是我系各專業的必修課程,也是我校非計算機專業開設的程序設計課程之一。作爲計算機類的專業基礎課,目的是使學生把握程序設計的基本方法並逐步形成正確的程序設計思想, 能夠熟練地使用C語言進...查看完整版>>《C語言程序設計》教學的幾點體會
 
C語言程序設計基礎之文件
  所謂“文件”是指一組相關數據的有序集合。 這個數據集有一個名稱,叫做文件名。 實際上在前面的各章中我們已經多次使用了文件,例如源程序文件、目標文件、可執行文件、庫文件 (頭文件)等。文件通常是駐留在外部...查看完整版>>C語言程序設計基礎之文件
 
程序設計語言
程序設計語言,經曆了從 機器語言 、 彙編語言 到 高級語言 這樣一個發展過程。 機器語言 --------面向機器的語言 機器語言是 最底層 的計算機語言。用機器語言編寫的程序,計算機硬件可以直接識別。在用機器語言編寫...查看完整版>>程序設計語言
 
C程序設計語言概論(3)
  在使用標識符時還必須注重以下幾點:    (1)標准C不限制標識符的長度,但它受各種版本的C 語言編譯系統限制,同時也受到具體機器的限制。例如在某版本C 中規定標識符前八位有效,當兩個標識符前八位相同時,則...查看完整版>>C程序設計語言概論(3)
 
C程序設計語言概論(1)
  C語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了聞名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱爲《K&R》,也有...查看完整版>>C程序設計語言概論(1)
 
C程序設計語言概論(2)
  輸入和輸出函數    在前兩個例子中用到了輸入和輸出函數scanf和 printf,在第三章中我們要具體介紹。這裏我們先簡單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個函數分別稱爲格式輸入函數和格式輸...查看完整版>>C程序設計語言概論(2)
 
 
回到王朝網路移動版首頁