山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2021年7月23日

[C#] 學習 C# 值得 ?


 學習 C# 值得 ?


因為工作的機緣,需要 maintain 一個 Window GUI 測試程式以及擴充它的功能,原始版本是用 WinForms 寫的,但是程式碼的註解以及變數名稱,毫無閱讀性,基於這個原因,我決定不再 maintain 它了,打算自己重新打造一個。


記得開始寫第一個 Window GUI 應用程式是在 1998 年左右,使用的技術是 MFC;如今 MFC 已經走入歷史,現今的 Visual Studio 2019 又只有 WinForms 和 WPF GUI 應用程式模板 (template)可供選擇了,但是這兩種做法對我而言都是新的,於是就先做了一番功課,再決定要用 C++ , C#, WinForm 或是 WPF 來撰寫新程式。


在翻天覆地的資訊搜集過後,發現:

  • 微軟計畫在2021年底將正式推出 .NET6, MAUI 以及 Visual Studio 2022,且目前 .NET 6, MAUI 以及 Visual Studio 2022 都有 preview 版本了,也釋出相當多的訊息了,在詳閱相關的發文後,發現 C# 以及 WPF 才是微軟要主流的, 並且 WinForms 也將只會有 maintain 了 ,不會再新增功能了。

  • MAUI 是繼微軟買 Xamarin 後,將其整合到 Visual Studio 的第二版 Cross-Platform Framework,很期待他的表現。


知道 C# 以及 WPF 才是最佳的選擇後,心中還是有一個問題,那就是" C# 值得學習 ?”, WPF 的應用程式還是可以以C++撰寫,真的要投入 C# 嗎 ?

於是就上了 TIOBE 網站查看 C# 程式語言的排名以及趨勢,從這篇文章 (TIOBE Index for July 2021) 可以看到 C#  在2021 的排位是 5,2020 也都第五。 


以 Long Term History 來看也是第五,不錯喔!


再以趨勢圖來看,C# 的使用者還穩定的在成長中。


從 TIOBE 的這些知訊來看 “C# 不是落日黃花"。


使用 C# 與 WPF 開發 GUI 應用程式也有月餘了,功能介面也完成大半了,這一個月的使用心得是:

  • 使用 XAML 來描述 Controls 的擺放、屬性、Data Binding 以及 Event Handler ,這讓程式碼看起來更將簡潔了,這延續 Xamarin、Android 的 XML 設計理念,真的做的好啊,尤其對我開發過 Android App 的人,更加有熟悉感。

  • 撰寫程式過程中,難免遇到問題,發現上網搜尋,幾乎都能或多或少得到一些解法或是相關範例,這著實讓我感覺 C# 社群的強大啊!


基於以上原因,我覺得已經會 C/C++ 程式語言的人,投入/轉換到 C# 與 WPF 的程式開發是值得的;另外想掠過 Swift、Java、Dart 程式語言學習,而能直接開發 Android / iOS App 的人 ,C# 則是提供這樣選擇了。







 


熱門文章