來到了第八天,算是學習C#到第一個小段落,所以今天的內容主要是來比較一下Python 以及 C# ,因為在Day1的文章有提到過,我本身背景主要是用 Python 做資料科學與機器學習,但進到職場後發現很多專案都是用 C# 來開發,兩者在語法與用途上有很大的不同,因此透過比較能幫助我更快掌握 C# 的特色。
功能 | Python 🐍 | C# ⚡️ |
---|---|---|
變數宣告 | x = 10(動態型別) | int x = 10;(靜態型別,需指定型別) |
函式 | python\ndef add(a, b):\n return a + b | csharp\nstatic int Add(int a, int b)\n{\n return a + b;\n} |
迴圈 | python\nfor i in range(5):\n print(i) | csharp\nfor (int i = 0; i < 5; i++)\n{\n Console.WriteLine(i);\n} |
集合處理 | python\nnums = [1, 2, 3]\nfor n in nums:\n print(n) | csharp\nint[] nums = {1, 2, 3};\nforeach (int n in nums)\n{\n Console.WriteLine(n);\n} |
物件導向 | python\nclass Dog:\n def init(self, name):\n self.name = name | csharp\nclass Dog\n{\n public string Name;\n public Dog(string name)\n {\n Name = name;\n }\n} |
Python 🐍
✅ 優點:簡潔易讀,開發快速、適合資料分析、AI、快速原型
❌ 缺點:執行速度相對慢、動態型別可能導致潛在錯誤
C# ⚡️
✅ 優點:效能佳,適合大型專案、有強大的生態系(.NET, ASP.NET Core, Unity)、靜態型別讓程式更容易維護
❌ 缺點:語法相對嚴謹,學習曲線比 Python 陡、跨平台生態系相對 Python 小(但隨 .NET Core 改善很多)
Python 對資料科學與 AI 很友善,但在「軟體開發」的角度來看,C# 的架構與工具鏈更完整。如果要快速測試模型或處理資料,我會用 Python;但如果要開發 API 或正式產品,我會更傾向用 C#。學會兩者的優勢,能幫助我在不同場景選擇最適合的工具。
由於過去連 C 、C++都沒有學過,所以C#的語法也格外陌生,但之前學過 Java ,感覺上C#的語法反而相對較相似於Java。不過我清楚,程式語言其實在邏輯與概念上大致上是相同的,只是表達(語法)方式不太一樣,說實話應該是被python寵壞了🤣,python有太多好用方便的套件可以直接import進來做使用,但相較於python,Java、C#這類的程式語言就較為嚴謹,需要自行去定義、撰寫的邏輯也相對較多。
我會繼續努力在30天內好好學習接下來的內容(發現又要上班又要寫文章真不是件容易的事😓)