﻿1
00:00:06,965 --> 00:00:08,091
[telephone rings]

2
00:00:09,426 --> 00:00:11,594
-[woman] <i>9-1-1, emergency?</i>
-[telephone rings]

3
00:00:11,678 --> 00:00:13,346
[second woman]
<i>911. What's your emergency?</i>

4
00:00:13,430 --> 00:00:16,516
-[man] <i>9-1-1. What's your emergency?</i>
<i>-</i>[second woman] <i>9-1-1.</i>

5
00:00:19,811 --> 00:00:24,482
[Karlie Kloss] <i>On April 9, 2014,</i>
<i>9-1-1 service suddenly stopped</i>

6
00:00:24,566 --> 00:00:27,110
<i>for millions of people</i>
<i>across the United States.</i>

7
00:00:27,736 --> 00:00:30,196
<i>It was down for over six hours.</i>

8
00:00:30,280 --> 00:00:33,324
<i>More than 6,000 emergency calls</i>
<i>couldn't get through.</i>

9
00:00:33,908 --> 00:00:37,203
<i>The government traced the problem</i>
<i>to a computer in a call-routing facility</i>

10
00:00:37,287 --> 00:00:38,955
<i>in Englewood, Colorado.</i>

11
00:00:39,039 --> 00:00:41,791
<i>It was a simple coding mistake.</i>

12
00:00:41,875 --> 00:00:43,835
<i>The people in charge</i>
<i>of coding that computer</i>

13
00:00:43,918 --> 00:00:47,839
<i>chose to do it with an upper limit</i>
<i>for the number of calls it could log,</i>

14
00:00:47,922 --> 00:00:51,301
<i>a limit the coders thought</i>
<i>the computer would never hit.</i>

15
00:00:51,384 --> 00:00:54,471
<i>But that night in 2014, it did.</i>

16
00:00:54,554 --> 00:00:56,890
<i>The computer</i>
<i>followed its instructions perfectly.</i>

17
00:00:56,973 --> 00:00:59,809
<i>It hit the limit</i>
<i>and stopped routing calls.</i>

18
00:00:59,893 --> 00:01:04,272
<i>The problem wasn't the computer,</i>
<i>and it wasn't a bug in the code.</i>

19
00:01:04,355 --> 00:01:07,525
<i>It was the coding,</i>
<i>the decision-making process</i>

20
00:01:07,609 --> 00:01:10,445
<i>by which people communicate</i>
<i>with the computer.</i>

21
00:01:10,528 --> 00:01:14,616
This kind of power
comes with great ethical responsibility.

22
00:01:14,699 --> 00:01:18,203
There's nothing like doing it.
There's nothing that substitutes for it.

23
00:01:18,286 --> 00:01:21,289
You know, much the same ways
that builders of a city

24
00:01:21,372 --> 00:01:23,416
determine how your life
is lived in the city,

25
00:01:23,500 --> 00:01:26,795
I-I think code
controls how we live online,

26
00:01:26,878 --> 00:01:29,380
which basically is how we live.

27
00:01:29,464 --> 00:01:33,635
<i>Not just when we go on the Internet,</i>
<i>but when we contact emergency services...</i>

28
00:01:34,511 --> 00:01:37,764
<i>or go to the doctor or get in a car.</i>

29
00:01:37,847 --> 00:01:41,476
<i>We're all so close to code every day.</i>

30
00:01:41,559 --> 00:01:45,647
<i>Yet only around</i>
<i>a third of one percent of us</i>

31
00:01:45,730 --> 00:01:47,315
<i>know how to write it.</i>

32
00:01:47,398 --> 00:01:50,568
<i>To the overwhelming majority,</i>
<i>it's a black box.</i>

33
00:01:50,652 --> 00:01:55,156
<i>But it doesn't have to be.</i>
<i>So, how does coding really work?</i>

34
00:01:55,240 --> 00:01:58,326
<i>And what new world</i>
<i>are we building with it?</i>

35
00:02:00,662 --> 00:02:01,788
[man] <i>The computer.</i>

36
00:02:03,039 --> 00:02:06,042
<i>An ingenious collection</i>
<i>of electronic hardware</i>

37
00:02:06,126 --> 00:02:07,961
<i>was created by man.</i>

38
00:02:08,044 --> 00:02:11,339
[second man] <i>It is not that we do not have</i>
<i>adequate machines</i> <i>to solve our problems,</i>

39
00:02:11,422 --> 00:02:14,134
<i>but rather we lack adequate descriptions</i>
<i>of how to solve our problems.</i>

40
00:02:14,217 --> 00:02:18,429
[woman] <i>When someone says coding,</i>
<i>you think it's really, really hard.</i>

41
00:02:18,513 --> 00:02:20,640
[man] <i>It's very important</i>
<i>to really remember</i>

42
00:02:20,723 --> 00:02:25,228
<i>everything you use on your computer</i>
<i>was created by some human being.</i>

43
00:02:31,860 --> 00:02:34,863
Let's say an alien came, and you're like,
"Okay, what's the importance of code?

44
00:02:34,946 --> 00:02:39,534
What is it?" I'd say, "Well, you know,
we live on this sort of physical earth,

45
00:02:39,617 --> 00:02:41,244
and about 50 years ago,

46
00:02:41,327 --> 00:02:44,539
a small group of people
started building another planet.

47
00:02:44,622 --> 00:02:46,875
But it wasn't physical, virtual planet.

48
00:02:46,958 --> 00:02:50,044
Look around the street. You see
all the people walking down the street

49
00:02:50,128 --> 00:02:52,505
with their head bent down
and staring at their phone?

50
00:02:52,589 --> 00:02:56,050
They're actually in that other world.
So, that's what code is.

51
00:02:56,134 --> 00:02:58,595
It's the building blocks
of that other world."

