第一,VB什么時(shí)候都不是世界上使用人數(shù)最多的語(yǔ)言。其次,我真的不知道VB這東西有什么好的,如果說(shuō)VB給當(dāng)初困擾中的windows程序員們提供了一個(gè)所見(jiàn)即所得的UI開(kāi)發(fā)環(huán)境,那么其實(shí)他們真的應(yīng)該多關(guān)注Delphi、C++
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、貞豐網(wǎng)站維護(hù)、網(wǎng)站推廣。
Builder。第三,.NET跟微軟的web
service也沒(méi)有一毛錢(qián)的關(guān)系,微軟第一個(gè)web
service的標(biāo)準(zhǔn)是SOAP,2000年左右出的。VB.NET與其說(shuō)是VB,不如說(shuō)是微軟為了挽留VB程序員做的努力。拿VB去比C++更是令人發(fā)指。第四,.NET并非一個(gè)編程語(yǔ)言,C#、VB.NET、托管VC、Delphi
.NET都是.NET家族的。
VB.net
相對(duì)VB出現(xiàn)巨大變化的是語(yǔ)意,從運(yùn)行于基于COM的deterministic,
reference-counted的引擎之上的編程環(huán)境,轉(zhuǎn)變?yōu)槿婷嫦驅(qū)ο蟮幕?NET
Framework的語(yǔ)言。.NET
Framework包括了CLR(使用通用垃圾收集機(jī)制和JIT編譯引擎的虛擬機(jī))和大量的類(lèi)庫(kù)。VB開(kāi)發(fā)者進(jìn)入VB.NET要面對(duì)新增的大量類(lèi)庫(kù)的問(wèn)題。
上述變化表明了許多在運(yùn)行及維護(hù)相關(guān)優(yōu)化事宜下面的假定,一些VB6函數(shù)和庫(kù)不再存在而其它的仍然可用,但是比不上.NET語(yǔ)言中自帶的可替換的函數(shù)和庫(kù)來(lái)得高效。即使它們可被編譯,但大多從VB6轉(zhuǎn)換而來(lái)的應(yīng)用將需要一定程度上的重構(gòu)(refactoring),以全面利用新語(yǔ)言的優(yōu)點(diǎn)。在有關(guān)句法、應(yīng)用調(diào)試、部署和術(shù)語(yǔ)等方面的變化,有大量的文檔可以參考。
根據(jù)個(gè)人的經(jīng)歷談?wù)剛€(gè)人感想
我一開(kāi)始學(xué)的是VB,但學(xué)會(huì)后,也就是樓主你的樣子,后來(lái)學(xué)C,覺(jué)得C太垃圾了,這可能和VB的簡(jiǎn)單形成對(duì)比,C語(yǔ)言學(xué)會(huì)后就再也沒(méi)用,后來(lái)直接由VB升級(jí)到VB.NET,的確,如同樓主所說(shuō),.NET是比較簡(jiǎn)單,但是有個(gè)后遺癥,是現(xiàn)在我都煩的,就是編譯的軟件必須要在有.NET的電腦上運(yùn)行,XP是不帶.NET的,而且,版本還的相對(duì),如果用.NET4.0編的,在4.0以下版本電腦上運(yùn)行很可能就出錯(cuò),并且,如果你要打包的話也可以,就是把軟件打包成安裝包,然后附帶.NET環(huán)境,但缺點(diǎn)就出來(lái)了,.NET3.5完整安裝包235M,因?yàn)樗艘韵滤邪姹?,還好.NET4.0只有50M左右,因?yàn)樗话ㄒ韵掳姹?,但總之?NET就是簡(jiǎn)單了編程,但復(fù)雜了使用,軟件得打包,不像VB,編好后直接打開(kāi)EXE就可以了。所以就麻煩了,舉些例子,以前用VBA編OFFICE的宏,打開(kāi)OFFICE就可以編,編好后就存為XLSM就可以了,現(xiàn)在用.NET就成了VSTO了,編好后,不和文檔在一起,是分開(kāi)的DLL,如果要運(yùn)行,條件為,1,.NET環(huán)境,2,OFFICE,3,VSTO相比以前只需要OFFICE復(fù)雜了N倍,而且編輯時(shí)也需要VS(動(dòng)不動(dòng)就幾G)才行,相比以前只要有OFFICE就可以區(qū)別也很大,同樣,CAD的嵌入開(kāi)發(fā)也是一樣的。
所以總體來(lái)說(shuō),越底層的語(yǔ)言越底層的API越好用,越通用,越高級(jí)的越不通用,所以現(xiàn)在我開(kāi)發(fā)軟件我都煩了,要是一個(gè)小軟件幾百K~M,再附帶個(gè).NET就好幾百兆,用的時(shí)候還得安裝才能用,又不是什么大軟件有必要這么做么,還有.NET不是萬(wàn)能的,有些地方也得用API,而且.NET其實(shí)也挺復(fù)雜,難的地方不比API簡(jiǎn)單,其實(shí)就感覺(jué)是封裝好了的API而已。
至于數(shù)據(jù)庫(kù),的確.NET連接比較簡(jiǎn)單
至于學(xué)C?那就不用了,因?yàn)?NET的支持 C#,C++,VB,J#,只要會(huì)其中一種就可以了(而且你只要會(huì)其中一門(mén),是能看懂另一門(mén)的,比如我雖然編輯C#可能要出錯(cuò),但C#代碼我是幾乎全部能看懂的,網(wǎng)上查資料也能看懂其他語(yǔ)言的),大部分是學(xué)C的升級(jí)用C#.NET,VB的升級(jí)成VB.NET,你沒(méi)必要把它當(dāng)成另一中語(yǔ)言來(lái)學(xué),語(yǔ)法是基本一樣的。只是從一開(kāi)是學(xué)C的比較多,就成了C#的比較多而已了,至于語(yǔ)言,我不想做語(yǔ)言攻擊,其實(shí)都是有用的,就是看自己習(xí)慣不,比如我就不習(xí)慣C。
我也不想說(shuō)VB好還是VB.NET好,其實(shí)是看你用途,我只是至今沒(méi)發(fā)現(xiàn)什么網(wǎng)上的軟件是.NET編輯的,一些軟件比如CAD,OFFICE安裝時(shí)安裝了.NET,其實(shí)都不是它們是基于.NET編輯的,而是為了支持.NET的嵌入式開(kāi)發(fā),你所看到的軟件,比如QQ,迅雷,你看他們帶.NET了嗎?要是.NET好,他們干嘛不用,答案是因?yàn)椴环奖?,因?yàn)閄P系統(tǒng)一般是沒(méi)有.NET的,連WIN7內(nèi)嵌的.NET都不支持最新的.NET,也就是你用什么版本編的就得安裝相應(yīng)版本,那也要求對(duì)方電腦也得跟著升級(jí),而API是不用升級(jí)著走的~
所以,你要編的軟件在其他電腦上用,VB+API吧,如果你要個(gè)人電腦上用,VB.NET吧,如果你編小軟件vb+api吧,如果你要大型軟件就VB.NET吧,所以,你自己選吧。
希望給你的意見(jiàn)能對(duì)你有好處,現(xiàn)在深夜11點(diǎn)了,我也改睡了,拜拜!~
祝你學(xué)習(xí)愉快!
對(duì)了,還有點(diǎn),比如CAD2007不支持.NET3.5以上的編程,而且.NET編好的EXE或者DLL是可以用專(zhuān)門(mén)的軟件打開(kāi)看你源代碼的,也就是反編譯,這對(duì)于加密(可以看你的加密方法)就很麻煩了(據(jù)說(shuō)采用什么辦法可以解決)。
C#.net優(yōu)點(diǎn):
運(yùn)算符重載。不安全代碼(指針和固定內(nèi)存區(qū))、?無(wú)符號(hào)整數(shù)、移位運(yùn)算。
VB的優(yōu)點(diǎn):?
即時(shí)編譯、靜態(tài)事件綁定、條件異常捕獲、COM兼容類(lèi)、寬松的類(lèi)型檢查和變量聲明、VisualBasicRuntime庫(kù)、可選參數(shù)、帶參數(shù)屬性、模塊等語(yǔ)言特征、動(dòng)態(tài)數(shù)組。
通過(guò)VB.NET開(kāi)發(fā)好的程序絕對(duì)沒(méi)有問(wèn)題(包括DirectX游戲開(kāi)發(fā))。雖然VB.NET的資料少,但是只要C#支持的VB.NET都支持(大體上這樣,因?yàn)槎家?jīng)過(guò)MSIL中間環(huán)節(jié)。除了指針之類(lèi)的VB.NET不支持C#支持,但是沒(méi)有多大實(shí)際用處)。
vb.net的資料以英文資料居多(只有英文資料才有看頭,中國(guó)的沒(méi)有什么好資料),得看看英文水平過(guò)不過(guò)關(guān)。還有VB.NET的ide也比C#的IDE好得多,代碼看得也舒服。(C#的大括號(hào){}太煩人)。
至于VB6對(duì)C的幫助,只是理解上會(huì)容易一些,其它用處不大。有VB6的基礎(chǔ)學(xué)VBNET會(huì)方便一些,但是并不是會(huì)VB6就會(huì)VB.NET,它們差別也不小。
擴(kuò)展資料:
NET、C#和ASP.NET之間的區(qū)別:
1、NET是一個(gè)平臺(tái),一個(gè)抽象的平臺(tái)的概念。
NET平臺(tái)其本身實(shí)現(xiàn)的方式其實(shí)還是庫(kù),抽象層面上來(lái)看是一個(gè)平臺(tái)。
基本可以理解的NET核心就是NETFramwork。
NETFramework包括兩個(gè)關(guān)鍵組成元素:
a.CommonLanguageRuntime,公共語(yǔ)言運(yùn)行時(shí)(CLR0)-提供內(nèi)在管理,代碼安全性檢測(cè)等功能。
b.NETFrameworkClassLibrary,.NET框架類(lèi)庫(kù)(FLC)-提供大量應(yīng)用類(lèi)庫(kù),提高開(kāi)發(fā)效率。
學(xué)習(xí)NETFramework是所有.NET開(kāi)發(fā)人員都必須的,否則開(kāi)發(fā)NET程序永遠(yuǎn)都是停留在‘外功’的招式,NETramework是NET開(kāi)發(fā)高手的‘內(nèi)功’修行之一。
2、C#是一個(gè)程序設(shè)計(jì)語(yǔ)言,僅僅是一個(gè)語(yǔ)言。
程序設(shè)計(jì)語(yǔ)言僅僅是為了方便開(kāi)發(fā)人員和計(jì)算機(jī)溝通的工具,雖然C#語(yǔ)法相對(duì)C和?C+要多一些,但是相對(duì)來(lái)看C#語(yǔ)法都比較固定,這樣使用起來(lái)卻都很容易。我認(rèn)可一位朋友說(shuō)的,C#的語(yǔ)法更嚴(yán)謹(jǐn)!
這里回過(guò)來(lái)看看NET和C#的關(guān)系,不得不提的是NET程序的執(zhí)行過(guò)程。
C#符合NETCLR中的公共語(yǔ)言運(yùn)行規(guī)范。CLS:commonlanguagespecification,當(dāng)然所有的NETLanguage都是符合這個(gè)規(guī)范的例如:VB.NET、XAML和C++/CL等等。
C#需要符合NETCLS,是因?yàn)镹ETCLR和JAVA虛擬機(jī)類(lèi)似,有一個(gè)中間語(yǔ)言共機(jī)器來(lái)執(zhí)行。所有不同語(yǔ)言的.NET代碼在執(zhí)行前會(huì)被編譯成同樣的中間語(yǔ)言(MSIL),所以所有NET支持語(yǔ)言都必須符合符合CLS規(guī)范。
P.S:如果做.NET3.0XAML開(kāi)發(fā)的朋友,可以嘗試下ildasm.exe看看XAML的應(yīng)用程序,會(huì)發(fā)現(xiàn)原來(lái)XAML其實(shí)很簡(jiǎn)單。
3、ASP.NET是一個(gè)網(wǎng)站開(kāi)發(fā)的技術(shù),僅僅是.NET框架中的一個(gè)應(yīng)用模型。
用微軟公司ASP.NET快速入門(mén)中的一句話來(lái)解釋?zhuān)珹SP.NET是用于生成基于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。
ASP.net和C#的區(qū)別:
編寫(xiě)asp.net通常包括兩部分的代碼:網(wǎng)頁(yè)層和后臺(tái)處理層,網(wǎng)頁(yè)就是用標(biāo)記語(yǔ)言來(lái)寫(xiě)的,而網(wǎng)頁(yè)對(duì)應(yīng)的后臺(tái)處理程序則需要.net語(yǔ)言來(lái)完成,目前主要是采用c#和vb.net。
可以說(shuō)整個(gè)的asp.net網(wǎng)站通過(guò)c#或者vb.net來(lái)實(shí)現(xiàn)。而c#則是ms.netframework的主要語(yǔ)言,可以用在網(wǎng)站,桌面應(yīng)用等方面。可以算是一種比較流行的編程語(yǔ)言。
;displaylang=zh-cn
vb2008(vb.net2008)官方下載(是vb,vc等集合的,絕對(duì)沒(méi)有獨(dú)立的vb,只能安裝時(shí)在編程語(yǔ)言中去掉其他的).
90天試用版(可以破解,安裝完以后控制面板,添加刪除程序,選vs2008,更改,最下面的升級(jí)正式版,輸入號(hào):PYHYP-WXB3B-B2CCM-V9DX9-VDY8T )