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