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