1. 程式人生 > >Java vs .NET,我該選擇什麼?

Java vs .NET,我該選擇什麼?

寫下這個標題後,一陣心酸。

出道太晚了,時代的車輪在高速前行,我卻遠遠地看著,追之不及,惟嘆息耳。

  唉,年華已逝,逝者如斯啊。如果我還是一個學生,該有多好,可以自由選擇,甚至多選。

學習.NET已兩個星期了。然而當週一接到福建那邊招標檔案的時候,我突然莫名地懊惱了整整一天。招標檔案要求UNIX系統、J2EE架構、Oracle資料庫的。

我很憤怒。為什麼?.NET真的只適合於中小型系統?是否乾脆就象多數人認為的那樣,只是做網站用的?幾條高速公路的管理軟體,資料量這麼小,卻象大型企業級應用一樣……

直覺告訴我,結合了C#的.NET足夠強大。C#本來就相當於改良的Java語言,.NET框架提供的便利當然遠比J2EE要強,開發效率也無出其右。Java是元件式設計,.NET的元件式設計意圖更為明顯,Java強調複用,.NET同樣強調複用。為什麼大家不用.NET?

帶著失望與頹廢的情緒,我在CSDN上搜到了一篇貼子,很牛的一個Java開發人員,做了五年Java,開發了很多大的系統,現在卻逐漸向.NET靠攏。跟篇貼子很長,感覺凡是做Java並深層次地接觸過.NET的人,對Java的低效都很有感觸。凡是做Java但沒用過.NET的人,多半持懷疑態度。歸納如下:

1)Java開源,是其優點,也是其缺點,太多的選擇不僅讓新手、也讓老手無從下手;

2)缺少靈活的偵錯程式,配置相當麻煩,一個Java配置老手一定比不上一個.NET配置新手的速度更快;

3)理論太多,沒有象.NET那樣鮮明的路線,使用者今年要求這種框架,明年看到那種框架不錯,又要求那種框架,結果改來改去,不勝其煩;

4)跨平臺更象一個擺設,沒有哪個客戶會去想隨便更換平臺的;

5)開發效率低,週期長,成本高。隨便哪個軟體,只要用Java一寫,成本鐵定翻番;

可嘆的是,大家用Java的理由居然是:

1)政府逼我們用Java。政府部門一般都要求上Linux或Unix系統(儘管我不認為這些系統是真的架構勝過Windows而較少受攻擊,實際上,黑客更多是將對微軟的不滿發洩在了Windows上。),不用Java,用啥?

2)客戶指定用Java。就象這個系統一樣,他們聽慣了時髦的名詞,彷彿不上Java專案不能體現企業精神。

也許我是有點偏激了,可是幾十篇跟貼中,那麼多做Java的,居然沒有幾個舉得出更多的技術上的道理。常見的原因是:我愛Java是因為討厭微軟的獨裁;我愛Java是因為它我用它時有更多程式設計師的感覺。

然而時代不同了。隨著SOA面向服務架構的出現,以及中介軟體、平臺概念的大眾化,今後的程式設計師將走兩級分化的路子:頂層的是架構師,中間的是平臺廠商,底層是軟體藍領。軟體的本質是滿足需求,我做程式是因為別人要用程式,不是因為我喜歡某種感覺。

軟體是思想,就讓我繼續走微軟路線吧。誰讓它簡單、易用呢?

也許有機會到一個使用Java的環境中,我會學習Java的。畢竟開源作業系統、自由軟體正做著主導歷史舞臺的準備。

12月12日接福建招標文有感)