徐安廬談 Coding

“An understanding of computer science is becoming increasingly essential in today’s world. Our national competitiveness depends upon our ability to educate our children – and that includes our girls – in this critical field.“
對電腦科學的了解在今天的世界是愈形重要。我們國家的競爭力,就全靠我們對小孩—包括女孩子—在電腦教育的努力。
Sheryl Sandberg, 臉書(Facebook)營運長
徐安廬談 Coding

中文翻譯

英文原稿

徐安廬談 Coding

為什麼讓小朋友從小開始學習程式設計是重要的?

首先我們談一下什麼是程式設計? 這包含很多的意思。在矽谷、在加州灣區、在各個創業的聚集地,最普遍的是了解如何用網路及行動手機的軟體來做出產 品,重點是使用程式語言來控制電腦,讓電腦幫我們做事,這是21世紀最基本的技能。

每個人都知道電腦與科技在掌控這個世界,再過幾十年,我相信到時候會分成兩種人,一種是知道如何寫程式,知道怎麼控制電腦的人,及另一種是不會電腦程式的人。如果你不會寫程式你會處於劣勢,我不是說你必須一輩子做個軟體工程師,但我相信你可以有一個你喜愛的職業,但你仍然知道電腦的運算,了解電腦、懂得程式設計。而且我相信程式所需要具備的架構知識、邏輯概念及分析能力與思想,都是一個身為有效率的人類所需要的能力。因此知道如何把一件事做出來,如何製造計算程序,怎麼把東西接起來,是一件非常強而有力的事。

從另一個角度看,寫程式是訓練一種讓你由無至有的創作能力。 這種動手創造的文化應該讓許多小孩從小就開始嘗試。我們由小學至大學都應該多加入這種訓練,我說的訓練不是背一些細節,而是用創意去從頭開始做出東西來。這個過程是在你的腦袋裡形成一個想法,然後用手與電腦的力量,將想法實現,做出別人可以用的東西。

我認為矽谷傳達給這個世界最有力的訊息之一就是這一點 — 通過創造,動手建構來增強自我的能耐。如果有更多的人用創業的精神做東西,我想這個世界會變成一個更好的地方,因為你可以自己解決問題。舉個用軟體解決問題的例子吧,譬如我想將我所有的朋友以及認識的人用某種方式儲存起來,但沒有現成的產品有這種功能,我可以很簡單的創造一個APP來用,因為我會寫程式,所以可以這麼做。然後誰曉得呢?也許有人會覺得對他們非常有用,我可以賣給他,如果這個APP做得很好,搞不好會變成一個生意呢! 不是嗎?

我想再聲明一次,我不是說每個人都要做個軟體工程師,我強調的是了解電腦、了解軟體、了解程式設計,你可以把它當作一個有空時做的事。

我9歲10歲左右因為有興趣開始架設網站,我一手把網站設立起來,我的起步是觀察他人在網上製作的過程、設計的東西。然後開始學寫程式,做自己的網站,在我不斷的修改下,這個網站越來越好。

這是一個我在網上表達自己的地方,這是我在網上的家,一個別人可以來逛的地方。所以我想要給他人什麼樣的印象,只要我能寫程式,能設計,我就可以掌控這件事,這真是一個很棒的感覺。


Coding

Talk about coding. Why is it important for people to learn at a very young age? How must you and your friends learn how to code?

What is knowing how to code first of all? It's knowing how to program. And that has a lot of meaning. The most common type of coding in silicone valley and bay area and some of the other major startup hubs is understanding how to build an app or build the product. In software obviously, to use like web-based, mobile-based or whatever. The point is that knowing how to control a computer by telling it what to do through code is one of the fundamental skills of the 21st century.

Everybody knows that computer and technology are taking over the world. In a few decades i believe there will two classes of people, those who know how to code, who know how to control computer and those who don't. And if you don't know how to code, you are going to be at a disadvantage. I'm not saying that you need to be a professional software engineers for your entire life. But I think that it's possible that to have a career doing something that you love, but still understand computing, understand computers, understand programming. And my belief is that the type of structure and logic and analysis and thought that's required to build computer programs is really useful for just being a generally effective human being. So understanding how to make something happen and like how to create an algorithm, like how to hook something up, is just a very powerful way of thinking.

At the same time, another sort of point of view on knowing how to code is that uniquely, it's a skill that allows you to create something from scratch. so I think that this culture of making and building is something that a lot more children should be learning when they are young. and should be taught more from elementary school all the way up to college.

I'm not talking about studying a fact like memorizing it. I'm talking about being creative and building something from zero. So it's like thinking an idea up in your head and then having the power in your own hands with the computer to make it a reality and to make it something that the other people can use.

I think that type of thought about self empowerment and creation and making and building is one of the most powerful narratives that silicon valley has to convey to the rest of the world.

If more people took the type of entrepreneurial initiative and just made things, i think the world will be a much better place. Because that you can make solution to your problems. Like one very common thing to do with software to ..oh, if you face inconvenience like I need to store my contacts in a certain way but there's nothing good out there to do it. I can just create a simple web app for me to do myself And that's possible if I know how to code. And who knows, maybe the other people will find it extremely useful and i can sell it and it may become a business if it's good enough.

And again to be clear, I'm not advocating that everybody become a full time programmer and make money doing it as an engineer. What I'm advocating is that people should understand computers, should understand code, should understand programming. And a lot of that is just like tinkering with stuff on the side. I started to make websites when I was like 9 or 10 just because it interests me. I've made all my website. I started by making my personal website. I started by just getting interested in what other people were building and designing things. And as I went through more and more versions of my website, it started looking better and better and better. And there is a place online for me to express myself. Because this is my home online. and this is where other people are going to come to like look me up. So what kind of image do I want to project? If I know how to code, if I know how to design, I can control that. and that's really awesome.