學.Net仍是學Java?二者有什麼區別?

解惑:學.Net仍是學Java? java

常常有初學者問出「哪門語言更有前途?是java好仍是.net好?大公司用哪門語言的多?學哪一個編程語言工資高?」這樣的問題。這樣的問題其實原本就是一個僞命題,就像「說英語的人有錢仍是說德語的人有錢」同樣沒有答案。
學習編程是一個學習編程思想的過程,用哪門語言並不重要。只要把本身選定的語言一門心思去學習就能夠,達到「一通百通」的境地之後任何編程語言在你眼中都是同樣的。語言無高低,內功心法才分上下。菜鳥拿到倚天劍也只能當鐵棍子掄,高手飛葉也能傷人。
固然不一樣的編程語言仍是有本身特點的,以目前最流行的java和.net來比較。不少人都有「java學習門檻高、學習起來難、工資高;.net門檻低、學習起來簡單、工資低」這樣的見解。這樣的見解是對的嗎?
因爲java開發環境配置複雜,不少java初學者被攔到了java的入門,不少java初學者把一個能打印一個「Hello world」的開發環境配置運行起來可能就要一週,然後續的tomcat的配置、eclipse的配置、struts配置文件的編寫、開發框架的搭配組合等等都須要手工完成,絕大部分初學者都被攔在了java語言的大門以外,而經歷千辛萬苦把java學下來的人都是毅力和自學能力很是強的人。
並且java沒有visual studio那種傻瓜化開發工具,完成一個程序你須要對java複雜的語法、java類庫、javaweb的原理、struts原理等很是熟悉才能開發出一個簡單的增刪改查的程序,所以java程序員的基本功都比較紮實。對於一個java程序員來說,即便沒有被重重挫折所戰勝,從開始學習到最終開發出一個能進行最簡單的增刪改查的javaweb網站也須要最少兩個月。
而.net程序員則幸福多了,因爲有了visual studio這個傻瓜化的工具,什麼都不用學習,只要把visual studio裝好啓動,而後拖幾個.net控件、設置幾個屬性、綁定一下控件,不用寫一行代碼幾分鐘就能開發出來一個管理系統。可是因爲不明白這些傻瓜化的拖控件技術背後的原理、不熟悉C#的語法、不知道什麼是ADO.Net、不熟悉.net的一些高級技術、不瞭解http原理,所以在遇到一些複雜的問題的時候就會一籌莫展,用這種拖控件形式開發出來的系統效率很是低,訪問人數一多網站就會很是卡。上過大學的同窗相信都對學校裏的教務處選課系統記憶深入,在全校一塊兒選課的時候全部人都卡的要命,這種系統通常就是用這些拖控件的技術開發出來的。
可是可悲的是,到書店裏一看,全部講.net開發的書籍所有都是講怎麼拖控件,從Label講到Button、從SQLDataSource講到GridView,做者辛辛苦苦的把控件的每一個屬性、方法、事件講解一遍,可是惟一沒有講的就是這些控件的內部原理。

因爲這些初學者賴以學習的學習資料所有都是講怎麼拖控件的,所以跟着這些教材學下來的程序員也是隻會拖控件、不明白原理的菜鳥。這樣因爲國內大部分.net程序員都停留在只會拖控件的水平,那麼就致使了.net程序員平均工資偏低了,很多.net程序員畢業後只有三千來塊錢工資。
因爲合格的.net工程師不多,而合格的java程序員則不少,所以用人單位在招人的時候.net的人招聘起來也比java招聘的難度更大,下面是從網上一部分HR發出的感嘆: 程序員



可是這對於有心者來說則是一個好機會。因爲.net程序員總體水平偏低,對於那些深刻掌握.net技術的人來講,他們進入公司以後,他的技術比其餘人都強,更會獲得領導的重視,那麼工資提高和職位提高也就不足爲奇了。 web

好比徐歡同窗在傳智播客.net班培訓的時候在班中學習成績屬於中下等的,可是因爲在傳智播客培訓期間學習了不少.net底層、深刻的技術,來到公司中工做了一個月後打電話跟老師說「在傳智播客培訓期間班裏的同窗各個技術都比我好,可是去了公司中才發現我居然成了公司中.net技術最厲害的人了,我們講課中一些很原理性的編程技術在公司中不少人都不懂,老闆看我技術很好很重視我。」徐同窗半年後工資漲了一倍,並且公司讓他帶領組建新的.net技術團隊。
像徐同窗這樣的案例在傳智播客並很多見,在2012年9月份傳智播客組織的.net老學員技術沙龍上,有50多名畢業一到兩年的傳智播客.net培訓班的老學員參加,通過調查統計數據以下:
工資漲幅200%及以上的有 12.7%
工資漲幅100%-200%的有 33.8%
工資漲幅50%-100%有 22.7%
25.6%的老學員被提高成爲了經理或者主管級別



綜上,Java入門門檻比較高,須要有足夠的毅力和百折不撓的精神,只要你能堅持下來你就能夠將不少人在入門門檻上就將不少競爭者甩在身後。.Net入門 門檻比較低,裝上VisualStudio就能夠立刻進行開發,不須要進行太多的配置、不須要學太多基礎知識,這樣能夠很輕鬆的掌握入門.Net學習,是 有很成就感的事情,能讓你有興趣進一步學習,可是你不能止步於此,所以你會發現身邊也有無數的人也是「輕鬆入門」,你就須要繼續深刻學習,深刻學習一樣需 要毅力和探索的精神,你要在這個階段上把絕大部分競爭者甩在身後。
.Net和Java並非必須兩者選其一,並不像不少初學者認爲的那樣「學一門語言就靠這門語言吃一生」,工做中極可能這個項目用Java,那個項目用.Net,所以你能夠喜歡某個語言,可是不要抱着一門語言不放,更不用擔憂「Sun被Oracle收購了,Java是否是完了?」、「我學.Net,若是微軟沒落了我是否是就失業了」之類的問題, 不一樣語言只是不一樣的工具,換了一個新的工具能夠很快的熟悉新的工具,大部份內容都是相通的,好比java中的web開發很熟悉了,轉而用ASP.Net也 會發現大部分東西都是和JavaWeb同樣的,很快就能上手ASP.Net,難道你如今用的是諾基亞手機,你會懼怕諾基亞倒臺你就不會用手機了 嗎?「Java完了、微軟死了」這類問題不是開發人員去關心的事情,而是華爾街那些金融大鱷去考慮的問題,我們只管用技術去賺錢養家就是了。 編程

相關文章
相關標籤/搜索