特徵
結構化語言的顯著特徵是代碼和數據的分離。這種語言能夠把執行某個特殊任務的指令和數據從程式的其餘部分分離出去、隱藏起來。獲得隔離的一個方法是調用使用局部(臨時)變數的
子程式。通過使用
局部變數,我們能夠寫出對程式其它部分沒有副作用的子程式。這使得編寫共享代碼段的程式變得十分簡單。如果開發了一些分離很好的函式,在引用時我們僅需要知道函式做什麼,不必知道它如何做。切記:過度使用
全局變數(可以被全部程式訪問的變數)會由於意外的副作用而在程式中引入錯誤。
結構化語言比非結構化語言更易於程式設計,用結構化語言編寫的程式的清晰性使得它們更易於維護。這已是人們普遍接受的觀點了。比如作為結構化語言的C語言主要結構成分是函式C的獨立子程式。在C語言中,函式是一種構件(程式塊),是完成程式功能的基本構件。函式允許一個程式的諸任務被分別定義和編碼,使程式模組化。可以確信,一個好的函式不僅能正確工作且不會對程式的其它部分產生副作用。
種類
面向對象的程式設計(OOP)
面向對象的程式設計(OOP)是結構化語言的自然延伸。OOP的先進編程方法,會產生一個清晰而又容易擴展及維護的程式。一旦您為您的程式建立了一個對象,您和其他的程式設計師可以在其他的程式中使用這個對象,完全不必重新編制繁複的代碼。對象的重複使用可以大大地節省開發時間,切實地提高您和其他人的工作效率。
C語言
C語言是一種結構化語言。它層次清晰,便於按模組化方式
組織程式,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的
運算符和數據類型,便於實現各類複雜的數據結構。它還可以直接訪問記憶體的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於
系統軟體的開發,也適合於套用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。
歷史
1960
ALGOL 60 ,第一種結構化語言出現。它是結構化語言家族樹中的根節點,並最終產生Pascal這樣的語言。ALGOL成為六十年代中期至末期歐洲最為流行的語言。
六十年代早期,Kenneth Iverson開始語言方面的工作,最終產生了APL-A程式語言。它使用專門的
字元集,為了正確地使用,你還需要兼容APL的I/O設備。
1962
APL被寫入Iverson的《A Programming Language》一書中。
FORTRAN IV出現。
SNOBOL這個以“首字母拼詞命名”的產品,在工作的初期就取得了絕對的成功,SNOBOL——面向字元串符號(StriNg Oriented symBOlic Language)語言。它衍生了其他一些以首字母拼詞命名的產品: FASBOL,一個SNOBOL
編譯器(1971年),還有SPITBOL——Speedy ImplemenTation of snoBOL——同樣在1971年。
1963
ALGOL 60進行修正。
PL/1的工作開始。
1964
APL\360被實現。
在
達特茅斯大學,John G.Kemeny和Thomas E.Kurtz教授發明了BASIC。最初的實現是一個
編譯器。第一個BASIC程式在1964年五月一日下午四點運行。PL/1發布。
1965
SNOBOL3出現。
1966
FORTRAN 66出現。
LISP 2出現。
在Bolt,Beranek和Newman開始了LOGO的工作。小組的頭是Wally Fuerzeig,而且還包括Seymour Papert。LOGO中最著名的便是“龜作圖”。
1967
SNOBOL4,功能獲得極大加強的SNOBOL,出現了。
1968
ALGOL 68,相對於ALGOL 60它是個怪物。一些規範委員會的成員——包括C.A.R.Hoare和Niklaus Wirth——卻贊同該計畫。事實證明ALGOL 68是難以實現的。
ALTRAN,一個FORTRAN的變種出現。
COBOL被ANSI正式定義規範。
Niklaus Wirth開始Pascal方面的工作。
1969
500人參加在紐約Armonk的IBM總部召開的APL會議。APL的分發需求如此之大,該活動此後被人們稱為“The March on Armonk”。
1970
70年代早期,Charles Moore在他的語言Forth中寫下了第一個有意義的程式。
Prolog方面的工作大約在此時開始了。
同樣是在70年代早期的某一天,Xerox PARC由Alan Kay領導,開始了Smalltalk的設計工作。早期版本包括Smalltalk-72,Smalltalk-74和Smalltalk-76。
Pascal在CDC 6000-series電腦上的一個實現出現了。
Icon,SNOBOL4的一個後代產品問世。
1972
Konrad Zuse寫的關於Plankalkul(見1946年)手稿終於出版了。
Dennis Ritchie設計了C。但是最終的參考手冊卻是在1974年發布的。
Prolog的第一個實現——Alain Colmerauer和Phillip Roussel的功勞。
1974
另一個COBOL的ANSI規範出現。
1975
Tiny BASIC,由Bob Albrecht和Dennis Allison設計(由Dick Whipple和John Arnold實現),運行在2KB記憶體的微型計算機上。一台4KB的機器是較為合適的,它將有2KB的記憶體套用於這個程式上。
Bill Gates和Paul Allen編寫的一個BASIC版本以抽取每份拷貝版稅的形式銷售給MITS(Micro Instrumentation and Telemetry Systems)。MITS生產Altair,這是一種8080結構的
微型計算機。
Scheme,一個LISP的“方言”,由G.L. Steele和G.J. Sussman設計。
Pascal用戶手冊和報告出版,Jensen和Wirth編寫。許多人至今都認為它是Pascal方面權威的參考書籍。
B.W. Kerninghan描述了RATFOR——RATional FORTRAN。它是預處理程式,並且允許在FORTRAN中使用類C的控制結構。RATFOR被套用到了Kernighan和Plauger的“Software Tools”中,它出現在1976年。
1976
Design System Language出現,它被認為是PostScript的先驅。
1977
MUMPS的
ANSI標準出現——
麻省總醫院多用途程式設計系統(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS最初被用來處理醫療記錄,它只能識別字元串類型。隨後被重新命名為M。
設計競賽將導致Ada的產生。由Jean Ichbiah帶領的Honeywell Bull隊伍,即將贏得比賽。
Kim Harris和其他人建立了FIG,一個FORTH興趣小組。他們開發了FIG-FORTH,售價大約為20美元。
70年代晚期的某天,Kenneth Bowles設計出了UCSD Pascal,它使得Pascal可以用在
PDP-11和基於Z80 的電腦上。
Niklaus Wirth開始設計Modula,它Modula-2的先行者,Pascal的繼承者。
1978
AWK——一個文本處理語言,以它設計者Aho、Weinberger和Kernighan的名字命名。
FORTRAN 77的ANSI標準出現。
1980
Smalltalk-80齣現。
Modula-2出現。
Franz LISP出現。
Bjarne Stroustrup開發了一個語言集——被總稱為“C With Classes”——它成為C++的滋生土壤。
1981
Effort開始成為一個LISP的“公共方言”,常被人稱作Common LISP。
日本開始第五代電腦系統工程。主要語言是Prolog。
1982
ISO Pascal出現。
PostScript出現。
1983
Smalltalk-80公布:它由Goldberg等人完成。
Ada出現。他的名字來自Lovelace女伯爵Augusta Ada Byron,她是英國詩人
拜倫的女兒。因其在巴貝奇分析機上設計了解伯努利方程的一個程式,而被譽為第一位女程式設計師。在1983年,國防部指導的全新“任務評定”應用程式是使用該語言編寫的。
1983年的後期和1984年早期,微軟和Digital Research共同發布第一個微型計算機的C
編譯器。
七月,第一個C++實現露面。該名稱是由Rick Mascitti取的。
11月,Borland的Turbo Pascal的“衝擊”猶如一場核風暴,這得益於《BYTE》雜誌的廣告。
1984
APL2的參考手冊面世。APL2是APL的擴展,它允許嵌套
數組。
1985
Forth控制著潛水器定位泰坦尼克的殘骸。
Methods,PC上的面向行(line-oriented)的Smalltalk出現。
1986
Smalltalk/V露面——第一個廣泛套用於微機的Smalltalk版本。
Apple公司為Mac機器發布Object Pascal。
Borland發布Turbo Prolog。
Charles Duff發布Actor,一個開發微軟Windows應用程式的
面向對象語言。
Eiffel,另外一個面向對象語言出現。
C++露面。
1987
Turbo Pascal 4.0發布。
1988
CLOS規範——公共LISP對象系統(Common LISP Object System)——發表。
Niklaus Wirth完成Oberon,這是他繼Modula-2的後續行動。
1989
ANSI C規範公布。
C++2.0形成了一個參考手冊的初稿。2.0版本增加了諸如
多繼承和成員
指針等特性。
1990
C++2.1,B.Stroustrup等作者的《Annotated C++ Reference Manual》一書出版。這個版本增加了模板和
異常處理特性。
FORTRAN 90包含了眾多新元素比如case語句和派生類型。
Kenneth Iverson和Roger Hui在APL 90會議上提出了
J語言。
1991
Visual Basic在COMDEX春展會上獲得《BYTE》雜誌頒發的最佳表現獎。
1992
Dylan——以Dylan Thomas命名——由Apple公司發布的一個類似Scheme的
面向對象語言。
1993
ANSI發布X3J4.1
技術報告——面向對象的COBOL提議初稿。真正的標準預計在1997年完成。
1994
微軟將Visual Basic for Application整合到Excel中。
1995
二月,ISO接受
Ada語言1995修訂版。它被稱為Ada95,其中包括OOP特性和支持
實時系統。
1996
第一個ANSI C++標準預發布。