1. 編程語言發展史
VB編程語言歷史=========
Visual Basic從1991年誕生以來,現在已經13年了。BASIC是微軟的起家產品,微軟當然不忘了這位功臣。隨著每一次微軟技術的浪潮,Visual Basic都會隨之獲得新生。可以預見,將來無論微軟又發明了什麼技術或平台,Visual Basic一定會首先以新的姿態登上去的。如果你想緊跟微軟,永遠在最新的技術上最快速地開發,你就應該選擇Visual Basic。
1991-西雅圖夜空的雷電
隨著Windows 3.0的推出,越來越多的開發商對這個圖形界面的操作系統產生了興趣,大量的Windows應用程序開始涌現。但是,Windows程序的開發相對於傳統的DOS有很大的不同,開發者必須將很多精力放在開發GUI上,這讓很多希望學習Windows開發的人員卻步。1991年,微軟公司展示了一個叫 Thunder的產品,所有的開發者都驚呆了,它竟然可以用滑鼠「畫」出所需的用戶界面,然後用簡單的BASIC語言編寫業務邏輯,就生成一個完整的應用程序。這種全新的「Visual」的開發就像雷電(Thunder)一樣,給Windows開發人員開辟了新的天地。這個產品最終被定名為Visual Basic,採用事件驅動,Quick BASIC的語法和可視化的IDE。Visual Basic 1.0帶來的最新的開發體驗就是事件驅動,它不同於傳統的過程式開發。同時,VBX控制項讓可視化組件的概念進入Visual Basic。Visual Basic 1.0是革命性的BASIC,它的誕生也是VB史上的一段佳話。
Visual Basic 1.0
1992-漸入佳境的Visual Basic
由於Windows 3.1的推出,Windows已經充分獲得了用戶的認可,Windows開發也進入一個新的時代。Visual Basic 1.0的功能過於簡單,相對於Windows 3.1的強大功能沒有發揮出來。所以,微軟在1992年推出了新版本Visual Basic 2.0。這個版本最大的改進就是加入了對象型變數,比如
Dim b As CommandButton
Dim c As Control
而且有了最原始的「繼承」概念,對象型變數分為一般類型(Control和Form)和專有類型(CommandButton和Form1等),一般類型的變數可以引用專有類型的實例,甚至通過後期綁定訪問專有類型的屬性和方法。還可以通過TypeOf…Is運算符獲取對象實例的運行時類型信息(這個功能就是當今C#的is運算符或Java的instanceof運算符)。除了對語言的改進和擴充,Visual Basic 2.0對VBX有了很好的支持,許多第三方控制項涌現出來,極大地豐富了Visual Basic的功能。微軟還為Visual Basic 2.0增加了OLE和簡單的數據訪問功能。
Visual Basic 2.0標准版
Visual Basic 2.0專業版
1993-資料庫組件新添力量
Visual Basic 2.0推出沒幾個月,微軟就發布了新版本的Visual Basic 3.0,可以看出VB這時候旺盛的生命力。乍一看,Visual Basic 3.0的界面沒有太大的變化,但其實這個版本是非常及時的。它增加了最新的ODBC2.0的支持,Jet數據引擎的支持和新版本OLE的支持。最吸引人的地方是它對資料庫的支持大大增強了,Grid控制項和數據控制項能夠創建出色的數據窗口應用程序,而Jet引擎讓Visual Basic能對最新的Access資料庫快速地訪問。Visual Basic 3.0還增加了許多新的金融函數。此外還增加了相當多的專業級控制項,可以開發出相當水平的Windows應用程序。Visual Basic 3.0是98年以前中國最流行的Visual Basic版本,因為它開發出來的可執行文件非常小,通常能用一張軟盤裝下。不過,Visual Basic採用虛擬機運行P代碼的做法也讓很多開發者不滿,他們認為這樣程序運行的效率很低,這時候Visual Basic的競爭者Delphi也誕生了。
Visual Basic 3.0標准版
Visual Basic 3.0特別版
1995-第二次革命性變化,向COM進軍。
從1993年到1995年年中,Visual Basic一直沒有新的動靜,焦急的開發者都想一窺這個神秘的新版本到底發生了什麼變化。Visual Basic 4.0的BETA最後終於和大家見面了。這個版本包含了16位和32位兩個版本,16位的版本就像是Visual Basic 3.0的升級版,而32位版則是一場新的革命。首先,人們發現VBX控制項不見了,全部換成了OCX控制項,這個OCX可能是指OLE Custom Controls,這個OLE已經不是傳統的OLE了,用現在的話說,它就是COM控制項。第二個最大變化是Visual Basic 4.0所用的語言換成了Visual Basic For Application,這就和Office 95所採用的宏語言統一起來,這個新語言有很多亮點:
1、? 加入了「類模塊」。這是面向對象最重要的封裝性的基礎。
2、? 加入了屬性過程,加上函數過程,子程序過程,VB已經有組件開發所需的封裝性特徵。
3、? 加入了Byte類型、Boolean類型和Object類型。這大大完善了VB的類型系統。
4、? For Each語句和Collection對象。For Each語句給遍歷集合類型提供了極大的方便,現在可以在動態增長的Collection上使用For Each,而不用擔心集合內容的總數或煩人的下標問題。
這個版本的Visual Basic還能夠開發DLL工程,其實就是COM的DLL,可以將書寫好的類用這種方式和其他語言共享。
總之,這個4.0的版本為Visual Basic成為一種COM語言奠定了基礎。用Visual Basic 4.0開發基於COM的DLL比任何一種開發工具都方便。但是,Visual Basic 4.0的性能問題變得更加嚴重了,P-代碼的組件成為Visual Basic 4.0嚴重的性能瓶頸,而且巨大的運行庫也讓用戶感到不滿。Visual Basic 4.0對以前版本的支持也不好,使用了大量VBX的項目很難移植到Visual Basic 4.0中。因此,Visual Basic 4.0在中國的普及程度非常低。
Visual Basic 4.0
1997-Visual Basic的豐收年
1997年,微軟推出了Visual Basic 5.0,這個版本的重要性幾乎和4.0一樣高。COM(這時候叫ActiveX)已經相當成熟,Visual Basic 5.0當然對它提供了最強的支持。不過,國內還沒有意識到COM的重要性前主要對這個版本另一個最大的亮點十分關註:本地代碼編譯器。Visual Basic 5.0終於在用戶的呼聲中加入了一個本地代碼編譯器,它可以讓應用程序的效率大大提升。除了這個大家都知道的改進以外,Visual Basic 5.0對Visual Basic For Application語言有重大的完善和豐富:
5、? 事件。Visual Basic 5.0終於允許用戶自己創建事件,而且這事件的語法相當強健和完善,這在一種不支持函數回調的語言中是很難得的。現在,VB擁有屬性、方法和事件的完整封裝性。
6、? 介面。這是VB實現多態性的基礎。同時為編寫COM組件提供了更多方便。
7、? 枚舉。在Visual Basic 5.0中枚舉作為Long整型的子類型出現,用枚舉可以對常量進行完善的封裝。
8、? 類模塊的改進。通過類模塊的屬性可以指定類模塊具有多種指定的行為,如私有構造函數等,可以通過這個功能創建符合Singleton和Monostate模式的設計。
9、? Debug.Assert。雖然這個斷言系統有點雞肋,但是總算是給調試帶來了方便。
10、 Visual Basic 5.0支持創建自己的集合類。可以創建用於For Each語句的集合類型。
11、新的數據類型Decimal,可以精確地處理有效數位較多的計算。
Visual Basic 5.0的IDE支持「智能感知」,這是一項非常方便開發者的功能,可以不必記住很長的成員名稱和關鍵字,只要按「.」,想要的東西統統彈出來。
Visual Basic 5.0還支持開發自己的ActiveX 控制項、進程內的COM DLL組件、進程外的COM EXE組件以及在瀏覽器中運行的ActiveX文檔。這極大豐富了Visual Basic的開發能力,在Internet開發上,Visual Basic 5.0也能有所建樹。
Visual Basic 5.0學習版——我的第一份正版VB
1998-企業真正高效的源泉
Visual Basic 6.0作為Visual Studio 6.0的一員發布,證明微軟正在改變Visual Basic的產品定位,他想讓Visual Basic成為企業級快速開發的利器。Visual Basic 6.0在數據訪問方面有了很大的改進,新的ADO組件讓對大量數據快速訪問成為可能。數據環境和新的報表功能也讓數據開發有了全新的體驗。Visual Basic 藉助COM/COM+強大的功能,可以開發具有N層結構的分布式應用程序。同時,Visual Basic還可以在IIS上開發性能超群的Web應用程序。Visual Basic 6.0在語言方面和IDE方面的改進都不大,但是許多新增的組件成為Visual Basic開發人員手中的利器,如File System Object等。新的字元串函數Split和Replace等也給Visual Basic的程序員帶來很大方便。
總之Visual Basic 6.0已經是非常成熟穩定的開發系統,能讓企業快速建立多層的系統以及Web應用程序,成為當前Windows上最流行的Visual Basic版本。
Visual Basic 6.0
2002-第三次革命性變化,向.NET進軍
從1998年發布到2002年正式推出Visual Basic. NET簡直吊足了開發者的胃口。從2000年就開始傳言的具有繼承、Try…Catch語句等新功能的全新VB7.0一直沒有露面。直到2001 年,Visual Studio.NET的第一個BETA版問世的時候,所有人都呆了——這是Visual Basic嗎?And語句變成了BitAnd,數組只能從0下標開始,而且連Dim語句的意義都變了,幾乎所有的窗體控制項都變了,Long變成了 Integer而Integer變成了Short,Variant不見了,Static不能用了……簡直是翻天覆地,人們已經無暇關注這個版本有什麼改進,轉而擔心我怎麼才能接受這個本本了。其實Visual Basic. NET完全是為了.NET Framework這一全新的平台而設計的,Visual Basic. NET的設計者一開始沒有掌握好新平台和舊語言的平衡。到了BETA2中,很多東西回歸了6.0,如BitAnd又變回了And,數組的定義語句也變回了原有的意義,Static也回到了Visual Basic中。但是BETA1驚人的變化讓所有的VB開發者怕了,他們覺得這種語言被改的千瘡百孔,有些人乾脆轉去研究傳說中的新語言C#。但是 Visual Basic. NET渡過幾個BETA版本之後還是找到了正確的定位。Visual Basic. NET有對CLR最完善的支持,同時盡量保留著BASIC易懂的語法風格和易用性。這個版本新增加的功能已經數不清,最重要的幾個是:
1、? 繼承。至此,Visual Basic完成了向面向對象轉變的道路。
2、? 共享成員。
3、? Try…Catch結構化異常處理。
4、? Delegate和Interface。
5、? 名稱空間。
6、? 對自由線程的支持。
特別的是,Visual Basic. NET大大減少了Visual Basic語言的關鍵字,如GoSub、PSet等等。原先的Visual Basic有多達120個關鍵字,這給寫程序帶來了很大的不便,現在經過精簡,Visual Basic脫下了這個沉重的包袱。
Visual Basic. NET現在是一門現代的、強壯的、面向對象的、簡單的可視化開發語言。強大的語言功能吸引了很多開發者。歷史是在不斷重演的,Visual Basic. NET如今的處境和Visual Basic 4.0很相似,由於兼容性變差,人氣也降低了。同時由於依附於.NET Framework,程序發布造成了一定的困難。現在國內使用Visual Basic. NET的人相對於Visual Basic 6.0來講顯得很少。但是憑借Visual Basic. NET強大的語言功能和MS的支持,Visual Basic. NET一定會顯出它的光輝來。
2003-穩中求變的新版本
Visual Basic. NET 2003是一個相當穩重的版本,改變很少,但對小處有很多改進。首先Visual Basic 6.0升級向導做了很大改進,這給從老版本痛苦升級的人帶來了更多一些的希望。其次在IDE方面,Visual Basic. NET 2003修正了許多錯誤,還讓事件處理恢復了6.0的開發體驗。語言方面只有兩項改進:
1、? 在For、For Each語句中聲明循環變數。
2、? 增加了數學移位運算符<<和>>。
在這個比較成熟穩定的新版本下,許多Visual Basic的愛好和開始重新了解Visual Basic. NET,社區裡面也漸漸熱鬧起來。但是,有些使用C#的開發者堅持認為Visual Basic. NET是垃圾,盡管Visual Basic. NET擁有比C#更多的功能和更好的IDE。這說明不了解Visual Basic. NET成為它普及的最大障礙。
2005-完美主義的Visual Basic,能否再現輝煌?
為了讓Visual Basic有最佳的開發體驗,Visual Basic 2005的設計者絞盡了腦汁。這次Visual Basic 2005光語言上的改進就足以讓Visual Basic的開發人員高興一陣子。大家可以去看看我那篇介紹Visual Basic 2005新增功能的貼子。挑重要的列在下邊:
1、? 泛型
2、? 運算符重載
3、? Partial Type
4、? 窗體的默認實例(讓你用VB6的語法使用窗體)
5、? 語法的多種改進
6、? My關鍵字
現在用Visual Basic 2005隻要一行代碼就可以讀寫注冊表、訪問文件、讀寫串口、獲取應用程序信息…… 用Visual Basic 2005完全可以稱作享受開發。而泛型、運算符重載等功能又可以讓Visual Basic的開發人員深入.NET Framework的全部功能,開發出最優秀的應用程序。
Visual Basic 2005預示著Visual Basic光明的前景,所有Visual Basic的愛好者和使用者都和我一起等待這個新版本吧。
C++編程語言歷史========
C++是從C語言發展而來的,而C語言的歷史可以追溯到1969年。 在1969年,美國貝爾實驗室的Ken Thompson為DEC PDP-7計算機設計了一個操作系統軟體,這就是最早的UNIX。接著,他又根據劍橋大學的Martin Richards設計的BCPL語言為UNIX設計了一種便於編寫系統軟體的語言,命名為B。B語言是一種無類型的語言,直接對機器字操作,這一點和後來的C語言有很大不同。作為系統軟體編程語言的第一個應用,Ken Thompson使用B語言重寫了其自身的解釋程序。 1972—1973年間,同在貝爾實驗室的Denis Ritchie改造了B語言,為其添加了數據類型的概念,並將原來的解釋程序改寫為可以在直接生成機器代碼的編譯程序,然後將其命名為C。1973 年,Ken Thompson小組在PDP-11機上用C重新改寫了UNIX的內核。與此同時,C語言的編譯程序也被移植到IBM 360/370、Honeywell 11以時VAX-11/780等多種計算機上,迅速成為應用最廣泛的系統程序設計語言。然而,C語言也存在一些缺陷,例如類型檢查機制相對較弱、缺少支持代碼重用的語言結構等,造成用C語言開發大程序比較困難。為了克服C語言存在的缺點,貝樂實驗室的Bjarne Stroustrup博士及其同事開始對C語言進行改進和擴充,將「類」的概念引入了C語言,構成了最早的C++語言(1983)。後來,Stroustrup和他的同事們又為C++引進了運算符重載、引用、虛函數等許多特性,並使之更加精煉,於1989後推出了AT&T C++ 2.0版。隨後美國國家標准化協會ANSI(American National Standard Instiute)和國際標准化組織ISO(International Standards Organization)一起進行了標准化工作,並於1998年正式發布了C++語言的國際標准ISO/IEC:98-14882。各軟體商推出的 C++編譯器都支持該標准,並有不同程序的拓展。 C++支持面向對象的程序設計方法,特別適合於中型和大型的軟體開發項目,從開發時間、費用到軟體的重用性、可擴充性、可維護性和可靠性等方面,C++均具有很大的優越性。同時,C++又是C語言的一個超集,這就使得許多C代碼不經修改就可被C++編譯通過。
JAVA編程語言歷史=========
Java,是一種可以編寫跨平台應用軟體的面向對象的程序設計語言,由Sun(太陽微電子,Sun Microsystems)公司的James Gosling等人於1990年代初開發。它最初被命名為Oak,作為一種小家用電器的編程語言,來解決諸如電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通訊問題。由於這些智能化家電的市場需求沒有預期的高,Sun放棄了該項計劃。就在Oak幾近夭折之時,隨著Internet的發展,Sun看到了 Oak在計算機網路上的廣闊應用前景,於是改造了Oak,在1995年5月以"Java"的名稱正式發布了。Java伴隨著Internet的迅猛發展而發展,逐漸成為重要的Internet編程語言。
Java編程語言的風格十分接近C++語言。Java繼承了C++語言面向對象技術的核心,舍棄了C++語言中的指針(以引用取代)、運算符重載、多重繼承(以介面取代)等成分,增加了自動垃圾收集功能用於回收不再被引用的對象所佔據的內存空間。在J2SE1.5版本中Java又引入了泛型編程、類型安全的枚舉、不定長參數和自動裝/拆箱等語言特性。
Java不同於一般的編譯執行計算機語言和解釋執行計算機語言。它首先將源代碼編譯成位元組碼,然後依賴各種不同平台上的虛擬機來解釋執行位元組碼,從而實現了「一次編譯、到處執行」的跨平台特性。不過,這同時也在一定程度上降低了Java程序的運行效率。
Sun公司對Java編程語言的解釋是:Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。
Java平台是基於Java語言的平台。這樣的平台目前非常流行,因此微軟公司推出了與之競爭的.NET平台以及模仿Java的C#語言。
目前Java提供以下三個版本:
J2ME(Java 2 Platform, Micro Edition):微型版的Java平台
J2SE(Java 2 Platform, Standard Edition):標准版的Java平台
J2EE(Java 2 Platform, Enterprise Edition):企業版的Java平台
Java的歷史:
1995年5月23日,Java語言誕生
1996年1月,第一個JDK-JDK1.0誕生
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
1996年9月,約8.3萬個網頁應用了JAVA技術來製作
1997年2月18日,JDK1.1發布
1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月,JavaDeveloperConnection社區成員超過十萬
1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業平台J2EE發布
1999年6月,SUN公司發布Java的三個版本:標准版、企業版和微型版(J2SE、J2EE、J2ME)
2000年5月8日,JDK1.3發布
2000年5月29日,JDK1.4發布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機
2001年9月24日,J2EE1.3發布
2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發布,是Java語言的發展史上的又一里程碑事件。為了表示這個版本的重要性,J2SE1.5更名為J2SE5.0
2. 1、程序設計語言經歷了 、 、 三個主要發展階段。
計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的歷程。
第一代機器語言
機器語言是由二進制 0、1 代碼指令構成,不同的 CPU 具有不同的指令系統。機器語言程序難編寫、難修改、難維護,需要用戶直接對存儲空間進行分配,編程效率極低。這種語言已經被漸漸淘汰了。
第二代匯編語言
匯編語言指令是機器指令的符號化,與機器指令存在著直接的對應關系,所以匯編語言同樣存在著難學難用、容易出錯、維護困難等缺點。但是匯編語言也有自己的優點:可直接訪問系統介面,匯編程序翻譯成的機器語言程序的效率高。
第三代高級語言
高級語言是面向用戶的、基本上獨立於計算機種類和結構的語言。其最大的優點是:形式上接近於算術語言和自然語言,概念上接近於人們通常使用的概念。高級語言的一個命令可以代替幾條、幾十條甚至幾百條匯編語言的指令。
因此,高級語言易學易用,通用性強,應用廣泛。高級語言種類繁多,可以從應用特點和對客觀系統的描述兩個方面對其進一步分類。
(2)程序設計的發展歷史擴展閱讀:
程序設計語言的特性:程序設計語言具有心理工程及技術等特性。
1、心理特性:歧義性、簡潔性、局部性、順序性、傳統性。
2、工程特性:可移植性,開發工具的可利用性,軟體的可重用性、可維護性。
3、技術特性:支持結構化構造的語言有利於減少程序環路的復雜性,使程序易測試、易維護。
3. 程序設計語言的發展歷程與走向
最先是C語言,然後是C+、C++,最新的是C++++,也就是C#
4. 簡述計算機程序設計語言的發展歷程。
在過去的幾十年間,大量的程序設計語言被發明、被取代、被修改或組合在一起。盡管人們多次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。
之所以有那麼多種不同的編程語言存在的原因是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距非常大,而有許多語言並對新手來說太難學;還有,不同程序之間的運行成本各不相同。
有許多用於特殊用途的語言,只在特殊情況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被廣泛用於操作系統和編譯器的開發。
高級程序設計語言的出現使得計算機程序設計語言不再過度地依賴某種特定的機器或環境。這是因為高級語言在不同的平台上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的編程語言之一FORTRAN的一個主要目標,就是實現平台獨立。
(4)程序設計的發展歷史擴展閱讀:
如果所使用的翻譯的機制是將所要翻譯的程序代碼作為一個整體翻譯,並之後運行內部格式,那麼這個翻譯過程就稱為編譯。
因此,一個編譯器是一個將可閱讀的程序文本作為輸入的數據,然後輸出可執行文件。所輸出的可執行文件可以是機器語言,由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。
如果程序代碼是在運行時才即時翻譯,那麼這種翻譯機制就被稱作解譯。經解譯的程序運行速度往往比編譯的程序慢,但往往更具靈活性,因為它們能夠與執行環境互相作用。
5. 高級程序設計語言的發展歷史
由於抄機器語言和匯編語言都離不開具體的機器指令系統,用他們編程時要求程序員必須熟悉所用計算機的硬體特性,經過多年的研究,後來推出了第一個高級語言"FORTRAN」。然後就開始了面向過程語言的前期發展,後來又不斷推出了BASIC、PASCAL、C……又隨著人們思想的發展,面向對象的語言開始出現,C++、JAVA、C#……現在面向對象已成為軟體編程的一種趨勢。
6. 計算機程序設計語言的發展歷史
在過去的幾十年間,大量的程序設計語言被發明、被取代、被修改或組版合在一起。盡管人們多權次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。之所以有那麼多種不同的編程語言存在的原因是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距非常大,而有許多語言並對新手來說太難學;還有,不同程序之間的運行成本(runtime cost)各不相同。
有許多用於特殊用途的語言,只在特殊情況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被廣泛用於操作系統和編譯器的開發(所謂的系統編程)。
高級程序設計語言(也稱高級語言)的出現使得計算機程序設計語言不再過度地倚賴某種特定的機器或環境。這是因為高級語言在不同的平台上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的編程語言之一FORTRAN的一個主要目標,就是實現平台獨立。
7. 程序設計理論的發展歷程
70年代中期以後,程序設計理論朝多方向發展。第一,對程序設計的范型進行研究。最版主要的程序設權計范型有:邏輯式程序設計,函數式程序設計,面向對象的程序設計。第二,軟體生產自動化研究。這種研究的主要目的是希望能像工業生產自動化那樣,使程序設計的某些過程實現自動化,從而提高軟體生產率,保證程序正確性。這方面研究的主要成果是形式化軟體開發方法,其目標是為使用者提供一整套思維方法和描述、開發手段,如規范描述的原則、程序開發的一般過程、描述語言等等,使開發者能利用數學概念和表示方法恰當合理地構造形式規范,根據開發過程的框架及設計原則進行規范描述和系統化的設計精化,並使用證明的概念對規范的性質和設計步驟進行分析和驗證。第三,發展新應用領域中的程序設計理論與方法,例如並行程序設計,實時程序設計,混雜系統的程序設計等等。
8. 程序設計方法學的發展歷史
1950年代—1960年代初,手工藝式的程序設計方法,高德納把程序稱為藝術品。
1960年代末—1970年代初,出現軟體危機:一方面需要大量的軟體系統,如操作系統、資料庫管理系統; 另一方面,軟體研製周期長,可靠性差,維護困難。編程的重點:希望編寫出的程序結構清晰、易閱讀、易修改、易驗證,即得到好結構的程序。
1968年,北大西洋公約組織(NATO)在西德召開了第一次軟體工程會議,分析了危機的局面,研究了問題的根源,第一次提出了用工程學的辦法解決軟體研製和生產的問題,本次會議可以算做是軟體發展史上的一個重要的里程碑。
1969年,國際信息處理協會(IFIP)成立了「程序設計方法學工作組」,專門研究程序設計方法學,程序設計從手工藝式向工程化的方法邁進。 1968 年,結構化程序設計方法的研究。Dijkstra 提出了「GOTO是有害的」,希望通過程序的靜態結構的良好性保證程序的動態運行的正確性。
1969 年,Wirth 提出採用「 自頂向下逐步求精、分而治之」 的原則進行大型程序的設計。其基本思想是:從欲求解的原問題出發,運用科學抽象的方法,把它分解成若干相對獨立的小問題,依次細化,直至各個小問題獲得解決為止。 1967年,Floyd 提出用「 斷言法」 證明框圖程序的正確性。
1969年,Hoare 在Floyd 的基礎上,定義了一個小語言和一個邏輯系統。此邏輯系統含有程序公理和推導規則,目的在於證明程序的部分正確性,這就是著名的Hoare邏輯。他的工作為公理學語義的研究奠定了基礎。
1973年,Hoare和Wirth把PASCAL語言的大部分公理化。
1975年,一個基於公理和推導規則的自動驗證系統首次出現。
1979年,出現了用公理化思想定義的程序設計語言Euclid。
1976年,Dijkstra提出了最弱前置謂詞和謂詞轉換器的概念,用於進行程序的正確性證明和程序的形式化推導。
1980年,D.Gries綜合了以謂詞演算為基礎的證明系統,稱之為「程序設計科學」。首次把程序設計從經驗、技術升華為科學。
1974年,人們利用模態邏輯驗證並行程序的正確性。
關於程序正確性證明的爭論:
懷疑和反對派,理由:首先,形式證明太復雜,誰能夠保證證明本身沒有錯誤呢!其次,程序寫好後再證明其正確性,相當於「 馬後炮」 ,即錯誤已經鑄成,證明何能補救?
折中的方案:編寫程序,邊考慮證明。即程序設計與正確性證明同時並行考慮。 利用Dijkstra 的謂詞轉換器及其演算規則集合,可以推導出正確的程序。
利用程序變化構造正確的程序。它對程序應用一連串的保護正確性的變換規則,最終得到可執行的程序。程序變換是1970年代以來,「程序設計方法學」 研究的重要方面,是程序設計自動化很有希望的途徑之一。遞歸程序變換是這一時期的最有意義的成果。 如Burstall 和Darlington 的遞歸程序變換系統等。
邏輯程序設計和函數程序設計代表一種新的研究方向。Prolog是以謂詞邏輯的子集(Hoare 子句)為基礎的一種形式系統。Prolog 的執行過程就是執行邏輯上消解演算法的過程。 抽象數據類型是程序設計方法學中一種極為重要的方法。人們把它譽為程序設計方法學發展史上的一個重要的里程碑。
9. 簡述計算機編程語言發展歷史
fortran、algol、cobol、lisp(和其各種scheme方言)、ada、pascal、basic、smalltalk等等,還有許多,找本關於計算科學的歷史內書看看就知道了,容或到wikipedia去查相關目錄。fortran主要用於科學計算,現有的程序庫是大多是用其編寫的;C的發明借鑒了algol的內容;過去商務計算大都用cobol,因為cobol和英語很接近;lisp多用於人工智慧領域,當然用來描述演算法也是很好的,其它的就不多說了,自己查查吧。
10. 電腦編程的發展歷程
BASIC語言自其問世經歷了以下四個階段:
第一階段:(1964年~70年代初) 1964年BASIC語言問世。
第二階段:(1975年~80年代中) 微機上固化的BASIC
第三階段:(80年代中~90年代初) 結構化BASIC語言。
第四階段:(1991年以來) Visual BASIC
BASIC是種易學易用的高級語言,非常適合初學者學習運用。常用的編譯軟體有True BASIC,Turbo BASIC Quick BASIC,Visual BASIC,CAREALIZER,GFA BASIC,POWER BASIC,等等......
1991年,微軟推出了Visual Basic1.0版。這在當時引起了很大的轟動。許多專家把VB的出現當做是軟體開發史上的一個具有劃時代意義的事件。其實,以我們現在的目光來看,VB10的功能實在是太弱了。但在當時,它是第一個「可視」的編程軟體。這使得程序員欣喜之極,都嘗試在VB的平台上進行軟體創作。微軟也不失時機地在四年內接連推出VB20,VB30,40三個版本。並且從VB3開始,微軟將ACCESS的資料庫驅動集成到了VB中,這使得VB的資料庫編程能力大大提高。從VB4開始,VB也引入了面向對象的程序設計思想。VB功能強大,學習簡單。而且,VB還引入了「控制項:的概念,使得大量已經編好的VB程序可以被我們直接拿來使用,如今,VB已經有了6.0版。
通過幾年的發展,它已成為一種真真專業化的開發語言和環境。用戶認為可用Visual Basic快速創建Windows程序,在現在還可以編寫企業水平的客戶/伺服器程序及強大的資料庫應用程序,Visual Basic新版中還有更多可用功能。
另外,最流行和實用的C語言,C++等都有發展的前景,而且也是最近幾年人們探索的領域。