VB 6 程序員 :未來在哪里? (看破三個神話) 作者: BUILDER.COM Tuesday, July 23 2002 10:27 AM .NET占領市場的速度比原來預期的要稍微慢一些,但是,它向整個市場的滲透卻是不可避免的,而且這個過程也不曾有" name="description" />
MILY: 宋體; mso-bidi-font-family: 宋體">VB6程序員:未來在哪里?(看破三個神話)
作者: BUILDER.COM
Tuesday, July 23 2002 10:27 AM
.NET占領市場的速度比原來預期的要稍微慢一些,但是,它向整個市場的滲透卻是不可避免的,而且這個過程也不曾有過任何的停頓。許多分析人士都預言,在2003年的第三季度,那些采用.NET的主流軟件開發企業將會開始設計生產他們的第一批.NET應用軟件。這種轉變對于那些使用微軟產品的團體產生了一定的震撼,而且,現在對于‘VB程序設計人員將要去向何方?’這樣的與軟件開發的未來密切相關的問題也已經有了答案。
|
VB為上百萬的軟件開發設計人員提供了一種便利的開發方式。微軟公司在為人們提供足夠強大的功能以生產應用軟件和讓軟件開發者遠離容易出錯的Windows以及各種開發組件的過程中,也品嘗到了甜頭。
但是,現在的情況已經發生了很大的改變。對于.NET產品,微軟公司已經決定創建一個仍然能夠把軟件開發設計人員同特定的平臺分離開來的開發環境,但是這樣的話,程序設計人員就將不得不去處理各種有關組件開發的工作了。程序開發設計人員還可以像以前一樣在不考慮指針、內存分配、或者如何創建一個Windows消息處理器的情況下來繼續他們的工作,但是,程序開發設計人員們不再能夠忽略諸如名字空間、過載等等有關組件設計的問題與概念了。
當.NET經過了早期的被熟悉被接受的階段之后,VB程序開發設計人員將來只能擁有更少的選擇,只有選擇進行一定的改變。這是一次有關開發語言的震動,而且它也令許多的評論人士開始猜測對于這種種情況,VB程序開發設計人員會產生什么樣的反應呢?他們會不會轉而去使用Java來繼續他們的工作呢?他們會不會繼續使用VB并且完成到.NET的這次跳躍呢?如果是這樣的話,他們會選擇C#還是VB.NET呢?他們會要求微軟公司繼續支持VB6并且讓它保持一定的發展空間么?會不會有許多無法完成轉變的程序開發人員將以打零工的方式工作呢?
對于上面的這些問題我是不會做出任何預報的。但是我認為現在已經是時候來把圍繞這些問題的三個神話式的說法都澄清一下了。
神話一:.NET是一個從基礎上就要發生的轉變,因此,轉變到Java可能會更加容易一些。
對此,Forester Research調查公司的Frank E. Gillett做出了如下的論斷:
“對于VB程序設計人員來說,完成到.NET的轉變并不比完成到Java2平臺下工作的轉變要容易。這意味著什么呢?對于微軟公司來說,現在是到了讓他們重新考慮對Redmond的承諾,并且重新評估Java2、.NET平臺以及各種工具軟件的時候了?!?o:p>
我們需要提醒的是:“管理人員要注意的是,這樣的做法將會花費數額巨大的一筆資金,這是沒有人愿意看到的!”如果你能夠注意到這些語言的基礎元素(尤其是在Java與C#語言之間的),你就能夠理解這種觀念是從何而來的了。因此,與VB應用軟件的要求有所不同,開發和設計技巧所要求的都是相似的或者是相同的。但是,有許許多多的重要的因素也要被考慮在內。下面所列出的僅僅是它的一個子集。
Java開發環境總是顯得要更為復雜一些
在Java環境中可以被使用的為數眾多的工具,作為已經經過證實的那些強大能力中的一種,很自然的就導致了許多新的應用軟件和工具的產生(應用服務器、IDE、調試工具),這些都是軟件開發設計人員必須掌握的。每一種新的技能都擁有它自己的學習曲線,即使當這些開發將會在一個Windows的環境下被完成情況下也是如此。從另一個角度來說,經過許多改進的Visual Studio,對于那些VB程序員們來說會覺得更加簡單而容易掌握。他們馬上就能夠明白如何設置斷點或者如何使用完成編碼的那些功能特性。試圖同時完成從開發語言、開發工具以及各種基礎結構轉變是有很多不利之處的,很有可能會不得不需要增加更多的資金投入,而且失敗的可能性也會比較高。
使用.NET可以提升完成轉變的可行性
絕大多數的軟件開發公司都有自己的可以接受的最后期限,并且,在完成項目的計劃中,并不會包括用來完成應用軟件以及基礎結構轉變的那少數幾個月的時間。ASP.NET的頁面能夠和ASP頁面并行的運行,并且它還能夠共享管理機制,但是,如果想要完成到JSP的轉變,則需要做出更多的努力才能實現。從C#以及VB中調用COM對象的機制已經在一些文章、書籍或者會議上被講解過了。COM+ Services的結合體也被很好的記錄了下來。
大量“來自VB6”的東西也是可用的
有一件讓我感覺十分驚奇的事情,那就是,只有很少的資源能夠幫助我們完成從VB到Java的轉變。雖然我曾經見過一些幫為了助人們完成這一轉變而開設的客戶培訓課程,也見到過一些相關的書籍(其中絕大多數在現在看來已經是過時的知識了),但是,這些課程和書籍對于幫助完成這樣的轉變是遠遠不夠的。正如你可能期望的那樣,有很多的書籍是關于如何完成到VB.NET以及C#轉變的,其中包含了非常詳盡的各種編碼以及技巧性內容。在有了這些材料之后,程序開發設計人員可以更為快速而便捷的完成他們的轉變。
我建議以下面的內容作為上面那個神話的一種替代:
轉變到Java并不象轉變到.NET那樣的簡單,但是如果你考慮要進行這樣的一次轉變,現在是到了該下決心的時候了。
自從出現了VB以來,到現在這次要求程序員完成到.NET的轉變,是微軟公司讓Visual程序開發設計人員所做的最大的一次改變了。如果你已經考慮過要轉而使用Java,一定要考慮清楚這樣做的后果以及緊隨其后的費用。
神話二:有大量的VB程序開發設計人員將要轉而使用Java
|
過去,這些程序開發設計人員轉而使用Java的其中一個原因就是,Java語言在性能方面要遠遠的超出VB6,這種超前的距離可能是以光年為單位的,而且,Java在編制大型的、面向對象的應用軟件方面的表現也尤為突出。人們可以爭辯說Java對于這些任務仍然是更為合適的選擇,但是,至少現在來看,這個問題已經是可以爭論一番得了。在.NET出現之前,這個問題的答案是毫無疑問的。在Visual環境下實現功能強大的面向對象的設計是不太可能的。ASP就是一個巨大的被雜合起來的工具,它經常會導致速度的緩慢,也常常會產生一些無法維護的程序代碼。你可以編寫一整本有關VB以及ASP AntiPatterns的書。當然,那些要轉而使用Java的人是由于他們技術上的優越好像已經走到了盡頭。但是,那些準備要接受.NET的人們的數量則要比轉而接受Java的人多出許多倍,而且促使他們完成這些轉變的還有其它的一些因素,比如說處于銷售商以及考慮到安全方面的原因等等。
我認為,VB程序開發設計人員的未來是非常光明的??隙〞幸欢ū壤某绦蜷_發設計人員不能夠完成這次跳躍。VB程序開發人員現在已經開始對自己在開發中所扮演的角色進行一定的調整。一種結果是,他們已經和Excel的表結合成為一體,并且正在制作單屏的工具;另一種結果是,他們正在編寫將會被廣泛使用的電子商務應用軟件。在這些軟件開發設計者之中的一些人,他們的興趣、努力以及能力將處于VB6和VB.NET之間的某一個水平上。零售可能并不是他們的未來,但是他們可以轉變成為一種支持性的角色,不再象以前的程序員那樣了。除了這些人,絕大多數的軟件開發設計人員還是會完成到.NET的轉變。
神話三:如果你準備要轉變到.NET,那么你最好是轉到C#上去。
|
C#擁有它的名氣。它非常新,非常的酷,并且它也變得越來越炙手可熱。但是不同于C語言風格的語法,C#基本上與VB.NET是一樣的?,F在這些情況也已經被人們有所了解。下面所寫的,是我最近一次同一名C++程序員的談話記錄,這名程序員正準備完成從C++到C#的轉變。
程序員:“我不明白為什么所有的人都想要學習VB.NET?!?o:p>
作者:“那他們為什么不能學呢?”
程序員:“有許多的事情是VB.NET不能夠做到,但是C#卻可以做到的?!?o:p>
作者:“真的么,你指的是哪些事情呢?”
程序員:“VB.NET不能做attributes!”
作者:“VB.NET可以做到?!?o:p>
程序員:“是么?可以做到,但是它能不能夠作delegates呢?”
作者:“是的,這個它也可以做到?!?/SPAN>
所以,在專業人士中也存在著一定的誤解。Dan Appleman在對這方面的問題進行評論的時候做了一件很出色的工作,他的電子書Visual Basic .NET還是C#...到底應該選擇哪一個?可以在Amazon.com上被找到。處了缺乏對于過載的支持和不支持XML文件以外,VB.NET擁有C#所擁有的所有強大功能,而且還得加上一些額外的功能特性,比如說它可以提供完全實時的錯誤檢測,光是這一點就可以讓C#程序開發人員羨慕不已了。
我非常同意下面的這句話:“既然VB.NET與C#是如此的相似,那么做出決定可能并不需要那么多的技術背景?!?/SPAN>
Perception仍舊是這個市場的一個驅動力,而且對于程序開發設計人員們來說,C#也是一個全新的領域。如果VB.NET的動作不是那么迅速的話,第三方的工具支持的出現也并非不可能。C#有可能成為許多VB程序員的最佳選擇并不是由于它在技術上擁有先天上的優勢。
弄清楚問題的實質與核心
沒有上面這些所謂的神話擾亂我們的視線,我們就能夠進一步的弄清楚問題的實質。在將來,.NET會擁有那些現在還使用VB的軟件開發設計人員的支持。
在以后的文章里,我將會向大家介紹一些完成了到Java、VB.NET或者C#轉變的VB程序員以及開發小組。而且,我還會檢查他們為完成轉變所花費的代價,并且還要從他們的經驗中學習,如何才能夠讓轉變的影響變得最小,以及如何以最少的資金投入就可以完成轉變。
原文轉自:http://www.anti-gravitydesign.com