52
00:03:00,013 --> 00:03:04,684
<i>This loom is the ancestor of every</i>
<i>computer and smartphone on Earth.</i>

53
00:03:04,767 --> 00:03:09,314
<i>It was invented in 1804,</i>
<i>and the big innovation was these cards.</i>

54
00:03:10,064 --> 00:03:13,276
<i>The holes in each card</i>
<i>allowed only certain pins to pass through.</i>

55
00:03:14,194 --> 00:03:16,362
<i>With thousands of holes</i>
<i>on hundreds of cards,</i>

56
00:03:16,446 --> 00:03:19,699
<i>weavers could do more complex patterns</i>
<i>than they could before.</i>

57
00:03:19,782 --> 00:03:22,994
<i>Elaborate shawls</i>
<i>became all the rage in Europe.</i>

58
00:03:23,077 --> 00:03:26,789
<i>And woven designs could be so intricate,</i>
<i>they looked like drawings,</i>

59
00:03:26,873 --> 00:03:29,167
<i>like this one of the loom's inventor.</i>

60
00:03:30,126 --> 00:03:33,421
<i>Before these looms, individual strings</i>
<i>had to be selected by hand</i>

61
00:03:33,504 --> 00:03:34,839
<i>by "draw boys."</i>

62
00:03:34,923 --> 00:03:38,968
<i>Math back then was done by hand, too,</i>
<i>by so-called "computers."</i>

63
00:03:39,052 --> 00:03:40,929
<i>The first computers were people.</i>

64
00:03:41,638 --> 00:03:46,100
<i>And the best machines we had to help us</i>
<i>could only do one type of math problem,</i>

65
00:03:46,184 --> 00:03:48,937
<i>like the abacus</i>
<i>for adding and subtracting.</i>

66
00:03:49,020 --> 00:03:51,022
<i>British mathematician Charles Babbage</i>

67
00:03:51,105 --> 00:03:54,692
<i>wanted a machine that could do</i>
<i>any math problem you chose for it to do</i>

68
00:03:54,776 --> 00:03:57,070
<i>or rather "programmed" it to do.</i>

69
00:03:57,737 --> 00:04:01,157
<i>He proposed a machine</i>
<i>he called "The Analytical Engine."</i>

70
00:04:01,241 --> 00:04:04,911
<i>Babbage's idea</i>
<i>would earn him a place in history.</i>

71
00:04:04,994 --> 00:04:10,500
Computers were invented first by Babbage,

72
00:04:10,583 --> 00:04:13,920
a very eccentric British inventor.

73
00:04:14,003 --> 00:04:16,547
<i>Babbage had inspiration</i>
<i>for how it would work.</i>

74
00:04:16,631 --> 00:04:20,093
<i>He kept a copy of this picture</i>
<i>hanging in his house.</i>

75
00:04:20,176 --> 00:04:23,221
<i>Babbage's Analytical Engine,</i>
<i>like Jacquard's loom,</i>

76
00:04:23,304 --> 00:04:25,515
<i>had physical parts--hardware.</i>

77
00:04:25,598 --> 00:04:27,058
<i>And also like the loom,</i>

78
00:04:27,141 --> 00:04:31,521
<i>you could give the hardware instructions</i>
<i>in the form of cards punched with holes.</i>

79
00:04:31,604 --> 00:04:32,981
<i>The holes let pins in,</i>

80
00:04:33,064 --> 00:04:36,025
<i>and the absence of holes</i>
<i>forced other pins backwards,</i>

81
00:04:36,109 --> 00:04:39,153
<i>setting off a chain</i>
<i>of mechanical calculations.</i>

82
00:04:39,737 --> 00:04:42,532
<i>The cards with their different holes,</i>
<i>that's software.</i>

83
00:04:43,658 --> 00:04:45,952
<i>Babbage never finished</i>
<i>his Analytical Engine,</i>

84
00:04:46,035 --> 00:04:48,037
<i>but a young woman working with him</i>

85
00:04:48,121 --> 00:04:52,542
<i>saw its world-changing potential</i>
<i>way beyond just math.</i>

86
00:04:52,625 --> 00:04:55,837
<i>Ada Byron, Countess of Lovelace, wrote,</i>

87
00:04:55,920 --> 00:04:58,047
<i>"The bounds of arithmetic were outstepped</i>

88
00:04:58,131 --> 00:05:02,135
<i>the moment the idea</i>
<i>of applying the cards had occurred."</i>

89
00:05:02,218 --> 00:05:04,220
<i>She saw what Jacquard saw--</i>

90
00:05:04,304 --> 00:05:06,931
<i>the holes could represent</i>
<i>more than just numbers.</i>

91
00:05:07,015 --> 00:05:09,267
<i>They could be patterns, music...</i>

92
00:05:10,560 --> 00:05:12,645
<i>or entire sentences.</i>

93
00:05:12,729 --> 00:05:15,148
You can think of it
kind of as Morse code.

94
00:05:15,231 --> 00:05:17,358
<i>Each letter in the Morse-code alphabet</i>

95
00:05:17,442 --> 00:05:19,944
<i>is expressed as a set</i>
<i>of only two signals--</i>

96
00:05:20,028 --> 00:05:23,114
[short beep] <i>or </i>[long beep].
<i>It's binary.</i>

97
00:05:23,197 --> 00:05:26,784
<i>And with just those beeps,</i>
<i>we can say anything,</i>

98
00:05:26,868 --> 00:05:30,788
<i>like this distress call</i>
<i>sent out by the </i>Titanic <i>in 1912.</i>

99
00:05:31,622 --> 00:05:34,584
<i>SOS doesn't stand for anything.</i>

100
00:05:34,667 --> 00:05:37,879
<i>It's just incredibly simple</i>
<i>to send in Morse code.</i>

101
00:05:37,962 --> 00:05:40,798
[Andy] <i>You can equally well think</i>
<i>of every letter</i>

