VB.net是純面向?qū)ο蟮拈_發(fā)語言,為了適應(yīng).net Framework的安全性,vb.net進(jìn)行了不小的調(diào)整。但是關(guān)鍵字修飾符之類的基本沒有什么變化,所以您只需要習(xí)慣.net下的強(qiáng)類型,應(yīng)該是不難轉(zhuǎn)型。
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、石屏網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
舉個(gè)簡(jiǎn)單的例子吧,vb.net下是沒有“變體類型”這一數(shù)據(jù)類型的,整型就是整型,字符串就是字符串,像
a = 50 + 60
Text1.Text = a
這樣的代碼是不行的,VB6.0支持變體類型,會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,而.net下為了保證安全性,會(huì)要求程序員自己進(jìn)行必要的轉(zhuǎn)換。
至于API,.net框架下對(duì)API的依賴性像VB6中那么高,一些API完成的工作可以由一些類庫來完成。API的調(diào)用也不是一樣的,因?yàn)橛行〢PI涉及到了“不安全代碼”,而且API是用另一種非.net 語言編寫的,所以調(diào)用時(shí)有些特別的要求。
vb.net工作在.NET Framework下,與VB6的解釋執(zhí)行不同,VB.NET是編譯執(zhí)行的,.net下所有的應(yīng)用程序都被編譯成一種“中間語言(MSIL)”的形式,運(yùn)行時(shí)由一種稱為即時(shí)編譯器(JIT)的程序進(jìn)行二次編譯??梢哉f.net既是開發(fā)環(huán)境又是運(yùn)行環(huán)境,它提供了通用類型系統(tǒng)(CTS)和“公共語言運(yùn)行時(shí)”(Common Language Runtime,CLR),前者為開發(fā)時(shí)提供了類型支持,.net下語言中的基本數(shù)據(jù)類型都來自于這個(gè)類型系統(tǒng);后者為.net應(yīng)用程序提供了運(yùn)行環(huán)境,包括JIT、GC(內(nèi)存垃圾收集器)等等,同時(shí)負(fù)責(zé)代碼的運(yùn)行時(shí)安全。
最后,我感覺學(xué)一門語言并不難,難的是理解一些系統(tǒng)和程序設(shè)計(jì)中低層的東西,不過,我比較建議您學(xué)習(xí)VB.NET,因?yàn)樗募兠嫦驅(qū)ο蟮奶匦员容^符合目前的軟件開發(fā)方式。
希望這些信息對(duì)您有幫助。
vb、vbs、vb.net、vba還有很多是基于編程軟件的。你不要盲目相信以為都是一樣的東西,這種叫過程化編程,你只需要調(diào)用類庫和類庫成員,給他屬性賦值然后調(diào)用它的成員方法,函數(shù)編寫規(guī)則是依據(jù)編程軟件定義的。嚴(yán)格來說,現(xiàn)在語言是互通的,只有細(xì)微的區(qū)別,基本原理定型,就像我們java字符串==只能認(rèn)識(shí)int類型,String要用eqaul,C#使用==可以通用一樣的原理,都是明確在外的,基本語法上不會(huì)有太大的改動(dòng)。基礎(chǔ)語法就是我們學(xué)C那套,for循環(huán)、foreach遍歷、swicth選擇、if判斷、trycacth機(jī)制...相信每個(gè)人大學(xué)畢業(yè)都滾瓜爛熟。但是我們學(xué)編程可不是學(xué)語言這么簡(jiǎn)單的事,最重要的是要學(xué)會(huì)使用人家的軟件去編譯。
VB用vb6.0年代很久了,實(shí)際上vb從編程角度上是非常簡(jiǎn)單的,就是安裝使用用戶友好上問題比較多,vb6.0之所以慢慢被淘汰主要是類庫有限;vbs其實(shí)跟vb是一種產(chǎn)物,html對(duì)它的支持僅僅依賴windows操作系統(tǒng)的類庫環(huán)境,實(shí)際上現(xiàn)在很少用了,以前我們用dreamweaver還用到點(diǎn),基本后面就不用了,因?yàn)閖s迅速取代它;vba是基于microsoft office的,你進(jìn)入excel或者access模塊編程界面,你會(huì)發(fā)現(xiàn)vba會(huì)大大減化你的操作,vba嚴(yán)格來說成了一種配置語言,你按它的規(guī)矩配置就好了;vb.net之所以有很多人用,不在于vb語言,而是vs studio這個(gè)編譯環(huán)境,基于托管代碼或.net core編程你需要了解.net的類庫環(huán)境,.net這幾年迅速發(fā)展,更重要的技術(shù)還是nuget強(qiáng)大的資源庫。
所以你的問題表述上就有問題,你該問Vb6.0和vs vb.net的區(qū)別,單單從語言角度,他們好像都叫vb,vb語言自身范圍是沒有任何區(qū)別的,但是vb編譯環(huán)境天壤之別。
VB是是一種編程語言。VBA主要VB是office上的應(yīng)用,VB.net可以說是VB的最新版本,如果就是業(yè)余或者剛?cè)腴T的話,語法什么的和VB幾乎完全一樣。只是語法上面,要求比VB要求規(guī)范,比方說VB6.0里面Text1="1"讀的出來,VB.net就會(huì)報(bào)錯(cuò),一定要textbox1.text="1"才可以。對(duì)于初學(xué)者來說,VB.net這種規(guī)范要求有益無害。
如果你想學(xué)的話,最好學(xué)VB.net,一來功能強(qiáng),二來,能幫助你學(xué)習(xí)基本概念。比方說我學(xué)VB的時(shí)候,什么是類一點(diǎn)概念都沒有。都是學(xué)了.net之后才懂得。三來么,學(xué)會(huì)了VB.net.學(xué)其他都很方便的。
但是如果就是用用excel的話么,VBA就可以了。不過說句老實(shí)話,光學(xué)VBA的話,很多東西理解起來比較難。我是最后學(xué)VBA的,看了書一個(gè)禮拜之后就能隨便編了。但是書上很多代碼的,我猜如果沒有VB基礎(chǔ),估計(jì)看不懂