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.
编码是下一个世界性的语言。 七十年代,影响了一代人的,是朋克音乐。 80年代,也许是金钱吧。 而对我这代人来说, 软件就是想象和世界的接口。 这意味着我们需要 更多更多各式各样的人 来建造这些产品, 这些人不会把电脑视作神奇却呆板 、 孤独又无趣的东西, 而是把电脑看作是可以摆弄的, 可以改进的等等。
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.
我开始编程,初涉科技世界 是在稚嫩的十四岁 那时,我疯狂迷恋着 一位年长男士, 这位男士正是 时任美国副总统的 阿尔·戈尔(AL Gore)先生。 而我做了每个青春期女生 都想做的事。 我想要表达自己对他的爱, 因此,我为他建立了一个网站。 就是这个 那是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.
这就是我如何开始编程的故事。 最初它于我而言, 是一种表达自我的方式。 就像我小的时候, 会用蜡笔和乐高积木来表达。 长大些后,会用 吉他课和戏剧表演,来表达自己。 但那时,还有其它很多让人兴奋的东西, 比如诗歌和织袜子, 总结法语动词变位, 构建虚幻世界, 还有伯特兰·罗素(Bertrand Russell)以及他的哲学。 然后,我也开始和很多人一样, 认为计算机既无趣,又专业 还孤单。
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.
这一追求过程让我想到这个小女孩 她叫Ruby(也是一种编程语言的名字),六岁 她无所畏惧,富有想象力,又有那么点强势 每当我处理问题时 每当我学习编程,学习诸如 何为面对对象设计?何为碎片帐集? 我都会想象一个六岁的女孩会如何解释这些问题
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.
我为她写了一本书,并加以说明 Ruby教会我 “不要害怕床下的那些虫子“ 还有,“即使再大的问题 也是由众多小问题构成的罢了“ Ruby还向我引荐了她的朋友们 也就是网络文化多彩的一面 比如雪豹(OS X操作系统的一个版本) 它很漂亮,但不喜欢和别的小朋友玩。 还有绿色机器人,也是Ruby的朋友, 十分友好,却很散乱 她还有朋友,比如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.
在Ruby的世界,你通过玩来学习科技 比如,电脑十分擅长做重复工作 因此Ruby会教我这样用循环 这是Ruby最喜欢的舞蹈动作 像这样: “拍,拍,踏,踏” “拍,拍,跳” 这样重复了四遍,你就学会了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)
当我要设计一个介绍Ruby世界的课程时 我想要真正问问孩子们, 他们是如何看待这个世界的 以及他们有什么样问题。 然后我会安排游戏测试环节 刚开始,我向孩子们展示这四幅图 我给他们看的画上有辆车 有家杂货铺,一条狗和一个马桶 接着我问他们:“你们觉得这些东西中,哪样是电脑?” 孩子们会十分谨慎 说:“哈,这里面才没有电脑呢, 我可知道电脑长啥样哦! 就是那个会发光的盒子 就是爸妈老花时间玩的那个东西“ 之后,我们会讨论 我们会发现,原来,车也是一台电脑 它里面有导航系统 还有狗,狗可能不是台电脑 但他带着个项圈, 这个项圈里可能有电脑 杂货店里,就更是有很多种电脑了 有收银机,还有防盗器 孩子们,你们知道吗 在日本,马桶也是电脑呢 甚至有黑客攻击它呢 (笑)
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.
最后,我们还造了一台电脑 我们知道了发号司令的中央处理器(CPU), 和十分有用的随机存储器(RAM), 以及帮助电脑记忆一切的只读存储器(ROM) 之后,我们将电脑组装起来, 为它设计了程序 我最喜欢的故事是这个小男孩 他六岁, 在这世上最喜欢的事就是成为宇航员。 小男孩头戴大耳机 完全着迷于他那小小的,纸质电脑。 因为,你看,他自己做了一个 能穿越星球星际的导航程序 他的父亲,一名位于火星轨道的,孤单的宇航员 就在房间的另一边 男孩的重大使命便是 将他爸爸安全带回地球 关于世界,以及我们如何用科技构建世界。 这些孩子将建立一个完全不同的认知
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.
最后,越是亲切、包容,多样的科技手段 就越会让 我们的世界变得更好,更多彩 所以,我们来一起想象一下 这样一个世界,在这里, 我们所说的故事 关于事物如何被创造的故事,不仅仅关于 二十来岁的硅谷男孩 也关于肯尼亚女学生,和挪威图书管理员 想象这样一个世界, 那里有明日的小阿达·洛芙莱斯(Ada Lovelaces,最早的“程序媛”) 居住在永恒的0和1的世界里 他们长大,积极又勇敢地看待科技 他们拥抱了这世界的力量、机会和限制, 这个科技世界既精妙绝伦又有些光怪陆离。
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.
当我是个小女孩时 我想要成为一个讲故事的人 我喜欢虚幻世界 我最想要做的便是 清晨醒来,身在姆明谷(Moominvalley) 下午漫步在塔图因星球(Tatooine) 晚上,再在纳尼亚的世界中安睡。 因此编程成为我的绝佳职业 我仍能创造世界 但不是说故事,而是通过编程
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)
(掌声)