Net的學習的成本真的比Java低嗎?
“JAVA更難學習內容更多”絕對是一個彌天大謊!正好相反,.NET要學的東西其實遠遠多于JAVA,而且難度只在JAVA之上不在之下!如果決定搞.NET,那就要準備好要比JAVA吃更多的苦!由于國內.NET應用的局限,諸如在美國大量使用的.NET技術體系中的WCF,WPF,LINQ, Entity framwork,SQL SERVER SSRS SSIS等技術在國內幾乎不用或者用得很少,再加上.NET上手快, 很多國內的人有了錯誤的認識,以為JAVA是高大上,.NET是小兒科,這簡直是天大的誤會!等你來了美國,上http://pluralsight.com和amazon上隨便看看,無論書籍還是教學視頻資料量,.NET幾乎是JAVA的5-10倍!再看看http://dice.com對.NET程序員和JAVA程序員要求上的差別,JAVA招聘需要的技能種類明顯少于.NET。做JAVA的可以對前端就不懂也有大量職位(如CORE JAVA)。但.NET程序員對前端的要求就明顯高過JAVA,很多要求前后端都要精通的。連桌面開發WPF軟件的用人公司也變態地要求前端精通,,結果是不懂甚至不精通前端幾乎不能找.NET的工作,但JAVA就可以!不要以為JAVA要的技能項目要求少就是更難掌握和精通了,.NET一樣可以很難!光一本WCF的書就可以一千多頁,隨便一個WPF這種技術難度也遠在JAVA SSH之上。我深入學習過兩種語言,負責任地說,C#可以說難度和知識點廣度上絕對是超過JAVA SE的。你去微軟MSDN上查一下API,復雜程序遠遠超過JAVA SE的API文檔。光是這些錯綜復雜的內容體系是如何編排的,這個知識網的結構是怎么在微軟網站上組織呈現出來的都要搞很久才能真正弄清楚,更不要說知識本身了。再來個例子,看看JAVA的SERVLET和JSP網絡技術,那種單純性,簡單性和浩瀚無垠的http://ASP.NET體系去比,要學習的內容無論廣度很深度都要差太多。所以為什么國外http://ASP.NET的書動輒超過1000頁,但大部分JSP SERVLET的書都是些5-6年前甚至十幾年前出的還比http://ASP.NET的薄很多?
.NET上手快是因為有一些自動系統自己可以做出來的東西,比如拖控件。但是如果僅僅說有拖控件就斷定這個更簡單那就太膚淺了!后面還有很多可以程序員自己手工做的呢!你換個思路,用幾句不精確的話來描述.NET和JAVA之間的異同:JAVA不能拖控件,只能自己寫程序;而.NET不但能拖控件,還可以自己寫程序,而往往工作中拖控件自動完成的和自己寫程序都要用到。而拖控件并不是看小說那么簡單也要花巨量的精力學習的。你想想,既要拖控件又要手寫是不是比只要手寫還多一個拖控件的內容?怎么反而會更簡單呢?既然多了一項拖控件的任務那應該是內容更多了更難了,而不是更少了更簡單了!!
JAVA技術體系更新非常慢,學完C#再去看JAVA SE感覺象小兒科,很多JAVA 8的最新特性也許多少年前C#就有了。象SERVLET,JSP,EJB,SSH等更新的速度和.NET體系更新速度比簡直象蝸牛。為什么5年6年前的JAVA 技術的教學視頻現在還被掛在傳智播客,尚學堂和動力節點的培訓班網站上,還沒有淘汰呢!想想如果換了.NET,可能嗎?!
JAVA技術是開源的,可以看源碼透析工作原理,但.NET沒有全開源,沒有源碼的話要真正弄弄背后原理是很難的。如http://ASP.NET的原理就遠遠比JSP等深奧很多。