Why I chose C# as my first programming language
When I first started learning programming, my impression of it was all about desktop applications. It’s not hard to understand — to the younger me, programs on a computer were just icons I could see, so naturally I thought programming meant building desktop apps. And Python? When I first saw it in my IT class, it was nothing but a simple command-line program. How could that be called programming? Of course, my understanding has grown since then. My first C# program was also a console app, but that came later. Even now, I haven’t really tried Python — even though the IT class tested us on Python, the teacher just had us memorize the answers for those simple programs.
So why did I choose C#, which isn’t exactly popular in China? In China, Java and PHP are the mainstream languages. But they’re web backend languages, and at that time, I had no idea web backends even existed. I thought web pages were just tiny software programs running in a browser. Of course, now I not only understand web backends, but I also know C# has a backend framework too: ASP.NET Core.
When I started learning programming, aside from building simple desktop apps, I also wanted to make a game — that’s something every kid dreams about, I won’t explain it. And nowadays, the popular game engine Unity3D uses C# as its scripting language. But I’m still learning the basics, so game development is something for later.
C# may not be suitable for everyone, but as my first programming language, it perfectly fit my imagination.
为什么我选择C#作为我的第一个编程语言?大多数人都在说Python是最佳的入门语言,但我不这么认为。
为什么不选Python? 实际上我先前开始学习编程时,我对编程的印象只有桌面程序。这也不难理解,因为对于那时候的我来说,电脑上所有的程序就是我肉眼可见的一个个图标,我所理解的编程自然也就是开发桌面应用。而Python呢?我在信息技术课上看到它时,它完全就是一个非常简陋的命令行程序,那时候的我认为这怎么能叫编程呢?当然现在的理解深入了许多,我的第一个C#程序也是控制台应用,但那是后来的事情了。直到现在我也没有学习尝试过Python——尽管信息技术课考的是Python,但那些简单的程序,老师都是直接让我们背答案的。
那为什么我选了在国内不温不火的C#? 国内Java和PHP都是主流语言,但是它们是Web后端语言,那时候的我全然不知道互联网后端这个东西的存在,我以为网页就是在浏览器里运行的小程序软件。当然,我现在不仅了解了Web后端,也知道了C#同样有一个后端框架:ASP.NET Core。
我当时学习编程,除了开发简单的桌面程序,再有就是想开发一个游戏——每个人小时候都幻想过的事情,我不多解释了。而当今主流的游戏引擎Unity3D使用的脚本语言就是C#。不过我还在学习基础,所以游戏开发的事情以后再说吧。
C#可能不适合所有人,但是作为我的第一个编程语言,它完美契合了我的幻想。
Written on the First Day of the Sixth Moon, in the Gui-Mao Year of the Water Rabbit