| 文章類別 | 資訊科技 |
| 自訂文章類別 | .NET Framework Microsoft Visual Basic Visual Studio Express |
| 自訂個人專欄名稱 | 腦殘的編輯 |
VB.NET?
Jay常說我不務正業,再不寫寫資訊科技類的東西,我想他又會一直唸著要我到科技業工作吧。
前幾天,回顧以前在另一個部落格所寫的文章,好像真的有那麼一點點像Jay所講的,可以學到一些東西。
不過,其實那時候的我,對文字不是那麼在行,總是想到什麼就寫什麼,也沒細想該怎麼呈現,才能讓接受訊息的人容易理解。
僅管,當了編輯的我,在日復一日與文字纏鬥的過程中,好似應該要能掌握那麼一些些呈現的技巧;但事實上,我總覺得我被文字玩弄的更甚了。
離題了。那麼,回到主題,相信許多人都聽過ASP.NET,說這個是微軟出的產品,應該沒人有異議;然而,如果我說微軟並沒有出過VB.NET這個產品,你應該就不相信了吧。
在解釋之前,先來看看.NET Framework這個產品吧。.NET Framework現在已經是Windows作業系統中的一部分了,簡單的說,概念有點類似仿效Java的跨平台,但是並不是跨平台,而是以CLR(Common Language Runtime)的概念實現。
要釐清CLR之前,可能得先瞭解.NET架構中最重要的一部分-CLI(Common Language Infrastructure)。.NET希望實現多種不同的程式語言,能夠使用在同一種架構上,這樣開發者(不論原先是以什麼程式語言開發系統)便能快 速地轉換至.NET平台上,因此訂定了CLI這個規範;而CLR則是以CLI規範為架構所實做出來的產品,就像是Java中的虛擬機器
一樣,不論你用什麼語言開發系統,都可以編譯成這個虛擬機器所可以運行的機器語言。
以這個為主要概念,再加上組譯器、函式庫、記憶體管理等,便形成了.NET Framework。那麼,回過頭說,大多數的人都知道,可以使用C#、Visual Basic、J#等語言開發.NET平台上的程式,而上述的這些程式語言,其實就是遵循CLI的程式語言。以下圖來看,就是運行在最底層綠色的部分。
看完上圖,你可能也同時發現了,ASP.NET卻是位在上層。ASP.NET是元件式軟體工程(Component-Based Software Engineering, CBSE) ,其主要概念認為軟體就應該被元件化,再藉由多個不同的元件,組成一個可用的應用軟體;當然,元件式開發的好處就是元件的再使用(reuse)。
因此,雖然ASP.NET也是歸屬在.NET Framework中,但已經是屬於較高層的部分了,所以一樣可以使用Visual Basic或C#等語言來開發網路應用程式(ASP.NET是專為網路應用程式而開發出來的)。
有了這些觀念,再回過頭來看,為什麼VB.NET不是一個產品呢?其實,得知這個答案時我也覺得很納悶,明明就有這個名詞,為什麼微軟回覆說他們公司沒有生產這個產品呢?
這是因為,最早是由Microsoft Visual Studio 2005版本(免費版的是Express)開始支援開發.NET平台的應用程式,而Visual Basic則是其中一種開發的語言,也就是說,是CLI語言中的一種。更正確的說,你可以說微軟的產品中,Visual Basic 2005 Studio (or Express) Edition,是可以拿來開發.NET平台的應用程式,但是微軟中的產品,並沒有專門命名為Visual Basic .NET的產品。
哈,很龜毛吧。是的,這又是約定俗成的 問題,微軟的確沒有一個產品的名稱就是Visual Basic .NET,然而大家為了區分2005版本之後就是可以用來開發.NET平台的應用程式,所以大多稱其為VB.NET,其實,好像也沒什麼錯;會探討這個問 題,也是因為我們跟微軟公司申請試用版軟體時,正因沒有生產這個產品為由而遭受駁回,也因此,才想跟大家說說這個議題。
算是正名吧,我想。
延伸閱讀:約定俗成、Read Only真的只能唯讀?、CMOS and BIOS。
__________________________
腦殘,卻認真。
http://stupid-editor.vox.com
- gloomcheng 的部落格
- 如果想要發表回應,請先登入 或 註冊。
- 瀏覽次數: 562




最新回應
1 週 1 日 前
1 週 1 日 前
1 週 3 日 前
2 週 1 日 前
2 週 1 日 前
2 週 2 日 前
2 週 2 日 前
3 週 2 日 前
3 週 4 日 前
5 週 3 小時 前