C#.net優(yōu)點:
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計與制作經(jīng)驗,為許多企業(yè)提供了網(wǎng)站定制設(shè)計服務(wù),案例作品覆蓋成都混凝土攪拌站等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身制作品質(zhì)網(wǎng)站。
運算符重載。不安全代碼(指針和固定內(nèi)存區(qū))、?無符號整數(shù)、移位運算。
VB的優(yōu)點:?
即時編譯、靜態(tài)事件綁定、條件異常捕獲、COM兼容類、寬松的類型檢查和變量聲明、VisualBasicRuntime庫、可選參數(shù)、帶參數(shù)屬性、模塊等語言特征、動態(tài)數(shù)組。
通過VB.NET開發(fā)好的程序絕對沒有問題(包括DirectX游戲開發(fā))。雖然VB.NET的資料少,但是只要C#支持的VB.NET都支持(大體上這樣,因為都要經(jīng)過MSIL中間環(huán)節(jié)。除了指針之類的VB.NET不支持C#支持,但是沒有多大實際用處)。
vb.net的資料以英文資料居多(只有英文資料才有看頭,中國的沒有什么好資料),得看看英文水平過不過關(guān)。還有VB.NET的ide也比C#的IDE好得多,代碼看得也舒服。(C#的大括號{}太煩人)。
至于VB6對C的幫助,只是理解上會容易一些,其它用處不大。有VB6的基礎(chǔ)學(xué)VBNET會方便一些,但是并不是會VB6就會VB.NET,它們差別也不小。
擴展資料:
NET、C#和ASP.NET之間的區(qū)別:
1、NET是一個平臺,一個抽象的平臺的概念。
NET平臺其本身實現(xiàn)的方式其實還是庫,抽象層面上來看是一個平臺。
基本可以理解的NET核心就是NETFramwork。
NETFramework包括兩個關(guān)鍵組成元素:
a.CommonLanguageRuntime,公共語言運行時(CLR0)-提供內(nèi)在管理,代碼安全性檢測等功能。
b.NETFrameworkClassLibrary,.NET框架類庫(FLC)-提供大量應(yīng)用類庫,提高開發(fā)效率。
學(xué)習(xí)NETFramework是所有.NET開發(fā)人員都必須的,否則開發(fā)NET程序永遠都是停留在‘外功’的招式,NETramework是NET開發(fā)高手的‘內(nèi)功’修行之一。
2、C#是一個程序設(shè)計語言,僅僅是一個語言。
程序設(shè)計語言僅僅是為了方便開發(fā)人員和計算機溝通的工具,雖然C#語法相對C和?C+要多一些,但是相對來看C#語法都比較固定,這樣使用起來卻都很容易。我認可一位朋友說的,C#的語法更嚴謹!
這里回過來看看NET和C#的關(guān)系,不得不提的是NET程序的執(zhí)行過程。
C#符合NETCLR中的公共語言運行規(guī)范。CLS:commonlanguagespecification,當然所有的NETLanguage都是符合這個規(guī)范的例如:VB.NET、XAML和C++/CL等等。
C#需要符合NETCLS,是因為NETCLR和JAVA虛擬機類似,有一個中間語言共機器來執(zhí)行。所有不同語言的.NET代碼在執(zhí)行前會被編譯成同樣的中間語言(MSIL),所以所有NET支持語言都必須符合符合CLS規(guī)范。
P.S:如果做.NET3.0XAML開發(fā)的朋友,可以嘗試下ildasm.exe看看XAML的應(yīng)用程序,會發(fā)現(xiàn)原來XAML其實很簡單。
3、ASP.NET是一個網(wǎng)站開發(fā)的技術(shù),僅僅是.NET框架中的一個應(yīng)用模型。
用微軟公司ASP.NET快速入門中的一句話來解釋,ASP.NET是用于生成基于Web的應(yīng)用程序的內(nèi)容豐富的編程框架。
ASP.net和C#的區(qū)別:
編寫asp.net通常包括兩部分的代碼:網(wǎng)頁層和后臺處理層,網(wǎng)頁就是用標記語言來寫的,而網(wǎng)頁對應(yīng)的后臺處理程序則需要.net語言來完成,目前主要是采用c#和vb.net。
可以說整個的asp.net網(wǎng)站通過c#或者vb.net來實現(xiàn)。而c#則是ms.netframework的主要語言,可以用在網(wǎng)站,桌面應(yīng)用等方面??梢运闶且环N比較流行的編程語言。
1、明確目的:學(xué)習(xí)VB的是成為軟件工程師,而非代碼工人。
什么是代碼工人,代碼工人也叫軟件藍領(lǐng)。指那些至少掌握一門開發(fā)語言或開發(fā)工具,所從事任務(wù)與軟件工程中的需求分析、系統(tǒng)分析、概要設(shè)計無關(guān)的程序員。在印度的軟件產(chǎn)業(yè)中,這些大量的低成本程序員是由高中生畢業(yè)后進行簡單培訓(xùn)就可以擔(dān)當?shù)摹?/p>
軟件工程師一般指從事軟件開發(fā)職業(yè)的人。軟件工程師跟一般程序員的分別,在于一個程序員的工作是按照指定的項目分析書來做編碼,而軟件工程師的工作則需要規(guī)劃。不過,由于現(xiàn)時社會的分工愈來愈模糊,軟件工程師跟程序員的分工也愈不明顯。但對于嚴格執(zhí)行CMM的機構(gòu)來說,各人的工作分野比較清晰,這有助于了解軟件工程師跟一般程序員的分別。
為什么出現(xiàn)代碼工人,其實主要的原因是程序員的水平差距很大,好多人完不成獨立的任務(wù),最終會倒致一個工程的失敗,所以才后出現(xiàn)了軟件工程這些概念,通過有效的管理,分工,使即時只會一些簡單編碼的人也能完成一個獨立的工作。
2、下定絕心:學(xué)VB需要很長時間的努力,要有恒心和毅力。
學(xué)習(xí)任何編程語言都是一件很枯躁的事情,除非你有強大的愛好,如果你只是為了多賺點錢,我建議你還是去做銷售吧,軟件工程師這個職位不適合。必需要為自己的愛好而學(xué)習(xí),這樣才能有足夠的動力來學(xué)習(xí)編程這門枯燥的事情,才能在枯燥的事情中找到快樂。
3、學(xué)習(xí)技巧:70%的學(xué)習(xí)在工作中獲得,20%的學(xué)習(xí)從經(jīng)理、同事處獲取,10%的學(xué)習(xí)從專業(yè)培訓(xùn)中獲取。 這句話出自IBM。這說名一個主要的問題,IT的大部份內(nèi)容是需要自學(xué)的,在工作中獲得的含義就是自己通過一些項目的實踐,來進行學(xué)習(xí)和充電,也就是說只有在開發(fā)一個項目的時候才能真正的學(xué)到東西。那么剛剛開始學(xué)習(xí),我沒有工作呀,這怎么辦,其實這也很好辦,先要給自己當老板,安排自己要做一些東西,當然這些都可以是非常簡單的小軟件。比如做個通訊錄什么的。
4、必要的方法:認認真真的把MSDN中關(guān)于VB的內(nèi)容好好看一看,特別是函數(shù)和語句,很有用的。
MSDN里面關(guān)于VB的內(nèi)容一定要多看,有些方法和函數(shù)你可能用不到,但一定要知道,以后遇到類似的需求,只要一想就知道如何解決這個問題了。或者上 搜索問題答案,自己解決的問題才最增長能力.
5、遇到問題:不要直接去問別人,自己好好想一想,試著解決這個問題。
為什么先要自己想一想呢,因為當你自己想過好多辦法,解決一個問題,可能解決的辦法并不是最好的辦法,但絕對有利于你自己的提高,一個人水平的提高主要是通過獨立的解決問題來得到的。即實自己最后沒有解決問題,你自己思考過了,最后別人幫你解決,你也會想和很深入,以后再碰到類似的問題,也就能自己找到方法解決了。
6、基本理論:多研究些語言上的東西,如數(shù)據(jù)結(jié)構(gòu)和算法。
這個是成為高手的基本知識,沒有什么好說的了。
7、高手進階:如果想成為高手,還要會好多與VB不相關(guān)的東西。
真正的高手還要涉獵好很多知識,比如網(wǎng)絡(luò)協(xié)議,美工設(shè)計等,也就是說要提高自己的整體素質(zhì),而不僅僅是寫程序。
8、成為高手:要自己設(shè)計軟件,從頭到尾,哪怕是小軟件。
這一點是軟件工程師與代碼工人的主要區(qū)別,軟件工程師必需會設(shè)計軟件。
9、真正高手:編程語言是互通的,再學(xué)習(xí)一些其他言。
VB.net是純面向?qū)ο蟮拈_發(fā)語言,為了適應(yīng).net Framework的安全性,vb.net進行了不小的調(diào)整。但是關(guān)鍵字修飾符之類的基本沒有什么變化,所以您只需要習(xí)慣.net下的強類型,應(yīng)該是不難轉(zhuǎn)型。
舉個簡單的例子吧,vb.net下是沒有“變體類型”這一數(shù)據(jù)類型的,整型就是整型,字符串就是字符串,像
a = 50 + 60
Text1.Text = a
這樣的代碼是不行的,VB6.0支持變體類型,會自動進行類型轉(zhuǎn)換,而.net下為了保證安全性,會要求程序員自己進行必要的轉(zhuǎn)換。
至于API,.net框架下對API的依賴性像VB6中那么高,一些API完成的工作可以由一些類庫來完成。API的調(diào)用也不是一樣的,因為有些API涉及到了“不安全代碼”,而且API是用另一種非.net 語言編寫的,所以調(diào)用時有些特別的要求。
vb.net工作在.NET Framework下,與VB6的解釋執(zhí)行不同,VB.NET是編譯執(zhí)行的,.net下所有的應(yīng)用程序都被編譯成一種“中間語言(MSIL)”的形式,運行時由一種稱為即時編譯器(JIT)的程序進行二次編譯??梢哉f.net既是開發(fā)環(huán)境又是運行環(huán)境,它提供了通用類型系統(tǒng)(CTS)和“公共語言運行時”(Common Language Runtime,CLR),前者為開發(fā)時提供了類型支持,.net下語言中的基本數(shù)據(jù)類型都來自于這個類型系統(tǒng);后者為.net應(yīng)用程序提供了運行環(huán)境,包括JIT、GC(內(nèi)存垃圾收集器)等等,同時負責(zé)代碼的運行時安全。
最后,我感覺學(xué)一門語言并不難,難的是理解一些系統(tǒng)和程序設(shè)計中低層的東西,不過,我比較建議您學(xué)習(xí)VB.NET,因為它的純面向?qū)ο蟮奶匦员容^符合目前的軟件開發(fā)方式。
希望這些信息對您有幫助。