1991年,微軟推出了Visual Basic 1.0版本。這在當時引起了很大的轟動。這種連接編程語言和用戶界面的開發被稱為Tripod(有時被稱為Ruby),最初的設計是由艾蘭·庫伯完成的。許多專家認為VB的出現是軟件發展史上劃時代的事件。其實從我們目前來看,VB1.0的功能真的太弱了;(不過最近VB6.0,功能挺大的!)。但在當時,它是第壹個“可視化”編程軟件。這讓程序員們樂此不疲,紛紛嘗試在VB這個平臺上創作軟件。微軟也不失時機地在四年內推出了VB2.0、VB3.0、VB 4.0三個版本。而從VB3開始,微軟將ACCESS的數據庫驅動集成到VB中,大大提高了VB的數據庫編程能力。從VB4開始,VB也引入了面向對象編程的思想。VB功能強大,簡單易學。而且VB還引入了“控件”的概念,使得大量已經編譯好的VB程序可以被我們直接使用。VB1.0的DOS版本發布於1991。這種連接編程語言和用戶界面的開發被稱為Tripod(有時被稱為Ruby),最初的設計是由艾蘭·庫伯完成的。
在2002年。NET 2002 (v7.0)出來了,2003年,Visual Basic。NET 2003 (v7.1),2005年,Visual Basic 2005 (v8.0)問世。同時針對Visual Basic的初學者和學生推出了免費的Visual Basic 2005簡化版Visual Basic 2005速成版。
VB 2005的顯著優點是可以直接編寫XP風格的按鈕和其他控件。但是它寫的小程序占用了將近10MB的內存。
經過幾年的發展,已經成為壹種專門的開發語言和環境。用戶可以用Visual Basic快速創建Windows程序,現在可以編寫企業級的客戶機/服務器程序和功能強大的數據庫應用程序。
VB會引來更多的褒貶,會繼續被用戶和程序員使用。非常適合開發界面友好的程序(比如終端用數據),不適合開發其他程序(比如聯合計算程序)。
現在有壹些簡化版的VB軟件,比如VB6的簡化版。
語言特征
壹個典型的VB進程VB的中心思想是讓程序員容易使用,不管是新手還是專家。VB使用的GUI系統可以簡單地構建應用程序,但也可以開發相當復雜的程序。VB程序是基於窗體的可視化組件排列組合,並添加代碼來指定組成的屬性和方法。因為組件中已經部分定義了默認的屬性和方法,所以程序員不用寫太多代碼就可以完成壹個簡單的程序。在過去的版本中,VB程序的性能已經放到了桌面上,但是隨著計算機速度的快速提升,關於性能的爭論已經越來越少了。
表單控件的添加和更改可以通過拖放技術來實現。壹個裝滿控件的工具箱用於顯示可用的控件(如文本框或按鈕)。每個控件都有自己的屬性和事件。默認屬性值是在創建控件時提供的,但程序員也可以更改它們。許多屬性值可以在運行時隨著用戶的動作和修改而改變,從而形成壹個動態的程序。例如,可以更改控件位置的代碼被添加到窗體大小更改事件中,每當用戶在運行時更改窗口大小時,控件都會更改其位置。通過在文本框中的文本變化事件中添加相應的代碼,程序可以在輸入文本時自動翻譯或阻止某些字符的輸入。
VB程序可以包含壹個或多個窗體,或者壹個主窗體和多個子窗體,類似於操作系統的外觀。功能很少的對話框窗口(比如沒有最大化和最小化按鈕的窗體)可以用來提供彈出功能。
VB的組件可能有也可能沒有用戶界面。這樣,服務器端程序可以處理添加的模塊。
VB使用參數計算的方法來收集垃圾,垃圾中包含了大量的對象,並提供了基本的面向對象支持。因為越來越多組的出現,程序員可以選擇自己需要的擴展庫。與某些語言不同,VB不區分大小寫,但可以自動將關鍵字轉換為標準大小寫狀態,並強制符號表中實體的變量名遵循書寫規則。默認情況下,字符串比較區分大小寫,但是可以關閉此功能。
VB使得大量的外部控件有了自己的生存空間。為VB提供了大量的第三方控件。VB還提供了構建、使用和重用這些控件的方法,但是由於語言問題,從壹個應用程序創建另壹個並不容易。
學期
在討論Visual Basic時,您經常會聽到以下術語,因此對這些術語有壹個基本的了解非常有幫助。
控件——簡單來說,控件就是壹個圖形化的工具,用來形成或構建壹個Visual Basic應用程序,包括表單、按鈕、復選框、列表框、數據控件、表格控件、圖片控件等等。
事件-由用戶或操作系統觸發的操作。事件的例子有擊鍵、鼠標點擊、雙擊鼠標、時間限制或從端口接收數據。
方法——嵌入在對象定義中的程序代碼,它定義了對象如何處理信息和響應事件。例如,數據庫對象具有打開記錄集並從壹條記錄移動到另壹條記錄的方法程序的基本元素。它包含定義其特征、定義其任務和標識其可以響應的事件的屬性。控件和窗體是Visual Basic中所有對象的示例。
對象-控件、窗體等。可以看作是壹個物體。
過程-為完成特定任務而編寫的代碼段。過程通常用於響應特定事件,也可以用作應用程序的自定義功能。
屬性-屬性是組成用戶界面的對象屬性的具體描述。比如上面提到的“對象”的大小、位置、顏色、寬度、高度等等都稱為控件的屬性。屬性決定了對象的外觀,有時還決定了對象的行為。對象的大部分屬性在VB中已經預先定義好了,但是有些屬性需要在應用過程中定義。屬性可以為對象提供數據並從中檢索信息。
VB的局限性
繼承。VB5和VB6都是面向對象的編程語言,但是它們不包含繼承特性。VB提供了特殊的類函數,但還是滿足不了程序員的需求。包含所有面向對象的特性。
多線程支持(2002及以後的版本,都支持多線程技術。)
異常處理。Try-Catch-Finally用於處理異常。在VB中,只有壹個錯誤Goto line語句。
對指針的支持非常有限。
VB只能支持8-32位整形,很多語言無限支持。
VB不允許在任何數組中有不可變的變量。
VB不支持上述功能,需要程序員自己構造方法來實現類似的功能。
辯論
反對:
VB是壹種有爭議的語言:許多程序員對VB程序的質量有強烈的感受。很多人覺得VB不適合他們,覺得是小孩子和程序員新手的語言。從設計之初,它就是壹種簡單的語言。C++和Java中的壹些特性在VB中沒有出現。在感受到開發的便利性和速度的同時,壹些類似於編譯時類型和聲明檢查的功能是默認關閉的。壹些程序員在感嘆VB可用性的同時,普遍沮喪地看著壹些類似“未定義類型”的錯誤發生。
壹些評論家認為VB的簡單特性使它在未來變得有害。很多人自學了VB,但是沒有學到好的編程習慣。VB進入課堂,學生不會學到很多基礎的程序技術和結構,因為很多技術已經包含在那些用戶看得見的組件裏了。不需要學習標準的編程習慣,因為VB有可視化的特點,導致壹些莫名其妙的代碼。此外,許多錯誤和警告在默認情況下是被檢查的,這使得程序員很難發現隱藏的錯誤。有經驗的程序員在用VB編程時會打開這些選項。
許多評論家批評微軟只是簡單地將BASIC的思想復制到VB中。著名計算機科學家Edsger Dijkstra有壹句名言,“如果壹個學生最早已經學會了BASIC,那麽他幾乎不可能學會優秀的編程:因為這些人已經放棄了涅槃的希望。”(Dijkstra對Fortran,PL/1,COBOL,APL也毫不留情。)
另壹個笑話是:“真正的程序員不用BASIC。只有12歲以下的孩子才能使用。”
它不是很簡單,它開發的程序只能在微軟Windows下運行。
太大了。Visual Studio需要幾張磁盤來安裝。VB程序在運行時也需要壹個大小為1.4M的運行時。
IDE中有壹個錯誤。
VB不能很好的綜合Windows的基本API,經常用低級操作的“招數”來編程。C語言的低級內存操作比VB簡單多了。
支持這個觀點:
然而,許多VB的支持者解釋說,VB的易用性是它最大的優勢,它可以讓有經驗的VB程序員或剛剛了解壹點它的人以自己的方式快速開發程序。而且,VB程序可以非常簡單的與數據庫連接。比如可以用壹個控件綁定壹個數據庫,這樣用VB寫的程序不用寫壹行代碼就可以掌握數據庫的所有信息。
很多語言特性,比如GoSub,On Error,通過變量名的最後壹個字符判斷聲明類型(比如string str$),都是來自VB。VB的語法不同於大多數語言,這可能會讓新程序員感到困惑。比如“Dim a,b,c As Integer”語句聲明c是整型變量,但a和b都是Variant類型。{這裏我解釋壹下,如果要聲明三個整數,必須把dim a寫成integer,b寫成integer,c寫成integer;而直接寫Dim a,後面不寫類型,會自動變成Variant type——占用大量資源。}還有壹些特性,比如壹行代碼寫成多行時使用的下劃線字符“_”。壹些程序員在使用它時報告錯誤,因為它不是標準化的。
發展時間表
1991 4月,Visual Basic 1.0 Windows版發布。
1992年9月,Visual Basic 1.0 DOS版本發布。
1992 165438+10月,由VB2.0發布,對之前版本的界面和速度進行了改進。
1993年夏天,VB3.0發布,分為標準版和專業版。它包含壹個數據引擎,可以直接讀取Access數據庫。
1995年8月,VB4.0發布了32位版本和16位版本。它包括對類的支持。
1997二月,VB5.0發布。程序員可以用32位版本導入4.0版本創建的16位程序,並順利編譯。同時,它還支持用戶構建的控件。
1998年夏天,VB6.0發布。
2001,由視覺Basic.net和。NET框架。由於其新的核心和特性,許多VB程序員不得不重寫他們的程序。
2003年,視覺Basic.net 2003和。NET框架1.1發布。
2004年,微軟開放了Visual Studio 2005的測試版(代號Whidbey)。包含測試版的。網絡框架2.0
2005年,微軟宣布不再支持非。NET版本的VB。VB社區立即作出回應,對這壹消息表示關註。壹些老用戶也提交了請願書,希望繼續為VB提供技術支持。微軟還不願意改變他們的決定。
源於VB的壹種語言
微軟開發了壹系列關於VB的腳本語言:
visual Basic for Applications VBA包含在Microsoft應用程序(如Microsoft Office)和第三方產品(如WordPerfect Office)中。VBA被嵌入到各種應用中,看似矛盾,但功能卻和VB壹樣強大。
VBScript是默認的ASP語言,也可以用於Windows腳本和網頁編碼。雖然它的語法類似於VB,但它是壹種完全不同的語言。VBS不與VB運行時壹起運行,而是由Windows腳本宿主解釋和執行。兩種語言的差異影響了ASP網站的性能。
當微軟準備開發壹個新的編程工具時,第壹個決定是用最搶手的VB6來做舊改,還是重新建立壹個新的工程開發工具。微軟後來開發了Visual Basic。NET,它是VB的繼承者,也是。NET平臺。VB.net編程語言是真正的面向對象編程語言,與VB並不完全兼容。
關於About。
visual Studio.net 2005於2005年6月7日發布。
可視化Basic.NET(簡稱VB.NET)是新壹代的VB。不是VB 6.0的簡單升級,VB.NET和VB差別很大。其新特點主要表現在以下幾個方面:
1.VB.NET完全集成到Visual Studio集成開發環境中,與VB有幾個方面的不同。主要體現在表單和菜單的布局不同。
2.VB.NET項目不同於VB。它使用基於文件夾的模型,所有項目都放在項目文件夾層次結構中。
3.VB.NET使用ADO.NET訪問數據庫,ADO.NET是。NET框架。在VB中實現數據訪問有兩種重要的方法。NET:壹個是創建並配置DataAdapter DataAdapter,生成數據集;在規劃階段;二是動態創建配置數據適配器,在運行過程中通過編程創建和生成數據集。
4.在VB.NET,ASP.NET技術被用來編寫網頁。ASP.NET用的不是腳本語言,而是真正的編程語言。用ASP。NET的Web應用程序、XML Web Services等基於Web的功能,VB.NET的網頁開發與Windows應用程序的開發非常相似,網頁的代碼也組織得很好。
5.VB.NET已經成為壹種完全面向對象的編程語言。