是什麼讓C#成為最值得學習的編程語言

隨著 Web、iOS、Android、智能設備的流行,新的編程語言紛紛湧現並表現不俗,如 Ruby,Python,Scala,Go,Node.js,Swift 等。反觀已經發展了近20年的 C# 語言(或者這裡應該更準確的說是 .Net Framework),因為天生的平臺侷限,導致很多的 C# 程序員為了生計和前途紛紛轉行投入到新語言的懷抱中。

就在此時,微軟的 .Net Core 橫空出世

是什麼讓C#成為最值得學習的編程語言

  1. 跨平臺:可以在 Windows、MacOS 和 Linux 上運行。
  2. 兼容性: .NET Core 通過 .NET 標準庫與 .NET Framework、Xamarin 和 Mono 兼容。
  3. 開源:運行時、庫、編譯器、語言和工具都是 GitHub 的開放源代碼。
  4. 統一:通過標準庫來保證代碼複用。
  5. 強大的生態環境

根據以上 .Net Core 所具備的優勢,無疑是給以 C#(包括VB.NET)作為首選編程語言的工程師的一劑強心針。

以下將從6個方面闡述為什麼 C# 成為最值得學習的編程語言,甚至可以說 C# 是給初學編程最值得推薦的語言。

學習門檻低

如果你曾經做過 C、Java 或者是 JavaScript 編程,那麼你會對 C# 的語法感到非常熟悉,C# 的語法非常的容易閱讀和理解。根據最新發布的 TIOBE 統計,有數以百萬計的開發人員可以輕鬆地從 Java 或 C語言編程切換到 C# 語言編程。

即使你沒有任何的編程經驗,C#大量的書籍和在線文檔也不是新興語言可以比擬的,另外還有很多在線資源可以幫助你學習 C#。

具備現代語言的所有特點

.NET Core 有一些頂級功能:

  • 強類型。
  • 強大的基類庫。
  • 異步編程 - 易於使用的異步/等待模式。
  • 垃圾收集,自動內存管理。
  • LINQ - 語言集成查詢。
  • 泛型 - List, Dictionary
  • 包管理。
  • 跨多個平臺和框架共享二進制文件的能力。
  • 使用框架來創建 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 平臺開發勢必成為流行。


分享到:


相關文章: