結構化語言

結構化語言

結構化語言是專門描述一個功能單元邏輯要求的。它不同於自然語言,也區別於任何特定的程序語言(如VBVC等),是一種介於兩者之間的語言。結構化描述語言一般採用英語,這與一般編程語言很相似。它既有自然語言靈活性強、表達豐富的特點,又有結構化程序的清晰易讀和邏輯嚴密的特點。也是一種用於資料庫查詢和編程的語言,已經成為關係型資料庫普遍使用的標準,使用這種標準資料庫語言對程序設計和資料庫的維護都帶來了極大的方便,廣泛地應用於各種數據查詢。VB和其他的應用程序包括AccessFoxproOracleSQL Server等都支持SQL語言。

特徵


結構化語言的顯著特徵是代碼和數據的分離。這種語言能夠把執行某個特殊任務的指令和數據從程序的其餘部分分離出去、隱藏起來。獲得隔離的一個方法是調用使用局部(臨時)變數的子程序。通過使用局部變數,我們能夠寫出對程序其它部分沒有副作用的子程序。這使得編寫共享代碼段的程序變得十分簡單。如果開發了一些分離很好的函數,在引用時我們僅需要知道函數做什麼,不必知道它如何做。切記:過度使用全局變數(可以被全部程序訪問的變數)會由於意外的副作用而在程序中引入錯誤。
結構化語言比非結構化語言更易於程序設計,用結構化語言編寫的程序的清晰性使得它們更易於維護。這已是人們普遍接受的觀點了。比如作為結構化語言的C語言主要結構成分是函數C的獨立子程序。在C語言中,函數是一種構件(程序塊),是完成程序功能的基本構件。函數允許一個程序的諸任務被分別定義和編碼,使程序模塊化。可以確信,一個好的函數不僅能正確工作且不會對程序的其它部分產生副作用。

種類


面向對象的程序設計(OOP)
面向對象的程序設計(OOP)是結構化語言的自然延伸。OOP的先進編程方法,會產生一個清晰而又容易擴展及維護的程序。一旦您為您的程序建立了一個對象,您和其他的程序員可以在其他的程序中使用這個對象,完全不必重新編製繁複的代碼。對象的重複使用可以大大地節省開發時間,切實地提高您和其他人的工作效率。
C語言
C語言是一種結構化語言。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便於實現各類複雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體的開發,也適合於應用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。

歷史


