1. 三個神話的破滅 VB程序員未來究竟在哪
許多分析人士都預言,在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平台以及各種工具軟體的時候了。」我們需要提醒的是:「管理人員要注意的是,這樣的做法將會花費數額巨大的一筆資金,這是沒有人願意看到的!」如果你能夠注意到這些語言的基礎元素(尤其是在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#轉變的,其中包含了非常詳盡的各種編碼以及技巧性內容。在有了這些材料之後,程序開發設計人員可以更為快速而便捷的完成他們的轉變。