102
00:05:40,882 --> 00:05:44,635
<i>could be expressed as a combination</i>
<i>of zeros and ones.</i>

103
00:05:44,719 --> 00:05:47,764
[Kloss] <i>Look familiar?</i>
<i>This is binary code.</i>

104
00:05:47,847 --> 00:05:51,809
<i>And it's how we bridge the gap</i>
<i>between machines and human language.</i>

105
00:05:51,893 --> 00:05:55,813
<i>Each one or zero</i>
<i>is a binary digit or "bit."</i>

106
00:05:55,897 --> 00:05:58,399
<i>These are the atoms of modern computing.</i>

107
00:05:58,483 --> 00:06:02,653
<i>You may know them by another name--</i>
<i>eight bits is a byte.</i>

108
00:06:02,737 --> 00:06:08,034
<i>So, you know that picture on your computer</i>
<i>that's 1.1 megabytes?</i>

109
00:06:08,117 --> 00:06:12,246
<i>That's 8,800,000 ones and zeros.</i>

110
00:06:12,330 --> 00:06:15,291
<i>Like Morse code's dots and dashes</i>
<i>are just a way to write down</i>

111
00:06:15,375 --> 00:06:16,793
[long beep]<i> and </i>[short beep],

112
00:06:16,876 --> 00:06:20,171
<i>binary code's ones and zeros</i>
<i>are just the way we write down</i>

113
00:06:20,254 --> 00:06:23,091
<i>what's really happening</i>
<i>in a modern computer--</i>

114
00:06:23,174 --> 00:06:25,301
<i>charge or no charge.</i>

115
00:06:25,385 --> 00:06:27,637
<i>This is a simple electrical circuit.</i>

116
00:06:27,720 --> 00:06:30,807
<i>Imagine millions of these</i>
<i>all working together.</i>

117
00:06:30,890 --> 00:06:32,809
<i>That's a computer today.</i>

118
00:06:32,892 --> 00:06:35,478
<i>On an electric circuit, this is a bit.</i>

119
00:06:35,561 --> 00:06:37,980
<i>Is the light bulb off? Zero.</i>

120
00:06:38,064 --> 00:06:39,982
<i>On? One.</i>

121
00:06:40,066 --> 00:06:42,151
<i>Computers only understand electricity,</i>

122
00:06:42,235 --> 00:06:46,322
<i>so everything coders do with computers</i>
<i>is, in the end,</i>

123
00:06:46,406 --> 00:06:49,617
<i>just a series of on-or-off charges.</i>

124
00:06:49,700 --> 00:06:53,371
<i>It all works because,</i>
<i>strung together in just the right way,</i>

125
00:06:53,454 --> 00:06:56,499
<i>those charges can represent logic.</i>

126
00:06:56,582 --> 00:07:01,129
[man] <i>Basically, logic is</i>
<i>a predictable series of facts or events,</i>

127
00:07:01,212 --> 00:07:03,047
<i>such as closing this switch...</i>

128
00:07:04,674 --> 00:07:07,093
<i>and this one to ring the bell.</i>

129
00:07:07,176 --> 00:07:08,928
[bell rings]

130
00:07:09,011 --> 00:07:12,473
<i>In fact, computer people call this</i>
<i>a logic AND circuit.</i>

131
00:07:13,474 --> 00:07:15,643
[Kloss] <i>Or a logic gate.</i>

132
00:07:15,726 --> 00:07:18,396
Let's see if I can do this
without burning a hole through this table.

133
00:07:18,479 --> 00:07:23,109
<i>In an AND gate, both circuits</i>
<i>need to be closed for the light to go on.</i>

134
00:07:23,192 --> 00:07:24,652
<i>And there are OR gates,</i>

135
00:07:24,735 --> 00:07:28,322
<i>where the light goes on</i>
<i>if just one of the circuits is closed.</i>

136
00:07:28,406 --> 00:07:29,782
<i>You can put this another way.</i>

137
00:07:29,866 --> 00:07:34,370
<i>If one of these circuits is closed,</i>
<i>then turn on the light.</i>

138
00:07:34,454 --> 00:07:38,166
<i>That kind of if/then statement,</i>
<i>that's an algorithm.</i>

139
00:07:38,249 --> 00:07:40,751
<i>In pop culture today, the word "algorithm"</i>

140
00:07:40,835 --> 00:07:42,628
<i>causes lots of confusion.</i>

141
00:07:42,712 --> 00:07:45,882
<i>We've seen this before,</i>
<i>uh, where the algorithms go haywire.</i>

142
00:07:45,965 --> 00:07:49,051
<i>The way algorithms work</i>
<i>is something of a mystery to most people.</i>

143
00:07:49,135 --> 00:07:51,804
<i>What the heck is an algorithm, anyway?</i>

144
00:07:51,929 --> 00:07:55,016
[Kloss] <i>But an algorithm</i>
<i>is really just a set of directions.</i>

145
00:07:55,099 --> 00:07:56,684
<i>Imagine walking to the store.</i>

146
00:07:56,767 --> 00:07:59,604
<i>You could take a left</i>
<i>and then take a right.</i>

147
00:07:59,687 --> 00:08:02,940
<i>Or you could just take a right,</i>
<i>then turn left.</i>

148
00:08:03,024 --> 00:08:05,026
<i>Or you could also take four lefts,</i>

149
00:08:05,109 --> 00:08:06,986
<i>run around the park, cross a highway,</i>

150
00:08:07,069 --> 00:08:09,238
<i>and then take four rights again.</i>

151
00:08:09,322 --> 00:08:12,033
<i>Just like there are different directions</i>
<i>to get to the same place,</i>

152
00:08:12,116 --> 00:08:14,368
<i>in coding, there can be</i>
<i>many different algorithms</i>

153
00:08:14,452 --> 00:08:16,162
<i>to solve the same problem.</i>

