剖析從VB轉(zhuǎn)型到VB.NET的必要性
VB.NET還是比較常用的,于是我研究了一下VB轉(zhuǎn)型到VB.NET的必要性,在這里拿出來和大家分享一下,希望對大家有用。
從VB轉(zhuǎn)型到VB.NET的必要性:
雖然VB得到了很多人的認(rèn)可,也有許多配套產(chǎn)品都提供了VB的接口。但隨之時間的延續(xù),其缺點(diǎn)也逐漸暴露了,有些甚至是無法"容忍"的。首先作為一種解釋性的語言,不僅程序執(zhí)行速度慢,并且在分發(fā)應(yīng)用程序時,還需要帶上解釋庫;其次VB并非完全的面向?qū)ο蟮拈_發(fā)語言,從根本上說,它應(yīng)該是一種面向過程的開發(fā)語言。
而VB.NET做為下一代的VB語言,它是一種為開發(fā).Net平臺應(yīng)用程序而度身定做的程序語言。因?yàn)閂B.NET中完全集成了.Net FrameWork(.Net框架)和CLR(Common Language Runtime,即:公共語言運(yùn)行時)。同時.Net 框架和公共語言運(yùn)行時又共同提供VB.NET語言互操作性、垃圾資源回收、可靠安全性和版本改進(jìn)的支持。通過VB.NET能夠簡便、快捷地創(chuàng)建.Net平臺應(yīng)用程序、XML Web services 和 ASP.NET Web 應(yīng)用程序。VB.NET做為開發(fā).Net平臺的程序語言,那它就為開發(fā)現(xiàn)跨平臺程序創(chuàng)造了可能。因?yàn)槲覀冎溃④浲瞥?Net,其目的之一就是實(shí)現(xiàn)跨平臺。雖然目前微軟只提供了在Windows平臺上運(yùn)行的.Net框架,還無法實(shí)現(xiàn)真正意義上的跨平臺,但隨著MONO的出現(xiàn)(雖然它還存在很多問題,并且目前的MONO只為C#提供支持),但可以預(yù)見的是在不久的將來,VB.NET實(shí)現(xiàn)Write Once And Run AnyWhere的時間不會太久。
VB.NET是一種編譯性的語言,但這種編譯和以前接觸的編譯有所區(qū)別。因?yàn)榻?jīng)過VB.NET編譯器編譯后得到文件并不是可以在計(jì)算機(jī)直接運(yùn)行的二進(jìn)制文件。它的性質(zhì)是一種IL文件(中間語言文件)。在運(yùn)行IL文件時,首先是通過CLR下的JIT(即時編譯器),把這種IL文件再編譯成二進(jìn)制文件。我們看到的程序運(yùn)行,其實(shí)是經(jīng)過JIT編譯后的二進(jìn)制文件在執(zhí)行。這時可能有很多朋友會問,這種二次編譯是否多此一舉,具體實(shí)現(xiàn)中是否很麻煩,是否會影響程序的運(yùn)行速度?二次編譯的確是影響了程序運(yùn)行的速度,但它卻為實(shí)現(xiàn)跨平臺帶來了可能。其實(shí)這種編譯過程猶如Java中的JVM(Java虛擬機(jī))。正是JVM才使得Java能夠開發(fā)出跨平臺的應(yīng)用程序。二次編譯是CLR在.Net框架下自動實(shí)現(xiàn)IL文件到二進(jìn)制文件轉(zhuǎn)變的,它是一種自動完成的,并不需要人員的參與,所以它并不會給程序執(zhí)行帶來麻煩。
VB.NET 還是一種真正的面向?qū)ο蟮拈_發(fā)語言,可以說OOP思想已經(jīng)深入到語言中的任一角落,如:在VB.NET中創(chuàng)建的Windows組件,就是從類中繼承,類經(jīng)過實(shí)例化得到的。VB.NET還增加了許多新功能和改進(jìn)功能,如繼承、接口和重載等,這些都使VB.NET成為功能強(qiáng)大的面向?qū)ο蟮木幊陶Z言。
微軟公司在推出VB.NET的同時,還推出了VB.NET的開發(fā)工具Visual Studio .Net。Java程序員羨慕VB.NET程序員的重要原因之一就是,VB.NET擁有一個任何比目前Java程序員所使用的開發(fā)環(huán)境都好的集成開發(fā)環(huán)境--VB.NET,以上介紹VB轉(zhuǎn)型到VB.NET的必要性。
【編輯推薦】