Learning Programming in English

用英语学习编程

Why programming is an essential skill?

English is an important tool in today's globalized world. No one doubts this, and more and more people are learning English. While in a globalized world, we need English, what do we need in a computerized world? Programming, is the answer.

Sure, you can live in today's world without Programming or English skill, but mastering programming makes your life more efficient and gives you a new way of thinking about the world. Programming allows you to interact with the digital world, just like English gives you the ability to communicate with the real world.

Technology has a language. It’s called code. And we believe coding is an essential skill. Learning to code teaches you how to solve problems and work together in creative ways. And it helps you build apps that bring your ideas to life. (App Development with Swift, Apple Inc.)

Why learn it in English?

In my humble opinion, computer science should always be taught in English, since the discipline is mostly rooted in US and UK, and more importantly English is the communication language in the filed.

While it is definitely possible to learn programming with little knowledge of English. But mastering English allows you to access a much wider range of resources. And most of them are freely available. Moreover, learning programming in English helps improving English skills for non-native english speakers.

Which language to learn?

Thousands of programming languages have been created since the advent of computer. Although most of them become fossils, there are still hundreds of programming languages in current use. Learning all the programming languages is almost impossible (and not necessary), most programmers just pick the popular ones and the one they need.

Choosing which programming language to learn is a trivial task for people from IT domain, but for others with little knowledge of computer science, it is not easy at all. Thus, for those outsiders who want to enter the digital world, I strongly recommend Python and Swift.

Personally, I use Python a lot. It's a powerful language, favored by giant organizations like Google and NASA, and widely used in fields such as website backend (e.g., YouTube, Zhihu), scientific research, artifical intelligence, etc.. Besides its powerfulness, it's very easy to learn. The learning curve is very gradual. Coding in Python is just like writing in English, you don't need to memorize the arcane syntax that other programming languages will have.

As for Swift, it's a very new language designed by Apple in 2014. Theoretically, Swift is completely different from Python, since Python is a loosely typed interpreted language, while Swift is a strongly typed compiled language. However, being a latecomer, Swift took many great ideas from other languages such as Rust, Ruby and Python (of course), which makes it syntactically similar to Python.

Although I've been using MacBookPro for several years, I am new to Swift. I started to learn it this year, and was impressed by Apple's effort to make Swift easy to learn. Apple published a very easy-to-follow book, "App Development with Swift", to introduce Swift to people without any knowledge of programming. They even developed an iPad game app, "Swift Playground", for young kids to learn coding.

In short, if you are a Mac user and interested in developing iOS app, Swift is a perfect choice. While if you are using other platforms, and eager to explore wider digital world, then Python is your friend to help.