154
00:08:16,245 --> 00:08:20,333
<i>The goal is to find</i>
<i>the most elegant, efficient one.</i>

155
00:08:20,416 --> 00:08:22,752
Beautiful code doesn't repeat itself.

156
00:08:22,835 --> 00:08:24,879
It's very elegant. It's powerful.

157
00:08:25,546 --> 00:08:29,008
<i>Computers running algorithms</i>
<i>just did what we told them to do,</i>

158
00:08:29,091 --> 00:08:34,096
<i>but so much faster,</i>
<i>which made people so much more powerful.</i>

159
00:08:34,180 --> 00:08:37,892
<i>When scientists first began to develop</i>
<i>the fusion bomb,</i>

160
00:08:37,975 --> 00:08:40,853
<i>they primarily used human computers.</i>

161
00:08:40,937 --> 00:08:43,105
<i>But then they turned to this one--</i>

162
00:08:43,189 --> 00:08:47,777
<i>the ENIAC computer ran</i>
<i>thermonuclear calculations for six weeks.</i>

163
00:08:47,860 --> 00:08:51,030
<i>Its results contributed directly to this--</i>

164
00:08:51,113 --> 00:08:53,950
<i>the first successful test in 1952</i>

165
00:08:54,033 --> 00:08:57,453
<i>of a bomb hundreds of times more powerful</i>
<i>than the atomic fission bombs</i>

166
00:08:57,537 --> 00:09:00,706
<i>dropped on Hiroshima and Nagasaki</i>
<i>during World War II.</i>

167
00:09:01,457 --> 00:09:05,253
<i>The power to code</i>
<i>amplified people's ability to do</i>

168
00:09:05,336 --> 00:09:06,629
<i>what they chose to do.</i>

169
00:09:07,547 --> 00:09:11,342
<i>But in the 1940s,</i>
<i>it was still a lot of work.</i>

170
00:09:11,425 --> 00:09:16,138
[Andy] <i>Writing programs in zeros and ones</i>
<i>clearly doesn't scale.</i>

171
00:09:16,222 --> 00:09:19,058
[Kloss] <i>People wanted more</i>
<i>of the power coding gave,</i>

172
00:09:19,141 --> 00:09:21,561
<i>but they wanted an easier way to code.</i>

173
00:09:22,478 --> 00:09:24,272
<i>The story of coding since then</i>

174
00:09:24,355 --> 00:09:29,318
<i>has been the story of making code</i>
<i>closer and closer to human language</i>

175
00:09:29,402 --> 00:09:35,074
<i>by inventing what nearly all coders today</i>
<i>actually use--programming languages.</i>

176
00:09:35,157 --> 00:09:39,453
<i>Compared to ones and zeros,</i>
<i>these languages are pretty abstract.</i>

177
00:09:39,537 --> 00:09:42,123
Abstraction's a word
that's tough for people.

178
00:09:42,206 --> 00:09:45,751
<i>More abstract languages</i>
<i>boil down to the same ones and zeros.</i>

179
00:09:45,835 --> 00:09:48,671
<i>We've just found better ways</i>
<i>to organize them.</i>

180
00:09:48,754 --> 00:09:51,257
<i>You can think of it in terms of biology.</i>

181
00:09:51,340 --> 00:09:53,092
<i>Humans are incredibly complex,</i>

182
00:09:53,175 --> 00:09:57,305
<i>but 99% of our bodies</i>
<i>are made up of only six elements.</i>

183
00:09:57,388 --> 00:10:00,141
[Alan] <i>And you can</i>
<i>work your way up to large molecules.</i>

184
00:10:00,224 --> 00:10:02,226
<i>Between that layer of organization</i>

185
00:10:02,310 --> 00:10:04,645
<i>and the one that is</i>
<i>the simplest living thing</i>

186
00:10:04,729 --> 00:10:06,188
<i>is actually a bit of a jump.</i>

187
00:10:06,272 --> 00:10:09,483
[Kloss] <i>And humans have brains</i>
<i>which do things so advanced,</i>

188
00:10:09,567 --> 00:10:12,778
<i>it's hard to believe</i>
<i>they're still made of the same stuff.</i>

189
00:10:12,862 --> 00:10:16,782
Computers actually are rather like that,
but are much simpler.

190
00:10:17,908 --> 00:10:19,160
So that is the good news.

191
00:10:19,243 --> 00:10:23,039
<i>The story of coding</i>
<i>is the story of moving this box up,</i>

192
00:10:23,122 --> 00:10:26,584
<i>moving away from binary</i>
<i>to give ourselves easier, faster,</i>

193
00:10:26,667 --> 00:10:28,961
<i>more powerful ways to code</i>

194
00:10:29,045 --> 00:10:32,298
<i>without having to deal with</i>
<i>or really even understand</i>

195
00:10:32,381 --> 00:10:34,717
<i>the binary and logic gates beneath.</i>

196
00:10:35,301 --> 00:10:39,180
<i>That's what allows coders to make</i>
<i>the products we're all familiar with.</i>

197
00:10:39,263 --> 00:10:41,349
<i>The first step to get there was...</i>

198
00:10:41,432 --> 00:10:46,103
[Andy] <i>"Assembly language,"</i>
<i>which is much easier to read and write,</i>

199
00:10:46,187 --> 00:10:49,774
<i>where you say</i>
<i>instead of 0-1-0-0-0-1-1-1,</i>

200
00:10:49,857 --> 00:10:51,567
<i>let's call it "add,"</i>

201
00:10:51,651 --> 00:10:55,363
<i>and then have a program</i>
<i>called the assembler</i>

202
00:10:55,446 --> 00:10:59,367
<i>translate the letters A-D-D</i>

203
00:10:59,450 --> 00:11:03,454
<i>to the appropriate</i>
<i>equivalent zeros and ones.</i>

