論:開發者信仰之“天下IT是一家“(Java .NET篇)

李朝強發表於2017-01-05

  比爾蓋茲公認的IT界領軍人物,打造了輝煌一時的PC時代。

  2008年,史蒂夫鮑爾默接替了蓋茨的工作,成為微軟公司的總裁。

  2013年他與微軟做了最後的道別。

  2013年以後,我才真正看到了微軟的變化。尤其是它的“雲優先,移動優先”的戰略,這才是符合新時代潮流的大勢。

  今天,既然我們重點是來討論Java與.NET領域的,那關於微軟的是是非非且放置腦後。我說.NET看起來更新很快,目前只是在彌補曾經犯下的錯。

  那.NET之前究竟錯在哪裡。.NET既然是微軟實現跨平臺與Java競爭的利器,那麼它在Java興起多少年之後,才漸漸的嶄露頭角。可謂後起之秀,它在吸取了C、C++和Java等語言的優點後,加入一些.NET自己的設計理念,形成了一個多語言、多平臺的.NET Framework框架。如果一定要拿.NET和Java做對比的話,我認為,至少要從兩個方面來看。

  第一、設計理念:

  1>Java不言而喻,瞭解Java歷史的人,都應該清楚。致力於打造一款可以一處編寫、到處執行的開發利器。像它的名字一樣,使你在開發的過程中,領略到咖啡質地的苦味和醇厚的香氣,其中的酸苦香甜總是耐人尋味。它作為中間語言,總要依賴於JVM,這也是無可厚非的。Sun的光輝已經不復存在,Oracle的步伐略顯遲鈍。Andriod的興起,給Java注入了新的活力,使其在世界程式語言榜上獨站鰲頭。

  2>.NET與Java的很大不同之處,在於,.NET是一個致力於打造一個多語言多平臺的軟體框架。.NET設想能把不同語言、不同習慣的開發者,都聚集起來,使他們能共同參與到一個專案裡來,於是,就會有了C++、C#、VB、F#等語言的開發者,用其所長,共同來完成一件事情,豈不壯哉。是軟體領域,首次超越了語言的界限,進入軟體開發領域的“國際化”。.NET與Windows與生俱來的先天優勢,藉助於Windows全球的市場佔有率,很快的推廣開來。道家言“福之禍所依”,正是.NET這種先天優勢,使.NET與Windows相生相剋。為什麼這麼說呢,因為.NET依賴Windows而生存,Windows須藉助.NET強大的功能來贏得市場份額,或者說是穩定PC市場。.NET要發展壯大,必須脫離Windows而獨在,可在2013年之前,處於市場戰略考慮,.NET不得不臣服於Windows,受其平臺束縛。這猶如森林的猛虎,被獵人(MS)綁住了四腳,眼看前方的羊群,即使它有再鋒利的爪牙,再怎麼的飢餓難耐,也只能為自己的目前的處境,哀婉嘆息,望穿了山林。我說.NET Core是彌補曾經犯下的錯,這也不為過,.NET的跨平臺,曾經常被人們拿來炒作,這是.NET的痛,現在用.NET Core來醫治這個傷口。

  .NET框架組成:(Winform、WPF、Silverlight、WCF、WebForm、ASP.NET(MVC、WebApi))

  3>Java也好,.NET也罷,其作為中間語言,都需要依賴於某種框架。Java有JVM,.NET有.NET Framework。都是物件導向的語言。Java可以實現的,.NET照樣可以移植過來。

  第二、市場概況

  1、成熟度:很多大的企業都是運用Java語言來進行產品研發的。很多開源的專案,都是Java來編寫的。原因有很多。Java畢竟比.NET早興起了很多年。它們有許多優秀的案例和成熟的框架。

  市場氛圍:在中國,有種怪現象,很多開發者,對微軟是存在或多或少的偏見的,可能是因為微軟總是喜歡問他們要錢,中國人最不喜歡談“錢”字哈。是存在利益衝突的。這樣一群人,只要聽說微軟的什麼什麼,第一個想到的不是先去了解,而是極力的斥責反對,還鼓動身邊的人,不要聽微軟瞎擺豁。難道都忘了,不瞭解就沒有發言權這句話了嗎?我曾在一篇部落格的評論中,斥責評論中的一些人,他們每天都用著微軟的東西,嘴裡卻總數落著微軟的不是,這豈不是自己在打自己的臉嘛。我覺得,我們應該客觀的看待事情,不要帶有感性的色彩,最後誤人誤己,何苦呢?

  2、安卓的興起:隨著Andriod的興起,國內,又一批類似DN這樣的IT培訓機構,又藉此,以IT人才匱乏為由,大肆吹噓,誇大其市場就業率。高昂的培訓費用,使多少盲目從事的新人,在面臨一次又一次的失業中,悔不當初。

  3、另外,linux的風行,給之前封閉的.NET家族不少衝擊。阿里曾稱:“我們的所有服務和平臺都執行於Linux。”。聽起來,多麼高大上啊。京東的技術架構、淘寶這十年等這些經驗,都在警告.NET,你不擁抱linux,我們就放棄你。

  .NET的開源,振奮了整個.NET領域。有一群,或者很多群,開發者正積極參與.NET的開源事業中,他們勇於創新和實踐,將.NET領域的最新技術,應用與實踐。或許,已經有很多公司已經在默默使用微軟這些技術了。

  《StackOverflow的最新架構:.NET技術+25臺伺服器怎樣支撐世界第53大網站》,它的成功,更加鼓舞了.NET開發者的信心。微軟對Docker技術的支援,正象徵著微軟這頭沉睡的獅子,依然覺醒了,它依然威武雄壯。

  每一個開發者,都應該有自己的信仰,這也是IT文化的一種傳承吧。那有人會問,Java開發者的信仰來自哪裡?Java開發者的信仰,自然是Java語言自身。我認為,它來源於對Java語言的自信,它有廣闊的前景市場,有豐富的框架資源,有令人滿意的待遇收入。

  .NET開發者自然也有自己的信仰,那就是.NET平臺。相信.NET的覺醒,會使更多的企業和開發者,投入到.NET的懷抱。

  既然從事Java和.NET的人,都是有信仰的,那我們又何況用自己的信仰去嘲笑另一種信仰呢?中國幾千年了,道教和佛教,依然和平相處著。春秋時,諸子百家爭鳴,也未嘗聽說有互相攻擊的事件發生,他們可以通過自己的信仰學識,向當政者,闡述自己學派的主張。我們也可以通過我們的信仰,在不同的領域共存,很有可能,會在未來某個時間,Java和.NET會一較高下。平臺有了,接下來,要看的,就是我們這些來自Java .NET不同學派的學子們,如何在中國這片錦繡山河中,各領風騷,嶄露頭角了!

  所以,在以後的生活裡、社群裡、部落格裡、論壇裡,我不希望聽到有“.NET不行”、“我們都用Java”、“以後要換成Java”、“大公司都用Java”、“我要轉行學Java”等這樣的話了。

  最後,想說的是,Java和.NET,亦師亦友,拋開學派的偏見,以合作的精神,共同去完成一件事情,豈不快哉!也順應了這個時代的發展,創造更多的價值!也懇請,企業同仁們,不要受少數偏執派的影響,勇於去接受新生的事物,“海納百川,有容乃大。溝壑千里,無欲則剛。”。在這裡,我倡導,“天下IT是一家”!

相關文章