當前位置:編程學習大全網 - 編程語言 - vb和delphi是什麽來著的啊

vb和delphi是什麽來著的啊

Visual Basic(VB)是由微軟公司開發的包含協助開發環境的事件驅動編程語言。它源自於BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(RAD)系統,可以輕易的使用DAO、RDO、ADO連接數據庫,或者輕松的創建ActiveX控件。程序員可以輕松的使用VB提供的組件快速創建壹個應用程序。

.NET Framework引入之前

VB 1

VB1.0的DOS版本

1991年4月,Visual Basic 1.0 for Windows版本發布。1992年9月,Visual Basic 1.0 for DOS版本發布。這個連接編程語言和用戶界面的進步被稱為Tripod(有些時候叫做Ruby),最初的設計是由阿蘭·庫珀(Alan Cooper)完成的。這在當時引起了很大的轟動。許多專家把VB的出現當做是軟件開發史上的壹個具有劃時代意義的事件。以現在的眼光來看,VB1.0版的功能其實非常的弱,但它在推出當時可是第壹個“可視”的編程軟件。這使得程序員欣喜之極,都嘗試在VB的平臺上進行軟件創作。

VB 2

1992年11月,VB2.0發布。它對於上壹個版本的界面和速度都有所改善。

VB 3

1993年夏天,VB3.0發布,分為標準版和專業版。其中包含壹個數據引擎,可以直接讀取Access數據庫。這使得VB的數據庫編程能力大大提高。

VB 4

1995年8月,VB4.0發布了32位版本和16位的版本。其中包含了對類的支持。從VB4開始,逐步引入了面向對象的程序設計思想。VB功能強大,學習簡單。而且,VB還引入了“控件”的概念,使得大量已經編好的VB程序可以被我們直接拿來使用。

Visual Basic 1.0~4.0 都必須將源代碼編譯成 VB 偽代碼後解釋執行。

VB 5

1997年2月,VB5.0發布。程序員可以用32位的版本導入由4.0版本創建的16位程序,並且能順利編譯。同時還包含了對用戶自建控件的支持。自從 Visual Basic 5.0 以後,VB 支持編譯成本機代碼,但必須在 VB 運行庫的支持下工作。

VB 6

1998年夏天,VB6.0發布。VB6是VB.NET至今仍無法完全取代的版本。

.NET Framework引入之後

主條目:Visual Basic .NET

VB.NET 7

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)推出。

VB.NET 8

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 的內存。

VB.NET 9

2008年2月1日 Visual Basic 2008 (v9.0) 發布。

通過幾年的發展,它已成為壹種專業化的開發語言和環境。用戶可用 Visual Basic 快速創建 Windows 程序,現在還可以編寫企業水平的客戶/服務器程序及強大的數據庫應用程序。

VB.NET 10

Visual Basic 10.0按計劃於2010年3月22日隨Visual Studio 2010壹起正式發布。

新加入的功能:

自動實現屬性

集合初始化

不需要在代碼斷行書寫時輸入下劃線“_”

更好的lambda表達式支持

更好地與Python及Ruby等動態語言的互通操作

Visual Basic .NET 2002(7.0) 及以後的版本運行在 .NET Framework 環境下。

由VB派生的語言

微軟開發了壹系列有關VB的腳本語言:

Visual Basic for Applications,即VBA,包含在微軟的應用程序中(比如Microsoft Office),以及類似WordPerfect Office這樣第三方的產品裏面。VBA這樣嵌入在各種應用程序中看起來有些矛盾,但是它的功能和VB壹樣強大。

VBScript是ASP的默認語言,還可以用在Windows腳本編寫(Shell Script)和網頁編碼(HTML)中。盡管它的語法類似於VB,但是它卻是壹種完全不同的語言。VBS不使用VB運行庫運行,而是由Windows腳本宿主(wscript.exe - Microsoft Windows Based Script Host)解釋執行。這兩種語言之中的不同點影響ASP網站的表現。

當微軟準備開發壹種新的編程工具的時候,第壹決定就是利用最搶手的 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)時,經常可以聽到以下這些術語,因此掌握這些術語的基本理解對初學者十分有幫助。

控件:簡單的說,控件就是構成或者說建造 Visual Basic 應用程序的圖形化工具,包括窗體、按鈕、復選框、列表框、數據控件、表格控件和圖片控件等等……

事件:由用戶或操作系統引發的動作,例如擊鍵、單擊鼠標(Click)、雙擊鼠標(DblClick)、壹段時間的限制,或從端口接收數據。

方法:嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息並響應某事件。例如,數據庫對象有打開紀錄集並從壹個記錄移動到另壹個記錄的方法程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法。控件和窗體是Visual Basic中所有對象的示例。

對象:壹個控件、窗體等都可被看作壹個對象。

過程:為完成某些特定的任務而編寫的代碼段,過程通常用於響應特定的事件,也可以當作應用程序的用戶自定義函數來使用。

屬性:屬性是組成用戶界面的各對象的性質的具體描述。例如上述“對象”中所提到的尺寸、位置、顏色、寬度、高度等等都稱為控件的屬性。屬性決定對象的外觀,有時也決定對象的行為。對象的屬性絕大部分是VB中已經事先定義好的,但也有的屬性是需要在應用過程中才去定義的。屬性即可為對象提供數據,也能從對象取回信息。

