1. 程式人生 > >第9周作業

第9周作業

The  history  of   program  1950-2020

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就是典型代表。

90年代未見到有什麼重大的創新,大多都是以前構想的重組或變化。這段期間主要在推動的哲學是提升程式設計師的生產力。許多"快速應用程式開發" (RAD) 語言也應運而生,這些語言大多都有相應的整合開發環境垃圾回收等機制,且大多是先前語言的派生語言。這型別的語言也大多是面向物件的程式語言,包含有Object PascalVisual Basic,以及C#Java則是更加保守的語言,也具備垃圾回收機制。與其他類似語言相比,也受到更多的觀注。新的指令碼語言則比RAD語言更新更好。這種語言並非直接從其他語言派生,而且新的語法更加開放地(liberal)與功能契合。雖然指令碼語言比RAD語言來的更有生產力,但大多會有因為小程式較為簡單,但是大型程式則難以使用指令碼語言撰寫並維護的顧慮[來源請求]。儘管如此,指令碼語言還是網上層面的應用上大放異彩。

own f

隨著高階語言發展到今天 ,我認為今後的下一階段應該是面向應用。也就是你只需要告訴程式你要幹什麼,程式自己編輯演算法以及語句並自動處理,這樣的情況下人人都會程式設計,但不是所有人都會真正的“程式設計”。