204
00:11:03,537 --> 00:11:07,500
[Kloss] <i>At this level, binary</i>
<i>is organized into letters and numbers,</i>

205
00:11:07,583 --> 00:11:10,753
<i>just like atoms</i>
<i>are organized into molecules.</i>

206
00:11:10,836 --> 00:11:15,716
<i>But coding in assembly language</i>
<i>still wasn't exactly easy,</i>

207
00:11:15,800 --> 00:11:19,970
<i>because all these computers</i>
<i>used different assembly languages.</i>

208
00:11:20,054 --> 00:11:24,975
<i>If you wrote a program for one computer,</i>
<i>it wouldn't work on any of the others.</i>

209
00:11:25,059 --> 00:11:27,144
Very quickly,
people started thinking about,

210
00:11:27,228 --> 00:11:29,397
"Well, what we really
want to give the computer

211
00:11:29,480 --> 00:11:33,067
are things in terms
that we actually use every day."

212
00:11:33,150 --> 00:11:35,778
You have programming languages

213
00:11:35,861 --> 00:11:39,782
that we built using the assembly language,

214
00:11:39,865 --> 00:11:42,868
and then from those programming languages,
we build more programming languages.

215
00:11:42,952 --> 00:11:44,912
<i>You've probably heard their names.</i>

216
00:11:44,995 --> 00:11:45,871
-LISP.
-BASIC.

217
00:11:45,955 --> 00:11:47,164
-Java.
-C++.

218
00:11:47,248 --> 00:11:48,999
-[man] Python 3.
-HTML 5.

219
00:11:49,083 --> 00:11:51,001
PEARL. PHP. A little bit of C.

220
00:11:51,085 --> 00:11:53,629
<i>Just like how spoken languages</i>
<i>are different ways</i>

221
00:11:53,713 --> 00:11:57,174
<i>of expressing the same idea</i>
<i>to other people,</i>

222
00:11:57,258 --> 00:11:58,467
<i>programming languages</i>

223
00:11:58,551 --> 00:12:02,221
<i>are just different ways of expressing</i>
<i>the same idea to computers.</i>

224
00:12:02,304 --> 00:12:04,807
[Andy] <i>We have more than one</i>
<i>high-level language,</i>

225
00:12:04,890 --> 00:12:06,767
<i>because, first of all,</i>

226
00:12:06,851 --> 00:12:10,604
<i>different languages</i>
<i>address different needs.</i>

227
00:12:10,688 --> 00:12:12,148
[Kloss] <i>Take a look at these two.</i>

228
00:12:12,231 --> 00:12:15,860
<i>This one, COBOL,</i>
<i>was created in the late 1950s</i>

229
00:12:15,943 --> 00:12:19,113
<i>to make it easier for businesses</i>
<i>to use code.</i>

230
00:12:19,196 --> 00:12:21,115
<i>It looks a lot like English,</i>

231
00:12:21,198 --> 00:12:25,578
<i>except if every conversation</i>
<i>ended with "STOP RUN."</i>

232
00:12:26,454 --> 00:12:30,291
<i>This one, CPL, was developed in the 1960s</i>

233
00:12:30,374 --> 00:12:33,085
<i>and included more scientific computing.</i>

234
00:12:33,169 --> 00:12:35,504
<i>It's like biological evolution.</i>

235
00:12:35,588 --> 00:12:38,591
<i>As organisms get more complex,</i>
<i>they develop features</i>

236
00:12:38,674 --> 00:12:41,886
<i>that make them better adapted</i>
<i>to their specific environments.</i>

237
00:12:41,969 --> 00:12:46,390
And, frankly, it's also a matter of taste.

238
00:12:46,474 --> 00:12:50,478
People like different tools
for expressing themselves.

239
00:12:50,561 --> 00:12:53,731
<i>For example, the language C++.</i>

240
00:12:53,814 --> 00:12:56,233
<i>Elon Musk... n-not a fan.</i>

241
00:12:56,317 --> 00:12:57,860
<i>You could make one up.</i>

242
00:12:57,943 --> 00:13:02,823
<i>This is a real high-level language</i>
<i>made entirely of the word "moo."</i>

243
00:13:02,907 --> 00:13:05,159
<i>Seriously. It's called COW.</i>

244
00:13:05,242 --> 00:13:09,121
<i>This one is made of</i>
<i>Arnold Schwarzenegger movie quotes.</i>

245
00:13:09,205 --> 00:13:13,292
Every time I think,
"Okay, we must be done by now,"

246
00:13:13,375 --> 00:13:15,753
somebody else comes up with a new language

247
00:13:15,836 --> 00:13:19,965
and it develops a group of devotees.

248
00:13:20,049 --> 00:13:24,845
So I don't see any end in sight
to the invention of new languages.

249
00:13:25,429 --> 00:13:29,266
<i>And all of these languages</i>
<i>are still based around logic.</i>

250
00:13:29,350 --> 00:13:32,561
<i>For example,</i>
<i>a coder at Netflix could say,</i>

251
00:13:32,645 --> 00:13:35,314
<i>"If you've been watching</i>
<i>longer than two hours,</i>

252
00:13:35,397 --> 00:13:37,566
<i>then display this."</i>

253
00:13:37,650 --> 00:13:39,860
<i>But for code</i>
<i>to impact most people's lives,</i>

254
00:13:39,944 --> 00:13:42,696
<i>most people had to be using computers,</i>

255
00:13:42,780 --> 00:13:46,033
<i>which meant computers</i>
<i>had to be easier, friendlier,</i>

256
00:13:46,116 --> 00:13:50,621
<i>and that required another big leap,</i>
<i>which started here,</i>

257
00:13:50,704 --> 00:13:54,333
<i>in a demo given by Doug Engelbart in 1968.</i>

258
00:13:54,416 --> 00:13:56,752
[Doug] In a second,
we'll see the screen he's working