VB.NET的變革

VB(6.0 及以前)不擁有的特性

繼承 (計算機科學):Visual Basic 5 以後,VB 雖然提供了簡化的類支持,但仍然不能滿足程序員的需求。

多線程支持:雖然可以使用Windows API完成,不過穩定性與調試都很難保證。

異常處理:只支持"On Error Goto line"語句。

對指針的支持非常有限。

VB只能支持8到32位的整數,很多語言都有無限制的支持。

VB不允許在任何數組存儲器在不變的變量。

VB不支持其它程序語言***享程序代碼。

Visual Basic .NET(VB 7.0)以後的版本基本支持了上述特性。

VB 6 與 VB.NET 比較

很多程序編寫者也會留戀VB6。VB6仍保留了壹些script語言的特性,例如:不用事先聲明變量類型。 當第壹次對未聲明類型的變量進行賦值時,VB6便會把這個值的類型作為該變量的類型。這種script語言的特性,對程序的可維護有很多不良的影響,尤其對初階程序員來說,更會被培養成不良的編寫程序習慣,所以VB.NET之後的版本已不保留這種特性。

Basic是作為初學者的編程語言而被制作,當時是以直譯式(參見VB 偽代碼)的形式出現。同樣擁有不用事先聲明變量類型的特性。這種特性對於幫助初學者快速入門,其實是有正面的作用,可以使初學者更快完成簡單的代碼編寫,而不用顧慮到程序要用哪些變量,要選哪些類型。對於有壹定程序編寫經驗的人來看,要經常為for i=1 to 9中的變量i聲明類型也頗煩人,所以這種特性在某些場合上,是相當討人歡心的。

VB.NET 的具體變革如下:

子程序(函數)的定義與調用。

數組的初值設定並且需要註明範圍。

函數在格式上的改變:Date函數、Time函數、部分數學函數部分不能直接使用,String函數不能使用,DatePart、DateAdd、DateDiff函數的第壹個參數在定義上有所改變。

Set保留字不再使用。

Wend保留字以End While取代。

新增運算符:+=、-=、/=、*=。

缺點

這樣大的變革壹度被認為是微軟為了延長VB的生命力而做出的,結果把VB改得幾乎面目全非,成了壹個類似於C#的新語言。VB6的程序幾乎無法運行在VB.NET中,盡管微軟針對該問題提供了“升級向導”,也無法執行徹底的轉換。這樣,程序員不得不付出相當大的精力,手工轉換代碼。

2005年,微軟宣布將不會再對非.NET版本的VB進行支持。VB社區立即作出反應表示關心這個消息,壹些老用戶還遞交了希望能夠繼續對VB進行技術支持的請願書。微軟目前還不願意改變他們的決定。

關於VB的爭議

反對者

VB是壹種充滿了爭議的語言:很多程序員對VB程序的品質有強烈的反感。很多人認為VB不配他們使用,認為它是壹種給兒童和菜鳥程序員的語言。它自從設計開始就是壹種簡單的語言。壹些C++和Java中的特性在VB中並沒有出現。在感受開發的方便和快速的同時,壹些類似於編譯時進行類型和聲明檢查的功能在默認情況下是關閉的。這樣壹些程序員壹邊感嘆VB的易用性,壹邊沮喪地看著壹些類似於“未定義類型”錯誤的發生。

壹些批評家認為VB的簡單特性使得其在未來具有傷害性。很多人自學了VB,但是並沒有學到好的編程習慣。當VB進入課堂的時候,學生們不會學到很多基礎的程序技術和結構,因為很多技術已經包含在那些對用戶可見的組件裏面了。不用學習標準的編程習慣,因為VB具有可視化的特性,所以導致了壹些莫名其妙的代碼的產生。而且很多錯誤和警告的檢查默認情況下都是關閉的,程序員很難找到隱藏的錯誤。有經驗的程序員在用VB編程的時候都會把這些選項打開。

很多批評家批評微軟簡單地拷貝了BASIC的思想到VB中。著名的計算機科學家艾茲格·迪科斯徹說過壹句名言:“如果壹個學生最早學過BASIC,那麽幾乎不可能讓他學會優秀的編程:因為這些人已經放棄了重生的希望。”(Dijkstra對待Fortran、PL/1、COBOL和APL同樣也毫不留情。)另外壹個笑話是:“真正的程序員不用BASIC。12歲以下的孩子才用。”

並不是非常簡便,它開發的程序只能運行在Microsoft Windows中。

文件太大了。Visual Studio要用好幾張盤才能裝下。VB程序在運行時候還需要壹個1.4M大小的運行庫。

IDE中有錯誤。

VB不能很好的綜合Windows的基礎API,很多時候要使用低級運算的“小伎倆”來進行編程。而C語言的低級內存運算比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著手可輕易引發他們的潛能,發揮他們在這方面的才華。

  • 上一篇:請問誰知道靜電平面往復噴塗機的常見問題與預防措施?急
  • 下一篇:仙劍2仙術和虎煞的學習等級
  • copyright 2024編程學習大全網