VB.net是微軟最新平臺技術,是.netframeworkSDK的一種語言。VB.net和VC#.net在功能上沒有區(qū)別。編譯以后生成的可執(zhí)行文件被稱為Assembly,即
從策劃到設計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網站。為客戶提供網站設計、成都網站設計、網站策劃、網頁設計、域名與空間、虛擬主機、網絡營銷、VI設計、 網站改版、漏洞修補等服務。為客戶提供更好的一站式互聯(lián)網解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。
程序集
。
1、從OOP概念上講,VB不是一個真正的面對對象的語言,他不支持繼承等一些面對對象的特性,而VB.net是一個面對對象的語言,支持這些特性
2、VB和VB.net都可以用來網絡編程的,這點可以肯定,兩者都有這個功能
VB是通過控件進行網絡編程,而VB.net可以通過VB的控件,也可以是用.net框架提供的system.net命名空間下的所有的類
3、正確理解VB.net中的.net,.NET 是微軟推出的一種新的編程思想和模式,對于網絡提出了一個新的概念(當然功能有了很大的革新),微軟在.net 框架中規(guī)定了通用語言規(guī)范,只要符合這個規(guī)范,都可以利用.net強大的功能來完成任務,比如delphi.net ,他是.net和通用語言規(guī)范結合的產物,.net 框架提供了好多功能,簡單列出一些命名空間
System 包含所有的數(shù)據(jù)類型和...
System.IO包含Windows文件,數(shù)據(jù)流的訪問操作和...
System.Net包含網絡有關的各種協(xié)議TCP,UDP等等和...
System.Text包含字有關的,比如經典正則表達式
System.Data包含訪問數(shù)據(jù)的所有的類
System.Web包含Web有關的,比如Web Services的新概念
System.Drawing包含GDI+的所有功能,可以繪制圖形
System......等等
當然還包括Microsoft.VisualBasic等微軟產品的系列的命名空間
這些命名空間可以用于所有.net的應用程序,比如可以用System.Drawing包含GDI+的所有功能來Web上動態(tài)的設計圖表
而實現(xiàn)它就可以用VB.net的語言
4、可以寬泛的來解釋就是:VB.net=VB(OOP)+.net
5、VB.net的運行方式和VB不同,比如VB就是通過一個DLL動態(tài)鏈接庫文件來編譯的,而VB.net是先生稱MSIL(微軟中間語言)代碼,然后通過通用語言運行時,將MSIL繼續(xù)編譯生成更好更高效的代碼。這位朋友可以試著用一下.net下的vbc.exe編譯工具,寫個小程序編譯下試試
6、兩者語法相同,但有少許差異,VB.net的運算符和一些錯誤處理機制多了一些
7、VB和VB.net最擅長用于快速開發(fā),不需要太過于考慮性能的快速開發(fā),但是VB.net和其他語言的功能天生是相等的,現(xiàn)在的VB.net用于Web應用程序,WinForm應用程序開發(fā)的情況就比較多,而其他應用我不是很了解或一時想不出來,我有個朋友就是用.net做嵌入式開發(fā)的,但他們公司也用.net 做3G開發(fā)
8、狗屁六級的vrhero,“VB.NET也是VB”還在這兒放這么多廢屁,這樣的人就是沒事找抽型 把你的6個問題也給解釋一下,1、smalltalk是純粹的OOP語言,Java %90的OOP,VB不支持OOP的特性,所以不完全是,夠明白了吧2、完全不知所云---我寫的這些不是拷過來的,不能說我不知所云3、我只是把我經常用到的命名空間告訴這位朋友不為過4、誤人子弟,屁話5、屁話6、筆誤,是我的錯7、你用VC++開發(fā)web給我看看,相比VB.net和C#看看那個快,各種語言都各有所長,不是我說的,微軟.net系列清華出版的這么多書,那本不都有說明嗎?你補充的那幾句,學過.net的人都知道,沒有實用價值。
“除了語法和使用習慣的繼承,VB 6.0之前的版本和VB 7.0之后的版本完全沒有聯(lián)系,幾乎沒有相同之處,兩種不同體系的語言”和“VB.NET也是VB ”這種自相矛盾的話,就認為這位高級經理是大腦發(fā)熱,筆誤吧!
vb.net是基于.NET框架的完全對向對象的編程語言,而vb 6.0只是半面向對象的語言,使用vb.net可以編制出功能更加強大的windows程序?,F(xiàn)在,我們把vb.net和vb 6.0做一下比較,看看vb.net對比vb 6.0有著什么樣的特性和優(yōu)點。 1.在vb 6.0中,創(chuàng)建對象的時候,需要等這個對象創(chuàng)建完畢后,再另外調用一個獨立的方法對其進行初始化。在vb.net中, 可以利用構造函數(shù)為對象賦初值,這樣就不需要進行煩瑣的調用賦初值了。構造函數(shù)的使用,簡化了編碼的過程和出錯的機會。 2.vb.net編寫線程的能力比vb 6.0有很大的增強。 3.在vb 6.0中,需要首先聲明一個變量,然后才能對其賦值,這樣就需要寫兩行代碼。在vb.net中,可以 使用初始化函數(shù)將這兩個步驟合并在一行代碼中完成,這個似乎微小的改進,提供了更少、更簡單、更易于維護的代碼。 4.vb.net基于.NET框架,開發(fā)者可以快速的可視化開發(fā)網絡應用程序、網絡服務、Windows應用程序和服務器端組件。 5.因為vb.net是基于.NET框架的,可以與其它.NET語言協(xié)同工作。 6.在vb.net中,通過Web窗體及ADO.NET,開發(fā)者可以快速開發(fā)可擴展的Web站點。 如果你能進一步學習vb.net,你會發(fā)現(xiàn)更多的新特性和優(yōu)點。
VB6.0采用可視化的編程環(huán)境,它好學易用,運行VB6.0后,會出現(xiàn)如下圖所示的窗口,呵呵,看起來蠻復雜的,好多的按鈕、菜單、小窗口,別擔心,待會兒我們會一起學習這些東東都是干什么用的。
先來解決一個小問題,怎么新建一個VB的工程呢?方法是這樣的,在程序啟動時出現(xiàn)的“新建工程”對話框中選擇“標準EXE”并點擊確定,就能直接新建一個工程,如果你跳過了這個對話框則也可從“文件”菜單中選擇“新建工程”重新調出此對話框。
下面一起來看看VB的編程環(huán)境,雖然看起來復雜,但可以把它分為幾個部分,每個部分都有自己特定的功能,這樣我們就清楚多了。其實VB這是通過這樣一個界面把相近或同類的功能組合在一起的,它使我們在設計程序時能方便的控制程序的方方面面。
JAVA:
◇ 創(chuàng)建一種面向對象的程序設計語言,而不是面向過程的語言;
◇ 提供一個解釋執(zhí)行的程序運行環(huán)境,是程序代碼獨立于平臺;
◇ 吸收C和C++的優(yōu)點,使程序員容易掌握;
◇ 去掉C和C++中影響程序健壯性的部分,使程序更安全,例如指針、內存申請和釋放;
◇ 實現(xiàn)多線程,使得程序能夠同時執(zhí)行多個任務;
◇ 提供動態(tài)下載程序代碼的機制;
◇ 提供代碼校驗機制以保證安全性;
Java語言的特點(1)
1. 簡單、面向對象和為人所熟悉
java的簡單首先體現(xiàn)在精簡的系統(tǒng)上,力圖用最小的系統(tǒng)實現(xiàn)足夠多的功能;對硬件的要求不高,在小型的計算機上便可以良好的運行。和所有的新一代的程序設計語言一樣,java也采用了面向對象技術并更加徹底,所有的java程序和applet程序均是對象,封裝性實現(xiàn)了模塊化和信息隱藏,繼承性實現(xiàn)了代碼的復用,用戶可以建立自己的類庫。而且java采用的是相對簡單的面向對象技術,去掉了運算符重載、多繼承的復雜概念,而采用了單一繼承、類強制轉換、多線程、引用(非指針)等方式。無用內存自動回收機制也使得程序員不必費心管理內存,是程序設計更加簡單,同時大大減少了出錯的可能。java語言采用了C語言中的大部分語法,熟悉C語言的程序員會發(fā)現(xiàn)Java語言在語法上與C語言極其相似。
2. 魯棒并且安全
java語言在編譯及運行程序時,都要進行嚴格的檢查。作為一種強制類型語言,java在編譯和連接時都進行大量的類型檢查,防止不匹配問題的發(fā)生。如果引用一個非法類型、或執(zhí)行一個非法類型操作,java將在解釋時指出該錯誤。在java程序中不能采用地址計算的方法通過指針訪問內存單元,大大減少了錯誤發(fā)生的可能性;而且java的數(shù)組并非用指針實現(xiàn),這樣就可以在檢查中避免數(shù)組越界的發(fā)生。無用內存自動回收機制也增加了Java的魯棒性。
作為網絡語言,java必須提供足夠的安全保障,并且要防止病毒的侵襲。java在運行應用程序時,嚴格檢查其訪問數(shù)據(jù)的權限,比如不允許網絡上的應用程序修改本地的數(shù)據(jù)。下載到用戶計算機中的字節(jié)代碼在其被執(zhí)行前要經過一個核實工具,一旦字節(jié)代碼被核實,便由java解釋器來執(zhí)行,該解釋器通過阻止對內存的直接訪問來進一步提高java的安全性。同時java極高的魯棒性也增強了Java的安全性。
3. 結構中立并且可以移植
網絡上充滿了各種不同類型的機器和操作系統(tǒng),為使java程序能在網絡的任何地方運行,java編譯器編譯生成了與體系結構無關的字節(jié)碼結構文件格式。任何種類的計算機,只有在其處理器和操作系統(tǒng)上有java運行時環(huán)境,字節(jié)碼文件就可以在該計算機上運行。即使是在單一系統(tǒng)的計算機上,結構中立也有非常大的作用。隨著處理器結構的不斷發(fā)展變化,程序員不得不編寫各種版本的程序以在不同的處理器上運行,這使得開發(fā)出能夠在所有平臺上工作的軟件集合是不可能的。而使用Java將使同一版本的應用程序可以運行在所有的平臺上。
體系結構的中立也使得java系統(tǒng)具有可移植性。java運行時系統(tǒng)可以移植到不同的處理器和操作系統(tǒng)上,java的編譯器是由java語言實現(xiàn)的,解釋器是由Java語言和標準C語言實現(xiàn)的,因此可以較為方便的進行移植工作。
1.2.4 Java語言的特點(2)
4. 高性能
雖然java是解釋執(zhí)行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字節(jié)碼可以快速的轉換成為機器碼進行執(zhí)行。而且java字節(jié)碼格式的設計就是針對機器碼的轉換,實際轉換時相當簡便,自動的寄存器分配與編譯器對字節(jié)碼的一些優(yōu)化可使之生成高質量的代碼。隨著java虛擬機的改進和"即時編譯"(just in time)技術的出現(xiàn)使得Java的執(zhí)行速度有了更大的提高。
5. 解釋執(zhí)行、多線程并且是動態(tài)的
如果你了解C語言和C++語言,可以參考下列Java與C/C++語言的比較,如果不了解C語言和C++語言,可以忽略本部分知識。
a. 全局變量
Java程序不能定義程序的全局變量,而類中的公共、靜態(tài)變量就相當于這個類的全局變量。這樣就使全局變量封裝在類中,保證了安全性,而在C/C++語言中,由于不加封裝的全局變量往往會由于使用不當而造成系統(tǒng)的崩潰。
b. 條件轉移指令
C/C++語言中用goto語句實現(xiàn)無條件跳轉,而Java語言沒有goto語言,通過例外處理語句try、catch、finally來取代之,提高了程序的可讀性,也增強了程序的魯棒性。
c. 指針
指針是C/C++語言中最靈活,但也是最容易出錯的數(shù)據(jù)類型。用指針進行內存操作往往造成不可預知的錯誤,而且,通過指針對內存地址進行顯示類型轉換后,可以類的私有成員,破壞了安全性。在java中,程序員不能進行任何指針操作,同時Java中的數(shù)組是通過類來實現(xiàn)的,很好的解決了數(shù)組越界這一C/C++語言中不做檢查的缺點。
d. 內存管理
在C語言中,程序員使用庫函數(shù)malloc()和free()來分配和釋放內存,C++語言中則是運算符new和delete。再次釋放已經釋放的內存塊或者釋放未被分配的內存塊,會造成系統(tǒng)的崩潰,而忘記釋放不再使用的內存塊也會逐漸耗盡系統(tǒng)資源。在Java中,所有的數(shù)據(jù)結構都是對象,通過運算符new分配內存并得到對象的使用權。無用內存回收機制保證了系統(tǒng)資源的完整,避免了內存管理不周而引起的系統(tǒng)崩潰。
e. 數(shù)據(jù)類型的一致性
在C/C++語言中,不同的平臺上,編譯器對簡單的數(shù)據(jù)類型如int、float等分別分配不同的字節(jié)數(shù)。例如:int在IBM PC上為16位,在VAX-11上就為32位,導致了代碼數(shù)據(jù)的不可移植。在java中,對數(shù)據(jù)類型的位數(shù)分配總是固定的,而不管是在任何的計算機平臺上。因此就保證了Java數(shù)據(jù)的平臺無關性和可移植性。
f. 類型轉換
在C/C++語言中,可以通過指針進行任意的類型轉換,不安全因素大大增加。而在Java語言中系統(tǒng)要對對象的處理進行嚴格的相容性檢查,防止不安全的轉換。
g. 頭文件
在C/C++語言中使用頭文件聲明類的原型和全局變量及庫函數(shù)等,在大的系統(tǒng)中,維護這些頭文件是非常困難的。java不支持頭文件,類成員的類型和訪問權限都封裝在一個類中,運行時系統(tǒng)對訪問進行控制,防止非法的訪問。同時,Java中用import語句與其它類進行通信,以便訪問其它類的對象。
h. 結構和聯(lián)合
C/C++語言中用結構和聯(lián)合來表示一定的數(shù)據(jù)結構,但是由于其成員均為公有的,安全性上存在問題。Java不支持結構和聯(lián)合,通過類把數(shù)據(jù)結構及對該數(shù)據(jù)的操作都封裝在類里面。
i. 預處理
C/C++語言中有宏定義,而用宏定義實現(xiàn)的代碼往往影響程序的可讀性,而Java不支持宏定義
vb.net入門經典
Visual Basic 6.0 Internet編程指南
中文Visual BASIC 6.0實用教程
融會貫通Visual Basic6.0(基礎篇)
以前版本的Visual Basic雖然號稱自己是一種OOP(面向對象)編程語言,但卻不是一個地地道道的OOP編程語言,最多只是半個面向對象的編程語言。但Visual Basic.NET已經是一種完全的面向對象的編程語言。他支持面向對象的所有基本特征:繼承、多態(tài)和重載。這使得以前在Visual Basic中很難或根本實現(xiàn)不了的問題,在Visual Basic.NET中可以順利的用簡單的方法實現(xiàn)。
這個分國內和國內,VB.net在國外用的多點,國內用的少,如果一定要學的話建議學C#.net,只要適應下語法就行了,這個不是啥初不初學者的問題,只是市場占用率不夠,C#主要用在后臺服務、WEB、桌面軟件開發(fā)上(尤其桌面軟件開發(fā)這一點是目前其它主流軟件都無法比的),缺點就是無法用在手機APP開發(fā)。至于你說的底層倒不是什么問題,因為99.9%的軟件都不會涉及什么底層的東西。
如果要選一個目前主流的語言,那就是java了,用的比較廣泛,也能兼容android手機開發(fā)。如果是蘋果手機開發(fā),那就要學swift了。
下面是2019年9月TIOBE的編程語言排行,可以看看