-
1 # 網路圈
-
2 # 進化中的程式猿
首先作為一個一直追隨微軟技術的老程式設計師,我沒看成出.Net有什麼衰落了。
這麼多年我見過很多有多年開發經驗和精通Java或.net開發的程式設計師,很少或基本不會去比較誰優誰劣。倒是很多剛入門或者對程式開發一知半解的人確熱衷於談論Java比.net如何如何。任何程式語言和開發框架,都有它的適用性和優缺點,在他擅長的領域內,他會如魚得水,反之必有各種劣勢和缺點。
我們大部分人說到.Net其實是指C#程式語言和.Net Framework開發框架。早年從事開發工作的人都知道寶藍公司的Delphi(.net脫胎於Delphi),當年Delphi盛極一時,可以說天下無人不識君,幾乎統領所有的開發領域,如果不是由於寶藍公司高層決策失誤和微軟的打壓、挖角。估計就不會有今天的Java什麼事了。後來Delphi之父(Anders Hejlsberg)及其他核心技術人員被挖到微軟麾下,才有了繼承了Delphi所有優點並加以發揚光大的驚世之作C#和.Net,但因微軟的封閉和平臺限制,使.Net沒能延續Delphi當年的輝煌。
1、從C#語言來說,我認為是當今最優秀的開發語言之一,程式碼嚴謹優美,可讀性強,結構規範合理、資料型別豐富,功能強大易用,完全符合面向物件的程式設計思想和開發方法,並具有如語言整合查詢和非同步構造等其他語言所不具備的許多獨特的功能。
2、從開發框架來說,.Net Framework集成了微軟的技術優勢和強大資源,類庫豐富,在Windows平臺下,可以幫助你快速完成幾乎所有應用型別的開發。這也是讓一些人覺得.Net開發入門門檻不高的原因之一,但實際上真正精通.Net的程式設計師卻很少。
3、隨著ASP.Net的MVC和Web API的推出,.Net彌補了其在Web開發方面的不足,使.Net程式設計師同樣可以快速、高效的建立Web應用程式。
4、隨著.Net Coer的推出,為.Net程式設計師提供跨平臺工作的機會。
5、在Windows平臺下,.Net具有無人能比的霸主地位,在網際網路應用和跨平臺方面,微軟正在集中精力奮起直追,微軟依靠其多年的技術積澱和強大的技術優勢,一旦回到正確的發展方向上來,並報以開放的姿態,前途將不可估量。
6、目前.Net最大的短板是在移動網際網路的應用上,但在其他基於PC的行業應用軟體的開發上是佔有絕對優勢的。
7、相對於Java,.Net的不開源生態、高昂的正版使用費用和其對Windows平臺的過分依賴,才是大家捨棄並遠離.Net的根本原因。
-
3 # 思維與學習
C#是最好的 OO 語言,沒有之一。VS 也是非常好的開發平臺,也沒有之一。2 者結合得很好,可惜就是不跨平臺。當年就預測.net 走不遠。微軟總是在犯錯,不會引領和超前。.net已經多少年了?還不跨平臺。
.net
不跨平臺,只有一個字:死 !等 google chrom OS 起來,等 5G 時代到來,微軟 windows 又將面臨一次沒落 !windows 10 或許就是最後的絕唱 !
-
4 # TaishanPlus
.NET 從asp.net衰落。2008年.net鼎盛期,本人花了兩年時間用asp.net做了個專案,雖然花費了大量時間,當時也以為它很好。後來用了非.NET做專案,發現只需要用1/5以下的時間,包括做完專案和以後的維護。這輩子再不會用.NET
-
5 # 先下水為強
主要是因為Visual Studio不是免費的(除了社群版)。VS的許可證太貴,每個程式設計師都買一個的話,成本太高。如果哪天VS免費了,跨平臺了,誰還用Java?VS的IDE比Java的方便太多了。像什麼Android Studio哪,太複雜了!
-
6 # TurboCh
.net壓根都沒火過,談何衰落呢?.net前期由於不開源的原因造成了生態嚴重失衡!失去了網際網路浪尖時刻的尖叫機會!以至於大廠BAT都擁抱java擁抱開源!不過近期.net core開源了,況且可以部署到linux系統上面!對雲原生的支援非常完美,尤其是.net5。本人相信5年後肯定可以大放異彩!能分到java生態的一杯羹!話說java真香,尤其是SSM這套框架,涵蓋了好多優秀的設計模式及設計原則!反觀.net呢,基本就是三層架構!當然了.net5也有ABP框架也挺優秀!但是這是最近2年才出來的並放光的!SSM是一出生都帶BGM啊!java薪資吊打.net是有原因的!
-
7 # 原地踏步0722
我覺得現在.net5不錯啊,不過因為是新的,所以生態啥的肯定不如java,個人覺得上手比java容易,未來應該有很大的發展空間!
-
8 # 望中猶記2
當初Java虛擬機器跨平臺,它只限於Windows;asp.net剛出來沒多久,遇到Ajax了,前後端分離了;Linux崛起了,好多新科技公司不帶它玩了……其實也談不上衰落,本來就沒有大火過
回覆列表
雖然我們說任何一款開發語言和框架的存在都有它存在的價值,但是任何一件事物的興衰也都是有它的時代背景在裡面。
若在6年前,如果我們說.NET衰落了 ,估計會有很多.NET程式設計師跳出來反駁,無非就是說.NET最多就是待遇上比Java要低,但它比Java要優秀(肯定也會提到所謂的語言特性和IDE)。但最近幾年如果有.NET同學找工作,便會發現目前各大招聘網站上的.NET崗位少得可憐。這說明了什麼問題呢?如果在某個城市,此工作崗位很少,你覺得找工作很容易嗎?不得不承認一點,現在企業的資訊化技術選型中,.NET處於劣勢,之前使用.NET架構體系的企業也無一例外的轉向Java懷抱。
從事開發的朋友們都知道,Java從始至終都是最熱門的程式語言,而Java的興盛很大程度是取決於網際網路的興盛發展。然而.NET平臺一開始的定位就限制了此平臺的發展,別人開源,它閉源。別人擁有著良好的生態體系,而它卻沉迷在自己構建的封閉體系裡。
就目前來說,.NET更新頻率看似很快,其實都是在彌補以前犯下的錯誤。如果說.NET跨平臺是來和Java競爭的,那為什麼.NET要在Java發展得十分成熟的時候才慢慢走向跨平臺而不是一開始就支援跨平臺?其實它之所以走上跨平臺之路,也是為了挽留為數不多的.NET使用者與開發者。
為什麼.NET平臺現在不受企業和開發者待見了呢?原因無非是以下幾點:
1、生態圈與成熟度
不管是網際網路行業還是傳統行業,上了規模的公司在資訊化這塊無一例外的都有Java的身影,比如京東最早是.NET開發的,為什麼後來也改用Java重構了呢?因為Java語言無論是在生態體系上還是成熟度上都優於.NET平臺,很多開源軟體並沒有提供.NET版本的,但絕對會提供Java版本的。
2、實施成本上
要知道,.NET平臺也就是最近幾年才慢慢“跨平臺”的,而且不是完全的跨平臺(跨平臺程度遠不如Java)。又有多少.NET程式設計師瞭解過Linux系統?國內.NET專案基本上還是以傳統模式部署在Windows系統上,但要知道Windows Server系統是需要授權的,並不是讓你免費使用的,SQL Server資料庫同樣如此。看似免費使用,但使用方同樣承擔著風險。而Linux系統則是開源免費的,不存在授權費用,所以在伺服器作業系統中Linux份額比Windows Server份額要高。
另外一個就是人力和時間成本,.NET開發者瞭解Linux系統的很少,而Linux系統比Windows Server的門檻要高得多,想上手Linux系統需要消耗大量時間成本。
3、Java佔據了移動端的先機
現在主流手機作業系統就是Android、iOS,而Android開發是基於Java語言的!其實微軟幾年前也有推出手機作業系統,然而在很短的時間內消失在人們視線中。