1. 程式人生 > >Basic 語言發展史

Basic 語言發展史

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的愛好者和使用者都和我一起等待這個新版本吧。