是什麼讓C#成為最值得學習的程式語言
隨著 Web、iOS、Android、智慧裝置的流行,新的程式語言紛紛湧現並表現不俗,如 Ruby,Python,Scala,Go,Node.js,Swift 等。反觀已經發展了近20年的 C# 語言(或者這裡應該更準確的說是 .Net Framework),因為天生的平臺侷限,導致很多的 C# 程式設計師為了生計和前途紛紛轉行投入的新語言的懷抱。
就在此時,微軟的 .Net Core 橫空出世
- 跨平臺:可以在 Windows、MacOS 和 Linux 上執行。
- 相容性: .NET Core 透過 .NET 標準庫與 .NET Framework、Xamarin 和 Mono 相容。
- 開源:執行時、庫、編譯器、語言和工具都是 GitHub 的開放原始碼。
- 統一:透過標準庫來保證程式碼複用。
- 強大的生態環境
根據以上 .Net Core 所具備的優勢,無疑是給以 C#(包括VB.NET)作為首選程式語言的工程師的一劑強心針。
以下將從6個方面闡述為什麼 C# 成為最值得學習的程式語言,甚至可以說 C# 是給初學程式設計最值得推薦的語言。
學習門檻低
如果你曾經做過 C、Java 或者是 JavaScript 的程式設計,那麼你會感覺對 C# 的語法感到非常熟悉,C# 的語法非常的容易閱讀和理解。根據最新發布的 TIOBE 統計,有數以百萬計的開發人員可以輕鬆地從 Java 或 C語言程式設計切換到 C# 語言程式設計。
即使你完全沒有任何的程式設計經驗,大量的書籍和線上文件也不是新興語言可以比擬的,另外還有很多線上資源可以幫助你學習 C#,如:
- - 免費影片和評估。
- - 免費互動式教程。
具備現代語言的所有特點
.NET Core 有一些頂級功能:
- 強型別。
- 強大的基類庫。
- 非同步程式設計 - 易於使用的非同步/等待模式。
- 垃圾收集,自動記憶體管理。
- LINQ - 語言整合查詢。
- 泛型 - List<T>, Dictionary<T, T>。
- 包管理。
- 跨多個平臺和框架共享二進位制檔案的能力。
- 使用的框架來建立 MVC Web 應用程式和 RESTful API。
多功能性:Web,移動,伺服器,桌面應用
關於 C# 和 .NET 的最出眾的一點就是它的多功能性。Xamarin 可以編寫桌面應用程式,Web 應用程式,後臺服務,甚至移動應用程式。除了 C#,我真正需要知道的只是少量的 JavaScript 來將一些 UI 程式碼集中在一起。ASP.NET Core 模板甚至使用 Bootstrap 佈局和 npm 來存入客戶端庫。
多功能性是一個很大的優勢,這樣你所學的語言就可以用於各種各樣的場景中,你的技能適用性就更強。如果你想組合所做的東西,就可以從開發 web 應用程式跳轉到開發移動應用程式。對於只能在伺服器端工作的大多數其它程式語言,這是一個很大的區別。
同時,也請不要忘記 Microsoft Azure 的支援。Microsoft Azure 讓啟動和執行變得如此簡單,只需點選幾下即可將應用部署到雲端。Microsoft Azure 還支援 Docker 容器,可以輕鬆地將應用程式部署到 AWS 或其它託管提供商。
最好的開發工具(沒有之一)
Visual Studio 一直被視為適用於開發人員的最佳 IDE,微軟已經發布了最新的 VS 2017 用來支援 .Net Core,在一個環境中支援程式碼編寫、除錯、分析、git 整合、單元測試等功能。Visual Studio 現在提供了功能齊全的免費社群版本。
當然,也可以使用自己喜歡的文字編輯器,作為編寫 .NET Core 程式碼的基本文字檔案。你也可以在任何作業系統上將 Visual Studio 編碼工具當做一個良好的基本程式碼編輯器。即使對於那些永遠不會放棄 vim 或 emacs 的人來說,依舊可以做 C# 開發。你還可以為 Visual Studio 安裝一個外掛,來新增所有喜歡的快捷鍵。
整個 .NET 生態系統也充滿了令人驚奇的開發者工具。例如,我無法想象沒有 Jetbrains 中的 Resharper 的生活。.NET 生態系統存在數十種極好的的工具,既包括開源的,也包含商業產品的。
標準化類庫
.NET 帶有了一套非常好的基類庫。與 Node.js 不同,.NET 內建了簡單的字串函式,如 LeftPad()。各種各樣的基礎類減少了對外部包的需求。Microsoft 也樂於像 JSON.NET 這樣的社群專案一樣,成為大多數專案中廣泛使用的關鍵庫。
Microsoft 為 .NET 提供了一套非常好的模式和實踐。例如,有內建的標準資料訪問(實體框架)和模型 - 檢視 - 控制器(MVC)框架。大多數開發人員都在使用這些標準框架,這使開發人員可以輕鬆地在團隊之間遷移,並快速瞭解專案的工作原理。正式由於這一點,你的知識和技能才變得更加具有適用性。
.NET Core 是開源的
.NET 發生的最大變化之一,就是其開源了程式碼。幾乎所有的,供任何人檢視,分享和貢獻。這是一個巨大的變化,大多數人從未想過會發生。
作為開發人員,你需要不時的瞭解你的程式碼正在做什麼。例如,過去需要透過呼叫資料庫連線的 Dispose( ) 來確認是否關閉了連線。現在你可以訪問原始碼,來快速驗證這些型別的問題。
即使你沒能對原始碼做出貢獻,你也可以從巨大的社群中受益。問題和改進可以快速討論,編碼和釋出,以便你定期使用。那些需要花費數年等待發布重大改進或小錯誤修復的時代已經過去了。
總結:微軟 .Net Core 的推出,無疑給具備龐大基數的 .Net 平臺開發者們,提供了絕佳的機會,可以預見,在未來的幾年內,使用 C# 語言基於 .Net Core 平臺開發勢必成為流行。
原文連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28298702/viewspace-2137467/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是2016年最值得學習的程式語言?
- java是最值得學習的程式語言嗎?Java
- 最值得你學習的程式語言
- 2015年最值得學習的程式語言是?
- 為什麼我最喜歡的程式語言是 GoGo
- 中文程式語言——易語言,到底是用來幹什麼的?易語言值得學習嗎?易語言的優勢有什麼?
- 為什麼要學習一門新的程式語言?
- 何為程式語言?為什麼要學C語言?C語言
- 為什麼 C# 可能是最好的第一程式語言C#
- 這些程式語言值得學習
- 初學者,哪幾種程式語言最值得你去學習?
- 為什麼自制指令碼語言是程式語言的最高境界?指令碼
- 到底該學習什麼程式語言
- 什麼是程式語言
- 為什麼要學習Go語言呢?Go
- 學習C++程式語言的最大難度是什麼(轉)C++
- 為什麼說Java是2021年最值得學的技術?Java
- 優秀的開發者為什麼要學習研究新的程式語言?
- 什麼是linux?學習linux需要什麼語言?Linux
- 什麼是linux?Linux需要學習什麼語言?Linux
- 為什麼那麼多人要學習go語言?go語言有什麼特點?Go
- 最適合初學者的語言是什麼?
- 為什麼要學習和使用C語言?C語言
- Python是什麼?Python成為熱門語言的原因!Python
- Python成為爬蟲常用語言的原因是什麼?Python爬蟲
- 現代程式語言用什麼語言寫成?
- 目前最值得學習的9種非主流的開發語言
- 為什麼JavaScript是你應當學習的下一個(或第一個)程式語言JavaScript
- 最值得閱讀學習的 10 個 C 語言開源專案程式碼
- Python是什麼型別語言?為何Python這麼多人學習?Python型別
- 狗年最應該學什麼程式語言?就是它了!
- 為什麼需要更多的程式語言
- 為什麼CoPuppy是BSC最值得期待的NFT專案
- 什麼是C#程式語言明明白白學C#C#
- 為什麼Go是一種設計糟糕的程式語言Go
- GitHub上最火的開源專案及程式語言是什麼?Github
- 為什麼springcloud值得我們學習?SpringGCCloud
- 都說python是最佳程式設計入門語言,為什麼你學習卻是如此坎坷?Python程式設計