{eval=Array;=+count(Array);}
我是只說代碼的大餅,很高興回答你的問題。
我個人認為C#排名和Python相差越來越大,有以下幾個原因:
如果最開始不和自家操作系統捆綁于一體,C#應該還是比現在發展得好很多,或者國內使用得人或者公司將會更多。
以前大學計算機系都還開設C#課程,現在幾乎看不到大學里還會要求學C#的,
大部分都是Java的。
社區里成熟的解決方案,微服務流行一段時間后,C#也沒能有成熟的解決方案。
最近一兩年才是.Net Core跨平臺、微服務、容器化。估計只能分點湯喝了。
之前使用C#為核心技術開發的大公司都分分倒向Java陣營,現在使用ucloud好像有使用
.Net Core開發企業內部的系統。
C#語言本身還是很好用的,封裝工具也多,語法糖也越來越好用,語言特性一直在升級。
一.大數據分析把它推向了高潮。
二.社區成熟的框架多。
目前來看,在國內C#排名高低主要決定于第一點和第四點,本人用C#多,可能不太適應用Python,不太喜歡它的縮進方式。還是感覺用“{}”舒服。
以上只是個人感受,不喜歡的也勿噴。
我是只說代碼的大餅,謝謝瀏覽。#只說代碼的大餅##我要上頭條#
你好,感謝您給我這次回答的機會。
首先,這種排名本身就毫無意義,而且就算真的要排,也不是這么個排法。靜態語言跟動態語言混著排,低級語言與高級語言混著排,連sql都能進來摻一腳。以前老版本的排行榜里,甚至還有css。干脆不如把漢語,英語,法語也加進來算了。
但既然毫無意義,為什么還每年發布?因為有人看,點擊量上漲,收入增加。
Python誕生于1989年,C#誕生于2000年。論年紀,兩者差了11年。但為什么一個80后,直到今天才排到了00后的前面?早干什么去了?一門近30年都沒火的語言,為什么最近幾年突然就給火了?如果非要回答的話,我會說是“因為沒有新的增長點”。
動態語言絕大部分都是老古董,其中最“年輕”的是javascript,ruby和lua,它們是僅有的三個90后。絕大多數動態語言,都誕生于計算機發展的早期階段。
那個時期的電腦,還沒有圖形界面。最主流的操作系統,是微軟幫IBM個人電腦開發的MS-DOS,整個操作系統才700kb,在當時已經算巨無霸了。程序一般只有幾kb,甚至幾byte。通常幾百行代碼的程序,就能算一個“軟件”,幾千行代碼就算是“巨型項目”了。
而從windows誕生之后,圖形界面化的時代真正到來了,那些幾千行代碼寫成的“巨型項目”,直接變成了“小工具”。其實至此,現代IT行業才算真正誕生,計算機行業才從電工行業中完全獨立出來,“會編程的電工”才變成了程序員。靜態語言誕生,解決了兩個根本問題,一是讓程序可以寫的更大,使“軟件”的門檻,從幾百行代碼,猛增到十萬行級別,“大項目”飆升至百萬行級別。二是可以讓程序跑的更快。3d游戲等依賴高性能的應用迅速發展壯大。
此后動態語言因為無法克服難以編寫大型程序,以及運行速度慢這兩個問題,被視為過時的技術,逐漸從主流變得邊緣化。
幾乎所有的程序員都在學習桌面程序開發,C++一度如日中天,而學習網站技術的程序員,被視為“不務正業”。而當時普遍認為,動態語言會在2000年徹底滅絕。
再后來,網絡時代到來了,各種應用被搬到了瀏覽器上,桌面開發開始轉冷,那群“不務正業”的人成了搶手貨,“務正業”的人卻突然沒了方向。
這時候一度被windows吊打的Linux,又重生了。。之前快被扔進垃圾堆的“破爛兒”,搖身一變,卻成了裝逼神器。
隨著網絡普及度越來越高,人們發現每次更新網站上的內容,都要關閉服務器,嚴重影響網站的流量增長。而靜態語言因為需要編譯,每次更新必須關閉網站。于是javascript雖然是動態語言,卻也照樣火了。“學編程==做網站”成了既成事實,PHP,Python,Ruby等本該滅絕的動態語言,又跑出來蹭互聯網的熱度,集體復活了。盡管依然不適合大程序,但兌付著做些鄉鎮企業的官網,博客,個人主頁,總是綽綽有余的。
再后來智能手機普及,又把java和OC捧火了。什么軟件都要有個手機版,才顯得有逼格。可是由于智能手機增長過快,短短幾年之后又沒了增長點,IOS開發短短幾年就由熱轉冷,今天在就業市場已經基本絕跡。安卓開發還有一些崗位,但也已經淡出主流了。
各大廠商絞盡腦汁,趕緊搞出了VR,AR進來救場。結果消費者卻不買賬。。。觀望的人不少,但創造的經濟效益卻非常有限,于是這個概念很快就冷掉了。一大堆VR引擎蓄勢待發,幾年之后就只剩Unity3d這么個獨苗了。。。眼見形勢不對,混合現實,區塊鏈,大數據組隊前來。結果混合現實的設備太貴,消費者不買單,大數據又無法平民化,也就沒了炒點。
區塊鏈總算稍微炒出點熱度,忽悠出一支“夠浪”地鼠軍團歌功頌德,但不久之后卻發現整個it圈,除了一群傳教士每天在編故事,“夠浪”們每天在聽故事,高喊口號拯救世界之外,居然沒人能說清區塊鏈到底有啥用?后來也不知是誰手賤發帖問了一句“區塊鏈是不是龐氏騙局?”竟然出現了皇帝新衣一般的童話式劇情。“夠浪”大軍除了發動人海戰術,用幾個假大空的術語反復洗版之外,居然連一條有力的反駁都講不出來,眼看就要編不下去了。
這可急壞了it巨頭們。就在這時,已經被游戲開發行業玩了幾十年的“人工智能”,突然搖身一變,返老還童,火了!
“人工智能”這幾十年來,從深度優先遍歷,廣度優先遍歷,發展到A*算法,再到FSM有限狀態機,又進化到行為樹。。每隔兩年就出一套新算法。一直也不火。
做過的益智游戲數不勝數,搞過的NPC邏輯成千上萬。象棋、圍棋、五子棋、斗地主、三國殺、對對碰、連連看,各種算法輪番上陣,帶火的游戲一波又一波,可人工智能本身就是火不起來。
90年代初期,IBM搞了套算法炒作一波,用深藍計算機下國際象棋,把各路國際象棋大師殺的人仰馬翻。概念確實炒起來了。不久之后,深藍就在電影里成功統治了世界,可惜被一個內褲穿在外面的人打敗了。
所以,一定要用客觀的眼光去看待這些排名的變化。以上僅僅代表個人觀點。
語言排名如同股票,起伏震蕩,你追我趕是正常的。
C#是編譯語言,調試時需要編譯、鏈接、加載后運行運行,語法要求嚴格,大量修飾詞,括號,數據類型切換等,入門門檻稍高,跨平臺支持差些,但代碼效率高。C#在windows應用開發有優勢,因為是微軟推出的,內置標準庫、注冊表、WMI、網絡更方便。
Python是腳本語言,解釋器執行,小巧簡潔,入門更簡單上手快,閱讀和交互性更好;方便擴展和移植;跨平臺的庫很多,調用方便,人工智能和數據科學應用較多,但開發大型軟件平臺相對較少,效率一般。
微軟當初戰略錯誤,把.NET的運行庫綁定在Windows平臺,雖然現在重寫了新的運行庫.NET 5以后可以跨平臺運行了,但是已經給業界留下根深蒂固的印象C#是Windows專用的。
Python近些年大火,主要跟AI,科學計算等的興起相關,Python是動態語言,具有容易上手,類庫多,使用方便等特點,即使現在的兒童編程教學也選擇Python,排名不想提升都難吶。反觀C#,它其實是一門很優秀的語言,以前跨平臺是其劣勢,.net core的推出解決了跨平臺這一短板,但是很多市場都已經被java等占據了,使用的人數自然沒有那么多,其排名也就一致徘徊在5,6,7,8的樣子
C#一直以來都被詬病,但近些年由于U3D的出現大放光彩。Python其實就是一門腳本語言,嚴格意義上來講算不上編程語言,因為得益于當下熱門的AI,爬蟲,大數據等,很多程序員為了吃上這個紅利轉學Python,當有了一定生態環境,自然而然的派生出更多運用場景,所以熱度自然上去了。
c#體系過于復雜,2017版的安裝得需要30G硬盤空間。python體系結構簡單,各種功能函數豐富,易學好上手。因此,使用puthon的人越來越多
0
回答10
回答10
回答7
回答0
回答0
回答0
回答0
回答6
回答0
回答