259
00:13:56,836 --> 00:13:58,337
and the way the tracking spot moves

260
00:13:58,420 --> 00:14:01,924
in conjunction with
movements of that mouse.

261
00:14:02,007 --> 00:14:04,176
People nowadays don't program

262
00:14:04,260 --> 00:14:07,680
by writing out statements
on a piece of paper

263
00:14:07,763 --> 00:14:11,433
and then handing them off to somebody
who types it in.

264
00:14:11,517 --> 00:14:15,229
You sit down at a screen.
You have a graphical user interface.

265
00:14:15,312 --> 00:14:17,898
<i>Today, we call them GUIs.</i>

266
00:14:17,982 --> 00:14:21,110
<i>With GUIs, people can code</i>
<i>without typing at all.</i>

267
00:14:22,528 --> 00:14:25,114
<i>Or they can just use code more easily.</i>

268
00:14:25,197 --> 00:14:30,160
You're typically operating in
a programming environment

269
00:14:30,244 --> 00:14:34,874
of the type that Alan and his companions

270
00:14:34,957 --> 00:14:36,375
created so beautifully

271
00:14:36,458 --> 00:14:40,588
at Xerox Palo Alto Research Center
in the early '70s.

272
00:14:40,671 --> 00:14:42,756
<i>Alan. This Alan.</i>

273
00:14:42,840 --> 00:14:45,885
I think of him
as the father of personal computing

274
00:14:45,968 --> 00:14:50,556
because he was the first
to really articulate that vision.

275
00:14:50,639 --> 00:14:54,310
And I have to confess, at the time,
I thought it was science fiction.

276
00:14:54,393 --> 00:14:56,562
When big things really get done...

277
00:14:58,063 --> 00:14:59,690
there's usually a whole community.

278
00:14:59,773 --> 00:15:04,653
And, boy, Park was fantastic at it.
It was just like magic.

279
00:15:04,737 --> 00:15:08,449
The graphical user interface
allowed millions more people

280
00:15:08,532 --> 00:15:13,037
to use computers in a way
that is natural to them.

281
00:15:13,120 --> 00:15:17,082
<i>When Xerox</i>
<i>first advertised GUIs in 1979,</i>

282
00:15:17,166 --> 00:15:20,210
<i>they showed how code</i>
<i>could change daily life.</i>

283
00:15:20,294 --> 00:15:21,587
[man] <i>You come into your office,</i>

284
00:15:21,670 --> 00:15:24,965
<i>and a Xerox machine</i>
<i>presents your morning mail on a screen.</i>

285
00:15:25,049 --> 00:15:27,301
<i>Soon, Xerox systems like this</i>

286
00:15:27,384 --> 00:15:30,346
<i>will help you manage</i>
<i>your most precious resource--</i>

287
00:15:30,429 --> 00:15:31,722
<i>information.</i>

288
00:15:31,805 --> 00:15:33,390
There were people like me,

289
00:15:33,474 --> 00:15:36,477
and a lot of the people
in this research community

290
00:15:36,560 --> 00:15:38,062
wanted to make the world better.

291
00:15:38,145 --> 00:15:43,484
They had an idea that was deeply related
to human augmentation.

292
00:15:43,567 --> 00:15:46,570
Something that would interact with us,

293
00:15:46,654 --> 00:15:49,323
you know, the-the public,
the-the normal person,

294
00:15:49,406 --> 00:15:53,577
and make us capable of
doing more than we were before.

295
00:15:53,661 --> 00:15:56,205
<i>It did make us capable of doing more.</i>

296
00:15:56,288 --> 00:15:58,832
<i>GUIs were a big jump up this spectrum.</i>

297
00:15:59,458 --> 00:16:03,879
<i>And then came</i>
<i>the next world-changing innovation.</i>

298
00:16:03,963 --> 00:16:05,255
[dial-up drone]

299
00:16:05,339 --> 00:16:09,051
<i>A new way to distribute everything</i>
<i>that we could make with code.</i>

300
00:16:10,052 --> 00:16:11,720
<i>On TV, people started predicting</i>

301
00:16:11,804 --> 00:16:14,682
<i>what sudden access to all this code</i>
<i>would mean.</i>

302
00:16:14,765 --> 00:16:17,351
Imagine, if you will,
sitting down to your morning coffee,

303
00:16:17,434 --> 00:16:20,396
turning on your home computer
to read the day's newspaper.

304
00:16:20,479 --> 00:16:23,315
Imagine a world
where every word ever written,

305
00:16:23,399 --> 00:16:24,858
every picture ever painted,

306
00:16:24,942 --> 00:16:28,654
every film ever shot
could be viewed instantly in your home.

307
00:16:28,737 --> 00:16:33,617
I think we're actually on the cusp of
something exhilarating and terrifying.

308
00:16:33,701 --> 00:16:36,161
-It's just a tool, though, isn't it?
-No, it's not.

309
00:16:36,245 --> 00:16:40,624
<i>The most impactful software products today</i>
<i>make use of all these innovations.</i>

310
00:16:40,708 --> 00:16:45,129
<i>One college student used</i>
<i>a high-level programming language, PHP,</i>

311
00:16:45,212 --> 00:16:47,381
<i>to make something</i>
<i>shared over the Internet,</i>

312
00:16:47,464 --> 00:16:49,883
<i>to be used on computers with GUIs.</i>

313
00:16:49,967 --> 00:16:53,846
<i>He described it</i>
<i>in his first ever TV interview in 2004.</i>

314
00:16:53,929 --> 00:16:56,306
It's an online directory
that connects people

315
00:16:56,390 --> 00:16:59,435
through universities and colleges
through their social networks there.

316
00:16:59,518 --> 00:17:03,063
Now we're at a hundred thousand people,
so who knows where we're going next?

317
00:17:03,147 --> 00:17:06,734
<i>Where we went</i>
<i>was more than 2,000,000,000 people</i>

