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.
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.
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.
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.
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)