1960
ALGOL60,第一種結構化語言出現。它是結構化語言家族樹中的根節點,並最終產生Pascal這樣的語言。ALGOL成為六十年代中期至末期歐洲最為流行的語言。
六十年代早期,KennethIverson開始語言方面的工作,最終產生了APL-A編程語言。它使用專門的字符集,為了正確地使用,你還需要兼容APL的I/O設備。
1962
APL被寫入Iverson的《AProgrammingLanguage》一書中。
FORTRANIV出現。
SNOBOL這個以“首字母拼詞命名”的產品,在工作的初期就取得了絕對的成功,SNOBOL——面向字元串符號(StriNgOrientedsymBOlicLanguage)語言。它衍生了其他一些以首字母拼詞命名的產品:FASBOL,一個SNOBOL編譯器(1971年),還有SPITBOL——SpeedyImplemenTationofsnoBOL——同樣在1971年。
1963
ALGOL60進行修正。
PL/1的工作開始。
1964
APL\360被實現。
在達特茅斯大學,JohnG.Kemeny和ThomasE.Kurtz教授發明了BASIC。最初的實現是一個編譯器。第一個BASIC程序在1964年五月一日下午四點運行。PL/1發布。
1965
SNOBOL3出現。
1966
FORTRAN66出現。
LISP2出現。
在Bolt,Beranek和Newman開始了LOGO的工作。小組的頭是WallyFuerzeig,而且還包括SeymourPapert。LOGO中最著名的便是“龜作圖”。
1967
SNOBOL4,功能獲得極大加強的SNOBOL,出現了。
1968
ALGOL68,相對於ALGOL60它是個怪物。一些規範委員會的成員——包括C.A.R.Hoare和NiklausWirth——卻贊同該計劃。事實證明ALGOL68是難以實現的。
ALTRAN,一個FORTRAN的變種出現。
COBOL被ANSI正式定義規範。
NiklausWirth開始Pascal方面的工作。
1969
500人參加在紐約Armonk的IBM總部召開的APL會議。APL的分發需求如此之大,該活動此後被人們稱為“TheMarchonArmonk”。
1970
70年代早期,CharlesMoore在他的語言Forth中寫下了第一個有意義的程序。
Prolog方面的工作大約在此時開始了。
同樣是在70年代早期的某一天,XeroxPARCAlanKay領導,開始了Smalltalk的設計工作。早期版本包括Smalltalk-72,Smalltalk-74和Smalltalk-76。
Pascal在CDC6000-series電腦上的一個實現出現了。
Icon,SNOBOL4的一個後代產品問世。
1972
KonradZuse寫的關於Plankalkul(見1946年)手稿終於出版了。
DennisRitchie設計了C。但是最終的參考手冊卻是在1974年發布的。
Prolog的第一個實現——AlainColmerauer和PhillipRoussel的功勞。
1974
另一個COBOL的ANSI規範出現。
1975
TinyBASIC,由BobAlbrecht和DennisAllison設計(由DickWhipple和JohnArnold實現),運行在2KB內存的微型計算機上。一台4KB的機器是較為合適的,它將有2KB的內存應用於這個程序上。
BillGates和PaulAllen編寫的一個BASIC版本以抽取每份拷貝版稅的形式銷售給MITS(MicroInstrumentationandTelemetrySystems)。MITS生產Altair,這是一種8080結構的微型計算機。
Scheme,一個LISP的“方言”,由G.L.Steele和G.J.Sussman設計。
Pascal用戶手冊和報告出版,Jensen和Wirth編寫。許多人至今都認為它是Pascal方面權威的參考書籍。
B.W.Kerninghan描述了RATFOR——RATionalFORTRAN。它是預處理程序,並且允許在FORTRAN中使用類C的控制結構。RATFOR被應用到了Kernighan和Plauger的“SoftwareTools”中,它出現在1976年。
1976
DesignSystemLanguage出現,它被認為是PostScript的先驅。
1977
MUMPSANSI標準出現——麻省總醫院多用途程序設計系統(MassachusettsGeneralHospitalUtilityMulti-ProgrammingSystem)。MUMPS最初被用來處理醫療記錄,它只能識別字元串類型。隨後被重新命名為M。
設計競賽將導致Ada的產生。由JeanIchbiah帶領的HoneywellBull隊伍,即將贏得比賽。
KimHarris和其他人建立了FIG,一個FORTH興趣小組。他們開發了FIG-FORTH,售價大約為20美元。
70年代晚期的某天,KennethBowles設計出了UCSDPascal,它使得Pascal可以用在PDP-11和基於Z80的電腦上。
NiklausWirth開始設計Modula,它Modula-2的先行者,Pascal的繼承者。
1978
AWK——一個文本處理語言,以它設計者Aho、Weinberger和Kernighan的名字命名。
FORTRAN77的ANSI標準出現。
1980
Smalltalk-80出現。
Modula-2出現。
FranzLISP出現。
BjarneStroustrup開發了一個語言集——被總稱為“CWithClasses”——它成為C++的滋生土壤。
1981
Effort開始成為一個LISP的“公共方言”,常被人稱作CommonLISP
日本開始第五代電腦系統工程。主要語言是Prolog。
1982
ISOPascal出現。
PostScript出現。
1983
Smalltalk-80公布:它由Goldberg等人完成。
Ada出現。他的名字來自Lovelace女伯爵AugustaAdaByron,她是英國詩人拜倫的女兒。因其在巴貝奇分析機上設計了解伯努利方程的一個程序,而被譽為第一位女程序員。在1983年,國防部指導的全新“任務評定”應用程序是使用該語言編寫的。
1983年的後期和1984年早期,微軟DigitalResearch共同發布第一個微型計算機的C編譯器。
七月,第一個C++實現露面。該名稱是由RickMascitti取的。
11月,BorlandTurboPascal的“衝擊”猶如一場核風暴,這得益於《BYTE》雜誌的廣告。
1984
APL2的參考手冊面世。APL2是APL的擴展,它允許嵌套數組。
1985
Forth控制著潛水器定位泰坦尼克的殘骸。
VanillaSNOBOL4之微機版發布。
Methods,PC上的面向行(line-oriented)的Smalltalk出現。
1986
Smalltalk/V露面——第一個廣泛應用於微機的Smalltalk版本。
Apple公司為Mac機器發布ObjectPascal
Borland發布TurboProlog。
CharlesDuff發布Actor,一個開發微軟Windows應用程序的面向對象語言。
Eiffel,另外一個面向對象語言出現。
C++露面。
1987
TurboPascal4.0發布。
1988
CLOS規範——公共LISP對象系統(CommonLISPObjectSystem)——發表。
NiklausWirth完成Oberon,這是他繼Modula-2的後續行動。
1989
ANSIC規範公布。
C++2.0形成了一個參考手冊的初稿。2.0版本增加了諸如多繼承和成員指針等特性。
1990
C++2.1,B.Stroustrup等作者的《AnnotatedC++ReferenceManual》一書出版。這個版本增加了模板和異常處理特性。
FORTRAN90包含了眾多新元素比如case語句和派生類型。
KennethIverson和RogerHui在APL90會議上提出了J語言。
1991
VisualBasic在COMDEX春展會上獲得《BYTE》雜誌頒發的最佳表現獎。
1992
Dylan——以DylanThomas命名——由Apple公司發布的一個類似Scheme的面向對象語言。
1993
ANSI發布X3J4.1技術報告——面向對象的COBOL提議初稿。真正的標準預計在1997年完成。
1994
微軟將VisualBasicforApplication整合到Excel中。
1995
二月,ISO接受Ada語言1995修訂版。它被稱為Ada95,其中包括OOP特性和支持實時系統。
1996
第一個ANSIC++標準預發布。