318
00:17:06,817 --> 00:17:08,610
<i>on Facebook monthly.</i>

319
00:17:08,694 --> 00:17:11,780
<i>Today, coders shape</i>
<i>literally billions of people's lives.</i>

320
00:17:11,864 --> 00:17:16,076
<i>How they work, shop, eat, date, and chill.</i>

321
00:17:16,160 --> 00:17:17,494
What are you doing right now?

322
00:17:17,578 --> 00:17:21,290
You're watching me
in a Netflix web browser.

323
00:17:23,292 --> 00:17:25,294
So Netflix itself is code,

324
00:17:25,377 --> 00:17:28,297
and it's being run in a web browser
that is code,

325
00:17:28,380 --> 00:17:33,927
which is being run on a computer
that was designed using code.

326
00:17:34,011 --> 00:17:36,388
It's-It's turtles all the way down, right?

327
00:17:37,639 --> 00:17:41,226
Great code is like being
the architect of a museum

328
00:17:41,310 --> 00:17:43,353
that millions of people think of

329
00:17:43,437 --> 00:17:46,106
and go and walk around
and use every day.

330
00:17:46,190 --> 00:17:49,526
I think there's nothing like writing code,
because it feels like pure creation.

331
00:17:49,610 --> 00:17:52,196
You have an idea
for how something should work,

332
00:17:52,279 --> 00:17:56,116
and then you try to sit down
in front of a computer

333
00:17:56,200 --> 00:17:58,035
and make that a reality.

334
00:17:58,118 --> 00:18:01,038
I think there's a lot of responsibility
for that role.

335
00:18:01,121 --> 00:18:04,041
You know, you have a speed limit.

336
00:18:04,124 --> 00:18:05,709
No more than 60 miles an hour.

337
00:18:06,627 --> 00:18:11,423
Fine. But what if you had a car,
and the computer said...

338
00:18:12,132 --> 00:18:15,719
"Well, this car is not gonna go faster
than 60 miles an hour"?

339
00:18:15,803 --> 00:18:17,930
That's a different way
of controlling your behavior.

340
00:18:18,013 --> 00:18:20,182
Often by controlling our choices...

341
00:18:20,849 --> 00:18:26,021
code in our live exerts
an almost more profound regulatory effect,

342
00:18:26,105 --> 00:18:28,398
uh, than the law can ever hope to.

343
00:18:28,482 --> 00:18:30,818
<i>And that might be a great thing.</i>

344
00:18:30,901 --> 00:18:35,239
<i>There are around 6,000,000 car crashes</i>
<i>in the U.S. every year,</i>

345
00:18:35,322 --> 00:18:39,660
<i>and one analysis</i>
<i>found 94% are caused by the driver.</i>

346
00:18:40,327 --> 00:18:43,163
<i>Advancements in coding</i>
<i>could save millions of lives.</i>

347
00:18:43,664 --> 00:18:47,334
<i>But they can also put lives in danger</i>
<i>in new ways.</i>

348
00:18:47,417 --> 00:18:51,004
I have something called
hypertrophic cardiomyopathy,

349
00:18:51,088 --> 00:18:56,343
um, which is the medical term
for the fact that I have a big heart.

350
00:18:56,426 --> 00:18:58,137
My heart is literally a big heart.

351
00:18:58,220 --> 00:19:00,889
It is about three times the size of
a normal person's heart.

352
00:19:00,973 --> 00:19:03,100
I found out when I was about 30,

353
00:19:03,183 --> 00:19:07,312
and so my risk of suddenly dying by 40
was just very large.

354
00:19:07,396 --> 00:19:09,982
And the electrophysiologist said,
"Well, this is no problem at all

355
00:19:10,065 --> 00:19:12,860
because you can get
a pacemaker defibrillator."

356
00:19:12,943 --> 00:19:14,987
<i>This device runs on code.</i>

357
00:19:15,654 --> 00:19:17,990
A couple years ago, when I was pregnant,

358
00:19:18,073 --> 00:19:20,117
my heart was palpitating.

359
00:19:20,200 --> 00:19:23,579
About a quarter of all women
have palpitations.

360
00:19:23,662 --> 00:19:25,038
It's perfectly normal.

361
00:19:25,122 --> 00:19:29,543
But my device thought that I was in
a dangerous rhythm, and it shocked me.

362
00:19:29,626 --> 00:19:34,047
Device manufacturers have no interest
in pregnant ladies getting shocked.

363
00:19:34,131 --> 00:19:36,508
It is literally the last thing they want.

364
00:19:36,592 --> 00:19:39,219
They just... haven't considered it.

365
00:19:39,303 --> 00:19:42,931
There is this huge set of decisions...

366
00:19:43,015 --> 00:19:47,436
and the people who do the programming
will be making them.

367
00:19:48,145 --> 00:19:53,650
And inevitably, there will be
some combination of circumstances

368
00:19:53,734 --> 00:19:56,111
that they will not have anticipated.

369
00:19:56,195 --> 00:20:02,117
So, what we try to teach
when we teach the craft of programming

370
00:20:02,201 --> 00:20:07,706
is how you think about
all these different conditions.

371
00:20:07,789 --> 00:20:13,212
How you try to be exhaustive
without becoming paralyzed

372
00:20:13,295 --> 00:20:16,048
by the number of things
that you might have to consider.

373
00:20:16,131 --> 00:20:18,425
<i>And that will only become more true,</i>

374
00:20:18,508 --> 00:20:21,678
<i>because we've started coding</i>
<i>in a completely new way.</i>

375
00:20:22,387 --> 00:20:25,933
<i>In traditional coding,</i>
<i>you write instructions for a computer.</i>

376
00:20:26,016 --> 00:20:30,270
<i>But we're now able to give a computer</i>
<i>a bunch of inputs and a bunch of outputs</i>

