
字詞轉換是中文維基的一項自動轉換,目的是通過電腦程式自動消除繁簡、地區詞等不同用字範式的差異,以達到閱讀方便。
字詞轉換包括全域轉換和手動轉換,本說明所使用的標題轉換和全文轉換技術,都屬於手動轉換。
Visual Basic(VB)是由微軟公司開發的包含協助開發環境的事件驅動程式語言。從任何標準來說,VB都是世界上使用人數最多的語言——不僅是盛讚VB的開發者還是抱怨VB的開發者的數量。它源自於BASIC程式語言。VB擁有圖形使用者介面(GUI)和快速應用程式開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連線資料庫,或者輕鬆的創建ActiveX控制項。程式設計師可以輕鬆的使用VB提供的零件快速建立一個應用程式。
目錄 |
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 版本永久免費。Visual Basic 2005的「顯著」優點是,可以直接編寫出 Windows XP 風格的控制項;但是其編寫的小程式就需要近 10MB 的記憶體。
2008年2月1日 Visual Basic 2008 (v9.0) 發布。
透過幾年的發展,它已成為一種專業化的開發語言和環境。用戶可用 Visual Basic 快速創建 Windows 程式,現在還可以編寫企業水平的客戶/伺服器程式及強大的資料庫應用程式。
Visual Basic .NET 2002(7.0) 及以後的版本運行在 .NET Framework 環境下。
微軟開發了一系列有關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 7 以後的版本基本支援了上述特性。
很多程式編寫者也會留戀VB6。VB6仍保留了一些script語言的特性,例如:不用事先宣告變量類型。 當第一次對未宣告類型的變數進行賦值時,VB6便會把這個值的類型作為該變數的類型。這種script語言的特性,對程式的可維護有很多不良的影響,尤其對初階程式員來說,更會被培養成不良的編寫程式習慣,所以VB.NET之後的版本已不保留這種特性。
Basic是作為初學者的編程語言而被製作,當時是以直譯式(參見VB 偽代碼)的形式出現。同樣擁有不用事先宣告變量類型的特性。這種特性對於幫助初學者快速入門,其實是有正面的作用,可以使初學者更快完成簡單的代碼編寫,而不用顧慮到程式要用哪些變量,要選哪些類型。對於有一定程式編寫經驗的人來看,要經常為for i=1 to 9中的變量i宣告類型也頗煩人,所以這種特性在某些場合上,是相當討人歡心的。
VB.NET 的具體變革如下:
這樣大的變革一度被認為是微軟為了延長VB的生命力而做出的,結果把VB改得幾乎面目全非,成了一個類似於C#的新語言。VB6的程式幾乎無法運行在VB.NET中,儘管微軟針對該問題提供了「升級精靈」,也無法執行徹底的轉換。這樣,程式設計師不得不付出相當大的精力,手工轉換代碼。
2005年,微軟宣布將不會再對非.NET版本的VB進行支援。VB社群立即作出反應表示關心這個訊息,一些老用戶還遞交了希望能夠繼續對VB進行技術支援的請願書。微軟目前還不願意改變他們的決定。
VB是一種充滿了爭議的語言:很多程式設計師對VB程式的品質有強烈的反感。很多人認為VB不配他們使用,認為它是一種給兒童和菜鳥程式設計師的語言。它自從設計開始就是一種簡單的語言。一些C++和Java中的特性在VB中並沒有出現。在感受開發的方便和快速的同時,一些類似於編譯時進行型式和宣告檢查的功能在預設情況下是關閉的。這樣一些程式設計師一邊感嘆VB的易用性,一邊沮喪地看著一些類似於「未定義型式」錯誤的發生。
一些批評家認為VB的簡單特性使得其在未來具有傷害性。很多人自學了VB,但是並沒有學到好的編程習慣。當VB進入課堂的時候,學生們不會學到很多基礎的程式技術和結構,因為很多技術已經包含在那些對用戶可見的零件裡面了。不用學習標準的編程習慣,因為VB具有視覺化的特性,所以導致了一些莫名其妙的代碼的產生。而且很多錯誤和警告的檢查預設情況下都是關閉的,程式設計師很難找到隱藏的錯誤。有經驗的程式設計師在用VB編程的時候都會把這些選項開啟。
很多批評家批評微軟簡單地拷貝了BASIC的思想到VB中。著名的電腦科學家Edsger Dijkstra說過一句名言:「如果一個學生最早學過BASIC,那麼幾乎不可能讓他學會優秀的編程:因為這些人已經放棄了涅磐的希望。[1]」(Dijkstra對待Fortran、PL/1、COBOL和APL同樣也毫不留情。)另外一個笑話是:「真正的程式設計師不用BASIC。12歲以下的孩子才用。」
但是很多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著手可輕易引發他們的潛能,發揮他們在這方面的才華。
|
檢 • 論 • 編 • 歷
|
|
|---|---|
| 工業程式語言 | A+ - Ada - 組合語言 - B - Brainfuck - COBOL - Curl - D - Eiffel - Erlang - FORTRAN - IronPython - Java - Jython - LISP - Lua - SCILAB - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
| C/C++語言 | C - C++ - Turbo C++ - Borland C++ - C++ Builder- C++/CLI - Objective-C - Microsoft Visual C++ |
| BASIC語言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC - PowerBASIC - DarkBASIC - ETBASIC - GVBASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
| Pascal/Delphi語言 | Pascal語法:(Pascal - Turbo Pascal - Object Pascal - Free Pascal) Pascal+Delphi語法:(Delphi) |
| ECMAScript方言 | ActionScript - DMDScript - JavaScript - JScript |
| GPU用著色器語言 | Cg - GLSL - HLSL |
| 學術程式語言 | APL/J - Clean - Haskell - Logo - ML - Prolog - Scheme - SAC |
| 資料庫相關程式語言 | Clipper - Visual FoxPro - SQL - SQL預存程序 |
| 其他程式語言 | ALGOL - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History