Loading AI tools
微軟的編程語言 来自维基百科,自由的百科全书
Visual Basic(VB)是由微軟公司開發的包含環境的事件驅動程式語言。它源自於 BASIC 程式語言。VB 擁有圖形化使用者介面(GUI)和快速應用程式開發(RAD)系統,可以輕易的使用 DAO、RDO、ADO 連接資料庫,或者輕鬆的建立 ActiveX 控制項。程式設計師可以輕鬆地使用 VB 提供的組件快速建立一個應用程式。
![]() | |
編程範型 | 物件導向、事件驅動 |
---|---|
實作者 | 微軟 |
釋出時間 | 1991年 |
目前版本 | |
型態系統 | 靜態、強型別 |
作業系統 | Microsoft Windows and MS-DOS |
網站 | http://msdn.microsoft.com/zh-cn/vstudio/hh388573 |
主要實作產品 | |
Microsoft Visual Studio | |
啟發語言 | |
BASIC | |
影響語言 | |
Visual Basic .NET, Gambas, REALbasic及Basic4ppc |
2020 年 3 月 11 日宣佈微軟不會再開發 VB 或增加功能(Going forward, we do not plan to evolve Visual Basic as a language)。
1991 年 4 月,Visual Basic 1.0 for Windows 版本發佈。1992 年 9 月,Visual Basic 1.0 for DOS 版本發佈。這個連接程式語言和用戶介面的進步被稱為 Tripod(有些時候叫做 Ruby),最初的設計是由阿蘭·庫珀(英語:Alan Cooper)完成的。這在當時引起了很大的轟動。許多專家把 VB 的出現當做是軟件開發史上的一個具有劃時代意義的事件。以現在的眼光來看,VB1.0 版的功能其實非常的弱,但它在推出當時可是第一個「可視」的編程軟件。這使得程式設計師欣喜之極,都嘗試在 VB 的平台上進行軟件創作。
1992 年 11 月,VB2.0 發佈。它對於上一個版本的介面和速度都有所改善。
1993 年夏天,VB3.0 發佈,分為標準版和專業版。其中包含一個數據引擎,可以直接讀取 Access 資料庫。這使得 VB 的資料庫編程能力大大提高。
1995 年 8 月,VB4.0 發佈了 32 位版本和 16 位的版本。其中包含了對類別的支援。從 VB4 開始,逐步引入了物件導向的程式設計思想。VB 功能強大,學習簡單。而且,VB 還引入了「控制項」的概念,使得大量已經編好的 VB 程式可以被我們直接拿來使用。
Visual Basic 1.0~4.0 都必須將原始碼編譯成 VB 偽代碼後解釋執行。
1997年2月,VB5.0 發佈。程式設計師可以用 32 位的版本匯入由 4.0 版本建立的 16 位程式,並且能順利編譯。同時還包含了對用戶自建控制項的支援。自從 Visual Basic 5.0 以後,VB 支援編譯成本機代碼,但必須在VB 執行庫的支援下工作。
1998年夏天,VB6.0 發佈。VB6 是 VB.NET 至今仍無法完全取代的版本。
2001 年,Visual Basic .NET 和 .NET Framework發佈。由於其使用了新的核心和特性,所以很多 VB 的程式設計師都要覆寫程式。
2002 年 Visual Basic .NET 2002(v7.0)問世,此後 Visual Basic 包含在 Visual Studio 套裝中。
2003 年 Visual Basic .NET 2003(v7.1)推出。
2004年,微軟開放了 Visual Studio .NET 2005 的測試版本(代號Whidbey)。包含了 .NET Framework2.0 的測試版本。2005 年 11 月 7 日 Visual Basic 2005(v8.0)發佈,同時為初學者與學生提供 Visual Basic 2005 的免費簡化版本 Express Edition。原定免費使用期限一年,之後微軟宣佈 Express 版本永久免費。微軟在其軟件名稱中去掉了 .NET 部分。Visual Basic 2005 的「顯著」優點是,可以直接編寫出 Windows XP 風格的控制項;但是其編寫的小程式就需要近 10MB 的主記憶體。
2008 年 2 月 1 日 Visual Basic 2008(v9.0)發佈。
通過幾年的發展,它已成為一種專業化的開發語言和環境。用戶可用 Visual Basic 快速建立 Windows 程式,現在還可以編寫企業水平的客戶/伺服器程式及強大的資料庫應用程式。
Visual Basic 10.0 按計劃於2010年3月22日隨 Visual Studio 2010 一起正式發佈[1]。
新加入的功能:
Visual Basic .NET 2002(7.0)及以後的版本執行在 .NET Framework 環境下。
![]() | 此章節尚無任何內容,需要擴充。 (2021年3月20日) |
Visual Basic 2015(VB 14.0)於2015年7月20日發佈。
微軟開發了一系列有關 VB 的手稿語言:
當微軟準備開發一種新的編成工具的時候,第一決定就是利用最搶手的VB6來進行修改,或者就是重新組建工程開發新工具。微軟後來開發了 VB 的繼任者 Visual Basic .NET,同時也是 .NET 平台的一部分。VB.NET 編成語言是一種真正的物件導向編成語言(VB4-VB6 祇能稱為基於對象而不是物件導向,最明顯的特徵就是 VB4-VB6 都不支援類的繼承),和傳統 Visual Basic 並不完全相容。
VB 的中心思想就是要便於程式設計師使用,無論是新手或者專家。VB 使用了可以簡單建立應用程式的 GUI 系統,但是又可以開發相當複雜的程式。VB 的程式是一種基於表單的視覺化組件安排的聯合,並且增加代碼來指定組建的屬性和方法。因為預設的屬性和方法已經有一部分定義在了組件內,所以程式設計師不用寫多少代碼就可以完成一個簡單的程式。過去的版本裏面 VB 程式的效能問題一直被放在枱面上討論,但是隨着電腦速度的飛速增加,關於效能的爭論已經越來越少。
表單控制項的增加和改變可以用拖放技術實現。一個排列滿控制項的工具箱用來顯示可用控制項(比如文本框或者按鈕)。每個控制項都有自己的屬性和事件。預設的屬性值會在控制項建立的時候提供,但是程式設計師也可以進行更改。很多的屬性值可以在執行時候隨着用戶的動作和修改進行改動,這樣就形成了一個動態的程式。舉個例子來說:表單的大小改變事件中加入了可以改變控制項位置的代碼,在執行時候每當用戶更改視窗大小,控制項也會隨之改變位置。在文本框中的文字改變事件中加入相應的代碼,程式就能夠在文字輸入的時候自動翻譯或者阻止某些字元的輸入。
VB 的程式可以包含一個或多個表單,或者是一個主表單和多個子表單,類別似於作業系統的樣子。有很少功能的對話方塊視窗(比如沒有最大化和最小化按鈕的表單)可以用來提供彈出功能。
VB 的組件既可以擁有用戶介面,也可以沒有。這樣一來伺服器端程式就可以處理增加的模組。
VB 使用參照計數的方法來進行垃圾收集,這個方法中包含有大量的對象,提供基本的物件導向支援。因為越來越多組建的出現,程式設計師可以選用自己需要的擴充庫。和有些語言不一樣,VB 對大小寫不敏感,但是能自動轉換關鍵詞到標準的大小寫狀態,以及強制使得符號表入口的實體的變數名稱遵循書寫規則。預設情況下字串的比較是對大小寫敏感的,但是可以關閉這個功能。
VB 使得大量的外界控制項有了自己的生存空間。大量的第三方控制項針對 VB 提供。VB 也提供了建立、使用和重用這些控制項的方法,但是由於語言問題,從一個應用程式建立另外一個並不簡單。
在討論 Visual Basic(不包含 .NET)時,經常可以聽到以下這些術語,因此掌握這些術語的基本理解對初學者十分有幫助。
On Error Goto
line"陳述式。Visual Basic .NET(VB 7.0)以後的版本基本支援了上述特性。
VB.NET 的具體變革如下:
Date
函數、Time
函數、部分數學函數部分不能直接使用,String
函數不能使用,DatePart
、DateAdd
、DateDiff
函數的第一個參數在定義上有所改變。Set
保留字不再使用。Wend
保留字以 End While
取代。+=
、-=
、/=
、*=
、&=
。這樣大的變革一度被認為是微軟為了延長 VB 的生命力而做出的,結果把 VB 改得幾乎面目全非,成了一個類別似於 C# 的新語言。VB6 的程式幾乎無法執行在 VB.NET 中,儘管微軟針對該問題提供了「升級精靈」,也無法執行徹底的轉換。這樣,程式設計師不得不付出相當大的精力,手工轉換代碼。
2005 年,微軟宣佈將不會再對非 .NET 版本的 VB 進行支援。VB 社群立即作出反應表示關心這個訊息,一些老用戶還遞交了希望能夠繼續對 VB 進行技術支援的請願書。微軟後續並沒有改變他們的決定,最終在 2008 年時微軟對從 1.0 到 6.0 的所有 Visual Basic 開發環境版本結束支援。
VB 是一種充滿了爭議的語言:很多程式設計師對 VB 程式的質素有強烈的反感。很多人認為 VB 不配他們使用,認為它是一種給兒童和菜鳥程式設計師的語言。它自從設計開始就是一種簡單的語言。一些 C++ 和 Java 中的特性在 VB 中並沒有出現。在感受開發的方便和快速的同時,一些類別似於編譯時進行類別型和聲明檢查的功能在預設情況下是關閉的。這樣一些程式設計師一邊感嘆 VB 的易用性,一邊沮喪地看着一些類別似於「未定義類別型」錯誤的發生。
一些批評家認為 VB 的簡單特性使得其在未來具有傷害性。很多人自學了 VB,但是並沒有學到好的編程習慣。當 VB 進入課堂的時候,學生們不會學到很多基礎的程式技術和結構,因為很多技術已經包含在那些對用戶可見的組件裏面了。不用學習標準的編程習慣,因為 VB 具有視覺化的特性,所以導致了一些莫名其妙的代碼的產生。而且很多錯誤和警告的檢查預設情況下都是關閉的,程式設計師很難找到隱藏的錯誤。有經驗的程式設計師在用 VB 編程的時候都會把這些選項打開。
但是很多 VB 的支持者解釋說 VB 的易用性就是它最大的優勢,可以讓經驗豐富的 VB 程式設計師或是剛剛懂得皮毛的人都能用自己的方式快速開發程式。而且 VB 的程式可以非常簡單的和資料庫連接。比如利用控制項可以繫結資料庫,這樣一來用 VB 寫出的程式就可以掌握資料庫的所有資訊而不用寫一行代碼。
很多語言的特性比如 GoSub
、On Error
和用變數名字的最後一個字元判斷宣告類別型(比如字串型 str$
)都是從BASIC中來的。VB 的語法和絕大部分語言都不同,可能會讓新的程式設計師混淆。比如宣告「Dim a, b, c As Integer
」宣告了 c
為整數變數,但是 a
,b
依然是 Variant
(.NET中 為 Object
)類別型的。(如果想宣告 3 個 Integer
,必須寫 Dim a As Integer, b As Integer, c as Integer
;而直接寫 Dim a
,後面不寫類別型,則自動變成 Variant
類別型——佔用大量資源。這個問題在 VB.NET 以後的版本已經解決,Dim a, b, c As Integer
的類別型都將為整數)
還有一些特性,比如底線字元 _
支援一行代碼分多行寫。一些程式設計師在使用的時候由於不符規範而引起錯誤。
VB 會吸引更多的讚譽和批評,也會繼續為廣大的用戶和程式設計師使用。它比較適合用來開發提供友好介面的程式(比如針對伺服器的數據),但是不適合開發需要進行繁重運算的程式(如聯合計算程式)。
對於初學程式設計者,VB是一個很好的入門軟件,對於一些有程式設計才能而未發掘的人,由 VB 着手可輕易引發他們的潛能,發揮他們在這方面的才華。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.