Code is the next universal language. In the seventies, it was punk music that drove the whole generation. In the eighties, it was probably money. But for my generation of people, software is the interface to our imagination and our world. And that means that we need a radically, radically more diverse set of people to build those products, to not see computers as mechanical and lonely and boring and magic, to see them as things that they can tinker and turn around and twist, and so forth.
程式碼是下一個世界的共通語言。 七十年代,龐克族音樂引領整個世代, 八十年代,可能是金錢吧! 但到我這一代, 軟體是我們的幻想與世界的介面, 這意謂著我們需要 更多更多各式各樣的人 來製造這種產品, 這些人不會把電腦看為機械式、 孤獨、無聊與神奇的, 他們會把電腦看成是 可以改進的、可以變好的等等。
My personal journey into the world of programming and technology started at the tender age of 14. I had this mad teenage crush on an older man, and the older man in question just happened to be the then Vice President of the United States, Mr. Al Gore. And I did what every single teenage girl would want to do. I wanted to somehow express all of this love, so I built him a website, it's over here. And in 2001, there was no Tumblr, there was no Facebook, there was no Pinterest. So I needed to learn to code in order to express all of this longing and loving.
我個人的程式設計與 科技世界的旅程, 從我稚嫩的 14 歲開始。 我狂熱地迷上了一位年紀比我大的男士, 而這位男士恰好是 那時的美國副總統艾爾.高爾先生。 而我做了一件每一個青少女 都會想要做的事情, 我要以某種方式表達我全部的愛慕, 所以我為他做了一個網站,就在這裡。 在 2001 年,那時沒有 Tumblr、 沒有 Facebook、沒有 Pinterest。 所以我需要學編寫程式, 來表達我全部的渴望與愛意。
And that is how programming started for me. It started as a means of self-expression. Just like when I was smaller, I would use crayons and legos. And when I was older, I would use guitar lessons and theater plays. But then, there were other things to get excited about, like poetry and knitting socks and conjugating French irregular verbs and coming up with make-believe worlds and Bertrand Russell and his philosophy. And I started to be one of those people who felt that computers are boring and technical and lonely.
這就是我如何開始編寫程式。 它開始是一種自我表達的手段, 就像我還小的時候, 我會用蠟筆和樂高積木來表達。 當我大些,我會利用 吉他課程及戲劇表演。 然後,還有其他令人興奮的事, 例如詩歌及織襪子、 練習法文的不規則動詞變化、 自創的幻想世界、 還有伯特蘭.羅素以及他的哲學。 然後我開始變成那些 覺得電腦是無聊的、 專業的和孤獨的人之一。
Here's what I think today. Little girls don't know that they are not supposed to like computers. Little girls are amazing. They are really, really good at concentrating on things and being exact and they ask amazing questions like, "What?" and "Why?" and "How?" and "What if?" And they don't know that they are not supposed to like computers. It's the parents who do. It's us parents who feel like computer science is this esoteric, weird science discipline that only belongs to the mystery makers. That it's almost as far removed from everyday life as, say, nuclear physics.
現在我是這樣認為: 小女孩不知道她們被認為不該喜歡電腦。 小女孩是很厲害的, 她們非常非常擅於專注在事物上, 又很精準,而且她們會問一些奇妙問題, 像「是什麼?」「為什麼?」 「怎麼樣?」「如果?」 她們不知道她們被認為不該喜歡電腦。 是父母們這樣認為的。 是我們父母覺得 電腦科學是一門難懂又詭異的學科, 那是專屬於製造神秘的人的。 它幾乎就像離日常生活 遙不可及的核子物理學一樣。
And they are partly right about that. There's a lot of syntax and controls and data structures and algorithms and practices, protocols and paradigms in programming. And we as a community, we've made computers smaller and smaller. We've built layers and layers of abstraction on top of each other between the man and the machine to the point that we no longer have any idea how computers work or how to talk to them. And we do teach our kids how the human body works, we teach them how the combustion engine functions and we even tell them that if you want to really be an astronaut you can become one. But when the kid comes to us and asks, "So, what is a bubble sort algorithm?" Or, "How does the computer know what happens when I press 'play,' how does it know which video to show?" Or, "Linda, is Internet a place?" We adults, we grow oddly silent. "It's magic," some of us say. "It's too complicated," the others say.
他們部份是對的。 編寫程式中是有許多語法、 控制項、資料結構、 演算法、演練、 通訊協定以及程式範例。 我們一起將電腦做得越來越小, 我們在人與機器之間, 建立了層層疊疊的抽象觀念。 一直到我們不再了解 電腦是如何運作的 或如何與電腦溝通。 我們有教孩子,人體是如何運作的, 我們教他們,內燃機是如何作用的, 我們甚至告訴他們: 如果你真的要成為太空人, 你會辦得到的。 但當孩子來問我們: 「什麼是冒泡排序演算法?」 或「當我按 “執行” 時, 電腦怎麼知道它要做什麼? 它怎麼知道要放映那部影片呢?」 或是:「琳達! 網際網路是一個地方嗎?」 我們大人變得異常安靜。 「它有神奇力量!」有些人會說。 「它太複雜了!」另一些人會說。
Well, it's neither. It's not magic and it's not complicated. It all just happened really, really, really fast. Computer scientists built these amazing, beautiful machines, but they made them very, very foreign to us, and also the language we speak to the computers so that we don't know how to speak to the computers anymore without our fancy user interfaces.
嗯!其實兩個都不是。 它既沒有神奇力量,也不複雜。 只是這一切發生得太快太快了! 電腦科學家製造了這些驚人美妙的機器, 但卻讓我們對它非常非常陌生。 也讓電腦對於我們溝通的語言也很陌生, 以致於如果沒有巧妙的使用者介面, 我們就不知道如何與電腦溝通了。
And that's why no one recognized that when I was conjugating French irregular verbs, I was actually practicing my pattern recognition skills. And when I was excited about knitting, I actually was following a sequence of symbolic commands that included loops inside of them. And that Bertrand Russell's lifelong quest to find an exact language between English and mathematics found its home inside of a computer. I was a programmer, but no one knew it.
這就是為什麼沒有人看出 當我在做法文的不規則動詞變化時, 事實上我是在做 ‘模式識別技巧’ 練習。 當我對編織感到很興奮時, 事實上我是在遵循一串符號指令, 包括好幾個在裡面的重複指令。 伯特蘭.羅素終其一生的追求, 在英文與數學之間找一種精確的語言, 這追求就在電腦裡找到了歸宿。 我那時就是個程式設計師, 但沒有人知道。
The kids of today, they tap, swipe and pinch their way through the world. But unless we give them tools to build with computers, we are raising only consumers instead of creators.
現代的孩子終日把玩電腦, 除非我們給他們內含電腦的製造工具, 否則我們只是在培育一群消費者, 而不是創造者。
This whole quest led me to this little girl. Her name is Ruby, she is six years old. She is completely fearless, imaginative and a little bit bossy. And every time I would run into a problem in trying to teach myself programming like, "What is object-oriented design or what is garbage collection?", I would try to imagine how a six-year-old little girl would explain the problem.
整個追求過程帶領我 遇到這個小女孩, 她是六歲的露比, 她膽子很大並且富想像力, 還有一點霸道。 每次我遇到一個有關 自我教育寫程式的問題, 例如:「物件導向設計是什麼? 或是垃坄回收是什麼?」 我就會試著想像一個六歲小女孩 會如何解釋這問題。
And I wrote a book about her and I illustrated it and the things Ruby taught me go like this. Ruby taught me that you're not supposed to be afraid of the bugs under your bed. And even the biggest of the problems are a group of tiny problems stuck together. And Ruby also introduced me to her friends, the colorful side of the Internet culture. She has friends like the Snow Leopard, who is beautiful but doesn't want to play with the other kids. And she has friends like the green robots that are really friendly but super messy. And she has friends like Linux the penguin who's really ruthlessly efficient, but somewhat hard to understand. And idealistic foxes, and so on.
我寫了一本有關她的書,並畫了插圖, 描述露比教我的事情就像這樣。 露比教我 「我不認為妳應該怕 床底下的蟲子」。 還有「即使是最大的問題 也是一群小問題湊在一起而已」。 露比也將我介紹給她朋友, 他們是網路文化多彩多姿的一面。 她有朋友,例如雪豹, 它很美可是不想和其他小朋友一起玩。 她有朋友,像綠能機器人, 十分友善但超極散亂。 她有朋友,像名叫 Linux 的企鵝, 十分冷酷地有效率,但有點讓人難以了解。 還有理想主義的狐狸等等。
In Ruby's world, you learn technology through play. And, for instance, computers are really good at repeating stuff, so the way Ruby would teach loops goes like this. This is Ruby's favorite dance move, it goes, "Clap, clap, stomp, stomp clap, clap and jump." And you learn counter loops by repeating that four times. And you learn while loops by repeating that sequence while I'm standing on one leg. And you learn until loops by repeating that sequence until mom gets really mad. (Laughter) And most of all, you learn that there are no ready answers.
露比的世界是透過遊玩學技術。 又譬如,電腦很擅長於重複的事物, 所以露比教我像這樣用重複指令。 這是露比最喜歡的舞蹈動作: “拍、拍、踩、踩、 拍、拍、跳“。 這樣重複四次, 就可學會counter計數器迴圈, 當我單腳站,重複這個排序時, 就學會了 while 迴圈。 而當你一直重複那個排序,直到你媽氣瘋了 你就了解甚麼是 until 迴圈了。 (笑聲) 最重要是你學到的是沒有現成的答案。
When coming up with the curriculum for Ruby's world, I needed to really ask the kids how they see the world and what kind of questions they have and I would organize play testing sessions. I would start by showing the kids these four pictures. I would show them a picture of a car, a grocery store, a dog and a toilet. And I would ask, "Which one of these do you think is a computer?" And the kids would be very conservative and go, "None of these is a computer. I know what a computer is: it's that glowing box in front of which mom or dad spends way too much time." But then we would talk and we would discover that actually, a car is a computer, it has a navigation system inside of it. And a dog -- a dog might not be a computer, but it has a collar and the collar might have a computer inside of it. And grocery stores, they have so many different kinds of computers, like the cashier system and the burglar alarms. And kids, you know what? In Japan, toilets are computers and there's even hackers who hack them. (Laughter)
當我要設計一個 訴說露比世界的課程時, 我需要真正地問孩子們, 他們是如何看這世界的, 以及他們有什麼樣的問題, 然後我會安排些遊戲測試。 一開始我會給孩子們看四張圖片, 一張是一部車的圖片, 還有雜貨店.一隻狗和一個馬桶的圖片。 接著我會問:「這些之中, 你認為那一個是電腦?」 孩子們會非常嚴肅地說: 「這裡沒有一個是電腦, 我知道電腦是什麼: 它是一個會讓媽媽或爸爸 在它面前花很多時間的發光盒子。」 然後我們會討論, 並且發現其實車子就是一部電腦, 它裡面有導航系統。 狗或許不是電腦, 但它有個項圈, 項圈內可能有個電腦。 雜貨店裡有各式各樣的電腦, 例如收銀機及防盜警報器。 孩子們,你們知道嗎? 在日本,馬桶是電腦, 甚至駭客也會駭入它們。 (笑聲)
And we go further and I give them these little stickers with an on/off button on them. And I tell the kids, "Today you have this magic ability to make anything in this room into a computer." And again, the kids go, "Sounds really hard, I don't know the right answer for this." But I tell them, "Don't worry, your parents don't know the right answer, either. They've just started to hear about this thing called The Internet of Things. But you kids, you are going to be the ones who are really going to live up in a world where everything is a computer."
再進一步地, 我給他們一些在上面有開關按鈕的貼紙, 然後我告訴孩子:「今天你們有魔力, 能將這房間裡的任何東西都變成電腦。」 然後孩子們又說了: 「聽起來很難,我不知道正確答案。」 我告訴他們:「別擔心, 你們父母親也不知道正確答案。 他們只是才開始聽說有這個 叫『網際網路』的東西。 但是孩子們,你們會活在一個 所有的東西都是電腦的世界。」
And then I had this little girl who came to me and took a bicycle lamp and she said, "This bicycle lamp, if it were a computer, it would change colors." And I said, "That's a really good idea, what else could it do?" And she thinks and she thinks, and she goes, "If this bicycle lamp were a computer, we could go on a biking trip with my father and we would sleep in a tent and this biking lamp could also be a movie projector." And that's the moment I'm looking for, the moment when the kid realizes that the world is definitely not ready yet, that a really awesome way of making the world more ready is by building technology and that each one of us can be a part of that change.
然後有位小女孩走向我, 手裡拿著一個腳踏車車燈, 她說:「如果這腳踏車車燈是個電腦, 它會變各種顏色。」 我說:「這真是個好主意。 它還可以做其它什麼嗎?」 她想了又想, 然後回答:「如果這腳踏車車燈是個電腦, 我們就能和我爸爸騎腳踏去旅行, 我們可以睡在帳篷裡, 這腳踏車車燈也可當電影放映機。」 這正是我期待的一刻! 這一刻當孩子們明瞭 這世界肯定尚未準備就緒, 讓這世界更能準備就緒的最棒方法 就是開發技術。 而我們每個人都能成為這改變的一部份。
Final story, we also built a computer. And we got to know the bossy CPU and the helpful RAM and ROM that help it remember things. And after we've assembled our computer together, we also design an application for it. And my favorite story is this little boy, he's six years old and his favorite thing in the world is to be an astronaut. And the boy, he has these huge headphones on and he's completely immersed in his tiny paper computer because you see, he's built his own intergalactic planetary navigation application. And his father, the lone astronaut in the Martian orbit, is on the other side of the room and the boy's important mission is to bring the father safely back to earth. And these kids are going to have a profoundly different view of the world and the way we build it with technology.
最後一個故事,我們還建立了一台電腦, 我們知道了發號施令的「中央處理器」 及有幫忙的「隨機存取記憶體」 和幫電腦記住一切的「唯讀記憶體」 在我們將電腦組裝之後, 我們也為它設計了應用程式。 我特別喜愛的故事是這位小男孩, 他六歲, 在這世上最喜愛的一件事 就是成為太空人。 這小男孩戴著很大的耳機, 完全沉醉在他的小紙張電腦裡。 你看!他創造了自己的 星際宇宙導航應用程式。 他的爸爸 ─在火星軌道上唯一的太空人─ 在這房間的另一邊, 這小男孩的重要任務 就是將他爸爸安全地帶回地球。 這些孩子將會對這世界及我們用科技 創造世界的方法有截然不同的看法。
Finally, the more approachable, the more inclusive, and the more diverse we make the world of technology, the more colorful and better the world will look like. So, imagine with me, for a moment, a world where the stories we tell about how things get made don't only include the twentysomething-year-old Silicon Valley boys, but also Kenyan schoolgirls and Norwegian librarians. Imagine a world where the little Ada Lovelaces of tomorrow, who live in a permanent reality of 1s and 0s, they grow up to be very optimistic and brave about technology. They embrace the powers and the opportunities and the limitations of the world. A world of technology that is wonderful, whimsical and a tiny bit weird.
最後,越是平易近人就越能包羅萬象; 我們創造這世界的技術越多樣化, 這世界就會看起來越多彩多姿且越好。 所以,和我一起想像一個世界, 我們說了個故事:這世界裡 東西是如何被創造出的, 它不只是包括 二十多歲的矽谷男孩, 也包括肯亞的女學生及挪威圖書館員。 想像一個世界,那兒 未來的小愛達.勒芙蕾絲 她的世界就是 1 和 0, 他們長大後對科技既樂觀又勇敢。 他們擁抱了這世界的力量、機會與限制。 一個美好、新奇別緻 又有點古怪的科技世界。
When I was a girl, I wanted to be a storyteller. I loved make-believe worlds and my favorite thing to do was to wake up in the mornings in Moominvalley. In the afternoons, I would roam around the Tatooines. And in the evenings, I would go to sleep in Narnia. And programming turned out to be the perfect profession for me. I still create worlds. Instead of stories, I do them with code.
當我還是個小女孩, 我想成為一個說故事的人。 我愛虛幻世界, 我最喜歡做的事 就是早上在姆明谷醒來, 下午在塔圖因行星漫遊, 晚上則睡在納尼亞裡, 而程式設計成為我最理想的職業。 我仍然在創造世界, 但不是說故事,而是編寫程式。
Programming gives me this amazing power to build my whole little universe with its own rules and paradigms and practices. Create something out of nothing with the pure power of logic.
程式設計給了我神奇力量 去建立我整個小宇宙 有它自己的規則、範例和演練。 用邏輯的單純力量去創造出「從無到有」吧!
Thank you.
謝謝!
(Applause)
(掌聲)