377
00:20:30,354 --> 00:20:33,815
<i>and get it to write its own instructions.</i>

378
00:20:33,899 --> 00:20:37,361
What you do is you give the computer...

379
00:20:38,320 --> 00:20:39,947
a lot of examples,

380
00:20:40,030 --> 00:20:43,742
and you say, "This is a party,
this is a party, this is a party." Right?

381
00:20:43,825 --> 00:20:47,204
And then you have other things.
A dentist's office--not a party.

382
00:20:47,287 --> 00:20:49,206
A classroom--not a party.

383
00:20:49,289 --> 00:20:51,541
So then the computer looks at these

384
00:20:51,625 --> 00:20:55,128
and tries to build
a classification system.

385
00:20:55,212 --> 00:20:57,130
<i>This is machine learning.</i>

386
00:20:57,214 --> 00:21:00,342
These days, if somebody says
artificial intelligence,

387
00:21:00,425 --> 00:21:01,510
this is what they mean.

388
00:21:01,593 --> 00:21:05,222
That's a whole different
kind of abstraction

389
00:21:05,305 --> 00:21:06,598
and way of doing things,

390
00:21:06,682 --> 00:21:11,520
because it doesn't really fit into the way
we stack these things up.

391
00:21:11,603 --> 00:21:13,689
<i>We call them machine-learning algorithms</i>

392
00:21:13,772 --> 00:21:18,026
<i>because the computer is creating</i>
<i>its own set of directions to follow.</i>

393
00:21:18,110 --> 00:21:19,736
But, of course, in the end,

394
00:21:19,820 --> 00:21:24,491
they too get translated into
tiny little instructions.

395
00:21:25,158 --> 00:21:28,412
Google Translate used to be
more than a million lines of code.

396
00:21:28,495 --> 00:21:32,749
That's people writing
million little instructions.

397
00:21:32,833 --> 00:21:38,338
Currently, Google Translate
is about 500 lines of code

398
00:21:38,422 --> 00:21:42,175
-that just calls in the machine learning.
<i>-Suppose, because of an oversight,</i>

399
00:21:42,259 --> 00:21:46,930
<i>none of the photos of parties you put in</i>
<i>included any black or Hispanic people.</i>

400
00:21:47,014 --> 00:21:49,308
<i>The computer could decide</i>
<i>that a rule of parties</i>

401
00:21:49,391 --> 00:21:52,728
<i>is only white and Asian people</i>
<i>are invited.</i>

402
00:21:52,811 --> 00:21:56,106
There's a lot of white
and Asian guys who program.

403
00:21:56,189 --> 00:22:01,194
We should absolutely expand
who gets to be in that design room

404
00:22:01,278 --> 00:22:02,404
for a million reasons.

405
00:22:02,487 --> 00:22:05,282
They will ask better questions
if there is more life experience.

406
00:22:05,365 --> 00:22:08,952
But, in the end, if you're feeding
your machine-learning system data,

407
00:22:09,036 --> 00:22:13,165
say, criminal-justice system that has
structural racism built into that data,

408
00:22:13,248 --> 00:22:15,459
and let's say
your machine-learning programmers

409
00:22:15,542 --> 00:22:20,380
look like a Benetton ad,
different races, different sort of faces,

410
00:22:20,464 --> 00:22:22,549
different social backgrounds,

411
00:22:22,632 --> 00:22:25,260
that machine-learning system
is still gonna learn from the data.

412
00:22:25,344 --> 00:22:28,013
<i>Without people</i>
<i>actively correcting for that,</i>

413
00:22:28,096 --> 00:22:31,725
<i>historical data will lead us</i>
<i>to repeat the mistakes of the past.</i>

414
00:22:33,769 --> 00:22:38,440
<i>The story of coding</i>
<i>is one of human ambition</i> <i>and creativity.</i>

415
00:22:38,523 --> 00:22:41,485
[man] <i>Liftoff of the Falcon 9 rocket.</i>

416
00:22:41,568 --> 00:22:43,987
We have seen
what we thought was unseeable.

417
00:22:44,863 --> 00:22:46,239
A black hole.

418
00:22:46,323 --> 00:22:50,160
<i>We're building a new world</i>
<i>with more and more intuitive tools</i>

419
00:22:50,243 --> 00:22:55,999
<i>that a greater number of people can use</i>
<i>to help make sure that world is better.</i>

420
00:22:56,083 --> 00:22:57,501
We have been on a journey

421
00:22:57,584 --> 00:23:00,379
to make computers more accessible
to human beings

422
00:23:00,462 --> 00:23:02,381
and to a greater set of human beings.

423
00:23:02,464 --> 00:23:07,135
We're seeing this revolution play out
before our eyes in the past 50 years,

424
00:23:07,219 --> 00:23:09,763
and that's why it's so exciting
to be alive today.

425
00:23:09,846 --> 00:23:11,973
It's very important to really remember

426
00:23:12,099 --> 00:23:16,895
everything you use on your computer
was created by some human being.

427
00:23:16,978 --> 00:23:18,730
You can be one of those people, actually,

428
00:23:18,814 --> 00:23:21,191
and it's really important
you become one of those people.

429
00:23:21,274 --> 00:23:24,111
You can actually change the world
in a really fundamental way.

430
00:23:24,194 --> 00:23:26,571
There's a world that's gonna be run

431
00:23:26,655 --> 00:23:30,784
using machine learning
and data and traditional coding

432
00:23:30,867 --> 00:23:32,244
in more and more ways.

433
00:23:32,327 --> 00:23:35,080
And what we have to do
as a society is say,

434
00:23:35,163 --> 00:23:38,166
"Okay. We've got this
potent new technology,

435
00:23:38,250 --> 00:23:43,046
and in some ways, it could be great,
but it's not gonna be great by itself."

436
00:23:44,756 --> 00:23:46,758
[closing music playing]

