1
00:00:09,510 --> 00:00:10,762
911, nødetaten?
2
00:00:11,679 --> 00:00:13,389
911, hva kan vi hjelpe med?
3
00:00:13,473 --> 00:00:14,932
911, hva kan vi hjelpe med?
4
00:00:15,058 --> 00:00:16,392
911, hva...
5
00:00:19,854 --> 00:00:24,400
9. april 2014
stoppet plutselig 911-tjenesten
6
00:00:24,484 --> 00:00:26,986
for millioner av mennesker
over hele USA.
7
00:00:27,779 --> 00:00:30,031
Tjenesten var nede i seks timer.
8
00:00:30,364 --> 00:00:33,367
Flere enn 6 000 nødsamtaler
kom ikke gjennom.
9
00:00:33,743 --> 00:00:35,912
Myndighetene sporet problemet
til en datamaskin
10
00:00:35,995 --> 00:00:38,956
i et anlegg for samtaleruting
i Englewood i Colorado.
11
00:00:39,082 --> 00:00:41,209
Det var en feil i koden.
12
00:00:41,918 --> 00:00:43,961
De som var ansvarlige for koden
13
00:00:44,045 --> 00:00:47,757
valgte å legge inn en øvre grense
for samtaler den kunne logge,
14
00:00:47,840 --> 00:00:51,010
en grense koderne ikke trodde
maskinen ville nå.
15
00:00:51,427 --> 00:00:54,222
Men den kvelden i 2014 gjorde den det.
16
00:00:54,680 --> 00:00:56,933
Datamaskinen fulgte instruksjonene.
17
00:00:57,016 --> 00:00:59,936
Den nådde grensen
og sluttet å rute samtaler.
18
00:01:00,061 --> 00:01:01,979
Problemer var ikke datamaskinen,
19
00:01:02,105 --> 00:01:03,940
og det var ikke en bug i koden.
20
00:01:04,482 --> 00:01:06,067
Det var koden,
21
00:01:06,275 --> 00:01:10,488
prosessen folk bruker
for å kommunisere med datamaskiner.
22
00:01:10,571 --> 00:01:14,659
Denne typen makt
fører et etisk ansvar med seg.
23
00:01:14,742 --> 00:01:18,204
Det kan ikke sammenlignes
eller byttes ut med noe.
24
00:01:18,329 --> 00:01:23,751
Som en byplanlegger
bestemmer hvordan du lever i byen,
25
00:01:23,835 --> 00:01:28,840
bestemmer koder
hvordan vi lever på nett.
26
00:01:29,507 --> 00:01:31,300
Ikke bare når vi er på nettet,
27
00:01:31,384 --> 00:01:33,594
men når vi kontakter nødetater,
28
00:01:34,554 --> 00:01:35,596
går til leger...
29
00:01:36,180 --> 00:01:37,807
...eller kjører bil.
30
00:01:37,890 --> 00:01:40,643
Vi er tett på koder hver dag.
31
00:01:41,602 --> 00:01:47,024
Men kun en tredjedel av
én prosent av oss kan skrive det.
32
00:01:47,233 --> 00:01:50,194
For den største majoriteten
er det en svart boks.
33
00:01:50,695 --> 00:01:55,199
Men det behøver ikke være det.
Så hvordan fungerer koding?
34
00:01:55,658 --> 00:01:58,286
Og hva slags ny verden
bygger vi med den?
35
00:01:59,287 --> 00:02:01,122
EN ORIGINAL-DOKUMENTARSERIE FRA NETFLIX
36
00:02:01,205 --> 00:02:02,540
Datamaskinen.
37
00:02:03,082 --> 00:02:05,835
En genial sammenkobling av elektronikk
38
00:02:05,918 --> 00:02:07,879
ble skapt av mennesket.
39
00:02:07,962 --> 00:02:11,382
Det er ikke det at vi mangler
maskiner for å løse problemer,
40
00:02:11,465 --> 00:02:14,177
vi mangler gode beskrivelser
for hvordan vi løser dem.
41
00:02:14,260 --> 00:02:17,972
Når noen sier koding,
tenker man at det er vanskelig.
42
00:02:18,556 --> 00:02:22,685
Det er viktig å huske på
at alt i datamaskinen
43
00:02:22,768 --> 00:02:25,271
ble laget av et menneske.
44
00:02:31,944 --> 00:02:35,907
La oss si et romvesen spør:
"Hva er viktig med koding?"
45
00:02:35,990 --> 00:02:37,283
Da sier jeg:
46
00:02:37,533 --> 00:02:41,412
"Vi bor på en fysisk planet
og for omtrent 50 år siden
47
00:02:41,495 --> 00:02:44,582
begynte noen få folk
å bygge enda en planet.
48
00:02:44,665 --> 00:02:46,876
Men ikke fysisk. En virtuell planet.
49
00:02:47,001 --> 00:02:50,213
Se rundt deg på gaten,
ser du alle som går
50
00:02:50,296 --> 00:02:52,548
med hodet bøyd over telefonen sin?
51
00:02:52,632 --> 00:02:54,258
De er i den andre verdenen.
52
00:02:54,383 --> 00:02:58,054
Det er det koding er.
Det er byggeklossene til den verdenen.
53
00:03:00,056 --> 00:03:03,476
Veven er forfaderen
til hver datamaskin og smarttelefon
54
00:03:03,559 --> 00:03:04,393
på jorden.
55
00:03:04,852 --> 00:03:06,854
Den ble funnet opp i 1804,
56
00:03:06,938 --> 00:03:09,690
og den store innovasjonen
var disse kortene.
57
00:03:10,107 --> 00:03:13,694
Hullene i hvert kort
tillot visse nåler å slippe gjennom.
58
00:03:14,237 --> 00:03:16,405
Med tusener av hull
på hundrevis av kort
59
00:03:16,489 --> 00:03:19,492
kunne veverne lage
mer komplekse mønster enn før.
60
00:03:20,243 --> 00:03:22,912
Detaljerte sjal
ble svært populære i Europa.
61
00:03:23,037 --> 00:03:26,666
Mønstrene kunne være så intrikate
at de så ut som tegninger,
62
00:03:26,916 --> 00:03:29,168
som dette av vevens oppfinner.
63
00:03:30,169 --> 00:03:33,422
Før disse vevene kom,
måtte hver tråd velges for hånd
64
00:03:33,547 --> 00:03:34,423
av hjelpere.
65
00:03:34,966 --> 00:03:36,801
Matte ble også gjort for hånd
66
00:03:36,884 --> 00:03:38,886
av såkalte "computere".
67
00:03:39,095 --> 00:03:41,305
De første computerne var mennesker.
68
00:03:41,681 --> 00:03:45,518
Og de beste maskinene vi hadde
kunne bare løse ett problem,
69
00:03:46,227 --> 00:03:48,229
som kulerammen for pluss og minus.
70
00:03:48,354 --> 00:03:51,857
Den britiske matematikeren
Charles Babbage ville ha en maskin
71
00:03:51,941 --> 00:03:54,610
som kunne løse
ethvert matematisk problem
72
00:03:54,777 --> 00:03:57,029
man programmerte den for.
73
00:03:57,780 --> 00:04:01,158
Han foreslo en maskin han kalte
"Den analytiske motoren".
74
00:04:01,242 --> 00:04:04,662
Ideen hans ville gi ham
en plass i historien.
75
00:04:05,037 --> 00:04:10,167
Datamaskinen ble
først oppfunnet av Babbage,
76
00:04:10,710 --> 00:04:13,879
en veldig eksentrisk britisk oppfinner.
77
00:04:14,046 --> 00:04:16,549
Babbage visste hvordan det ville fungere.
78
00:04:16,966 --> 00:04:19,969
Han hadde en kopi
av dette bildet i huset sitt.
79
00:04:20,219 --> 00:04:23,347
Babbages analytiske motor
hadde i likhet med veven
80
00:04:23,431 --> 00:04:25,391
fysiske deler: maskinvare.
81
00:04:25,599 --> 00:04:27,101
Og som veven
82
00:04:27,184 --> 00:04:31,272
kunne man gi maskinvaren instruksjoner
i form av hullkort.
83
00:04:31,522 --> 00:04:33,065
Hullene slapp nåler gjennom
84
00:04:33,149 --> 00:04:36,193
og fraværet av nåler
tvang de andre nålene bakover,
85
00:04:36,652 --> 00:04:39,196
det satte i gang mekaniske kalkuleringer.
86
00:04:39,864 --> 00:04:42,825
Hullkortene er programvare.
87
00:04:43,701 --> 00:04:46,495
Babbage fullførte aldri
sin analytiske motor,
88
00:04:46,579 --> 00:04:50,416
men en ung kvinnelig kollega
så at dens potensiale
89
00:04:50,666 --> 00:04:52,126
strakk seg forbi matte.
90
00:04:52,668 --> 00:04:55,671
Ada Byron, grevinne av Lovelace, skrev:
91
00:04:56,005 --> 00:04:59,675
"Begrensningene til aritmetikk
ble brutt i det øyeblikket
92
00:04:59,759 --> 00:05:02,011
ideen om kortene kom til."
93
00:05:02,261 --> 00:05:04,221
Hun så det Jacquard så:
94
00:05:04,347 --> 00:05:06,891
Hullene kunne representere mer enn tall.
95
00:05:07,058 --> 00:05:09,310
De kunne være mønster, musikk...
96
00:05:10,644 --> 00:05:12,271
...eller hele setninger.
97
00:05:12,772 --> 00:05:14,982
Du kan tenke på det som morse.
98
00:05:15,274 --> 00:05:19,987
Hver bokstav i morsealfabetet
uttrykkes med kun to signaler:
99
00:05:20,071 --> 00:05:21,739
...eller...
100
00:05:21,906 --> 00:05:22,865
Det er binært.
101
00:05:23,324 --> 00:05:26,452
Med disse to lydene
kan vi si hva som helst,
102
00:05:26,952 --> 00:05:30,790
som dette nødsignalet
som ble sent fra Titanic i 1912.
103
00:05:31,457 --> 00:05:34,502
"SOS" står ikke for noe.
104
00:05:34,710 --> 00:05:37,880
Det er bare veldig enkelt
å sende det i morse.
105
00:05:38,089 --> 00:05:44,512
Hver bokstav kan uttrykkes
som en kombinasjon av nuller og ettall.
106
00:05:44,637 --> 00:05:45,930
Ser det kjent ut?
107
00:05:46,138 --> 00:05:47,640
Dette er binærkode.
108
00:05:47,848 --> 00:05:51,769
Det er sånn vi knytter
maskiner og språk sammen.
109
00:05:51,894 --> 00:05:55,773
Hvert ettall eller null
er et binært siffer, eller "bit".
110
00:05:55,940 --> 00:05:58,359
Dette er atomene i moderne datateknikk.
111
00:05:58,484 --> 00:06:02,613
Du kjenner dem kanskje ved et annet navn:
Åtte bits er en byte.
112
00:06:03,239 --> 00:06:07,576
Du vet det bildet på maskinen din
som er på 1,1 megabyte?
113
00:06:08,160 --> 00:06:11,956
Det er åtte millioner
åtte hundre tusen ettall og nuller.
114
00:06:12,373 --> 00:06:16,919
Som morsekodens prikker og streker
er en måte å skrive... og... på,
115
00:06:17,002 --> 00:06:20,297
er binærkodens ettall og nuller
en måte å skrive ned
116
00:06:20,423 --> 00:06:22,508
det som skjer i en datamaskin:
117
00:06:23,217 --> 00:06:24,802
på eller av.
118
00:06:25,511 --> 00:06:27,596
Dette er en enkel elektrisk krets.
119
00:06:27,763 --> 00:06:30,599
Tenk deg at millioner av disse
fungerer sammen.
120
00:06:30,891 --> 00:06:32,476
Det er dagens datamaskin.
121
00:06:33,018 --> 00:06:35,271
I en krets er dette en bit.
122
00:06:35,604 --> 00:06:37,857
Er lyset av? Null.
123
00:06:38,107 --> 00:06:39,567
På? Én.
124
00:06:39,942 --> 00:06:42,194
Datamaskiner forstår kun elektrisitet,
125
00:06:42,278 --> 00:06:44,947
så alt kodere gjør med datamaskiner
126
00:06:45,489 --> 00:06:49,368
er i bunn og grunn å gi dem
serier med av-og-på kommandoer.
127
00:06:49,702 --> 00:06:53,205
Det fungerer fordi
når det settes riktig sammen
128
00:06:53,414 --> 00:06:56,041
representerer de logikk.
129
00:06:56,625 --> 00:07:00,754
Logikk er en forutsigbar serie
av fakta eller handlinger,
130
00:07:01,255 --> 00:07:03,048
som å stenge denne bryteren...
131
00:07:04,467 --> 00:07:07,052
...og denne for å ringe bjellen.
132
00:07:09,054 --> 00:07:12,516
Datafolk kaller dette en logisk krets.
133
00:07:13,476 --> 00:07:15,644
Eller en logisk port.
134
00:07:15,769 --> 00:07:18,439
Får unngå å brenne hull i bordet.
135
00:07:18,522 --> 00:07:22,818
I en OG-port må begge kretsene
være lukket for at lyset slås på.
136
00:07:23,235 --> 00:07:28,199
I ELLER-porter slås lyset på
om bare én krets er lukket.
137
00:07:28,282 --> 00:07:29,783
Vi kan si det sånn:
138
00:07:29,909 --> 00:07:34,371
Om en av kretsene er lukket,
skru på lyset.
139
00:07:34,497 --> 00:07:38,083
Denne typen "hvis så"-setninger
er en algoritme.
140
00:07:38,292 --> 00:07:42,505
I dagens popkultur
forårsaker ordet algoritme forvirring.
141
00:07:42,755 --> 00:07:45,925
Vi har sett at algoritmer
har flydd av skaftet før.
142
00:07:46,008 --> 00:07:49,094
For de fleste er algoritmer et mysterium.
143
00:07:49,178 --> 00:07:51,847
Hva pokker er en algoritme?
144
00:07:51,972 --> 00:07:55,059
Men en algoritme
er egentlig bare retningsangivelser.
145
00:07:55,142 --> 00:07:56,810
Tenk at du går til butikken.
146
00:07:56,894 --> 00:07:59,522
Du kan gå til venstre og så ta til høyre.
147
00:07:59,647 --> 00:08:02,525
Eller du kan gå til høyre og så venstre.
148
00:08:02,816 --> 00:08:07,029
Eller du kan gå fire ganger til venstre,
løpe rundt parken, krysse veien
149
00:08:07,112 --> 00:08:09,240
og så tar du fire ganger til høyre.
150
00:08:09,323 --> 00:08:12,076
Akkurat som at ulike veier
fører til det samme målet,
151
00:08:12,159 --> 00:08:15,996
kan flere algoritmer
løse det samme problemet.
152
00:08:16,372 --> 00:08:20,042
Målet er å finne den
mest elegante og effektive.
153
00:08:20,459 --> 00:08:24,922
Vakker programmering er ikke repeterende.
Det er elegant. Det er kraftig.
154
00:08:25,631 --> 00:08:31,011
Algoritmene gjør bare
det vi ber dem om, men mye raskere,
155
00:08:31,136 --> 00:08:33,764
og det har gjort oss mye mektigere.
156
00:08:34,223 --> 00:08:37,601
Da forskere først begynte
å utvikle hydrogenbomben
157
00:08:38,018 --> 00:08:40,437
brukte de menneskelige computere.
158
00:08:40,896 --> 00:08:42,815
Men så brukte de denne:
159
00:08:43,315 --> 00:08:47,152
ENIAC-computeren kjørte
termonukleære beregninger i seks uker.
160
00:08:47,903 --> 00:08:50,197
Resultatet bidro til dette,
161
00:08:51,323 --> 00:08:53,659
den første vellykkede testen i 1952
162
00:08:54,076 --> 00:08:57,580
av en bombe 100 ganger kraftigere
enn atombombene
163
00:08:57,663 --> 00:09:00,708
som ble sluppet
over Hiroshima og Nagasaki.
164
00:09:01,500 --> 00:09:06,672
Koding økte mulighetene
for å gjennomføre det man ville.
165
00:09:07,590 --> 00:09:11,135
Men på 40-tallet betød det mye jobb.
166
00:09:11,468 --> 00:09:16,056
Å kode med nuller og ettall
er en altfor stor oppgave.
167
00:09:16,223 --> 00:09:19,018
Folk ville ha mer av
den makten koding ga.
168
00:09:19,310 --> 00:09:21,770
Men de ønsket en lettere måte å kode på.
169
00:09:22,438 --> 00:09:27,776
Siden da har kodingens historie
dreid seg om å gjøre koding
170
00:09:27,860 --> 00:09:29,320
mer likt vårt språk
171
00:09:29,403 --> 00:09:32,990
ved å finne opp
det nesten alle dagens kodere bruker:
172
00:09:33,115 --> 00:09:34,617
programmeringsspråk.
173
00:09:35,200 --> 00:09:39,246
Sammenlignet med ettall og nuller
er disse språkene ganske abstrakte.
174
00:09:39,580 --> 00:09:41,707
Abstraksjon er et vanskelig ord.
175
00:09:42,124 --> 00:09:45,669
Abstrakte språk koker ned
til de samme ettallene og nullene,
176
00:09:45,794 --> 00:09:48,756
vi har bare funnet
bedre måter å organisere dem på.
177
00:09:48,881 --> 00:09:50,966
Tenk på det som biologi.
178
00:09:51,550 --> 00:09:53,135
Mennesker er komplekse,
179
00:09:53,218 --> 00:09:56,972
men 99 % av kroppene våre
er laget av kun seks elementer.
180
00:09:57,348 --> 00:10:00,184
Du kan jobbe deg opp til store molekyler.
181
00:10:00,267 --> 00:10:02,811
Mellom det organiserte sjiktet
182
00:10:02,895 --> 00:10:06,273
og det som er et enkelt levende vesen
er det stor avstand.
183
00:10:06,357 --> 00:10:09,568
Og mennesker har hjerner,
som gjør så avanserte ting
184
00:10:09,652 --> 00:10:12,780
at det er vanskelig å tro
at de er laget av det samme.
185
00:10:12,946 --> 00:10:16,784
Datamaskiner er bygget sånn,
men de er mye enklere.
186
00:10:17,951 --> 00:10:19,203
Så det er positivt.
187
00:10:19,411 --> 00:10:23,082
Historien om koding
er historien om å flytte denne boksen opp,
188
00:10:23,165 --> 00:10:25,250
vekk fra det binære for å skape
189
00:10:25,334 --> 00:10:28,837
en lettere, raskere
og kraftigere måte å kode på,
190
00:10:29,004 --> 00:10:32,341
uten å måtte hanskes med,
eller i det hele tatt forstå,
191
00:10:32,466 --> 00:10:35,010
de underliggende
binære og logiske portene.
192
00:10:35,344 --> 00:10:38,889
Dette gjør at koderne
kan lage de produktene vi kjenner.
193
00:10:39,306 --> 00:10:41,308
Det første skrittet var...
194
00:10:41,850 --> 00:10:45,813
Assemblerspråk, som er mye lettere
å lese og skrive,
195
00:10:46,188 --> 00:10:49,608
hvor man i stedet for å skrive
0-1-0-0-0-1-1-1
196
00:10:49,858 --> 00:10:51,318
så kaller vi det "add",
197
00:10:51,694 --> 00:10:58,200
mens et program som kalles "assembler"
oversetter bokstavene
198
00:10:58,283 --> 00:11:03,455
A-D-D til de ekvivalente nullene
og ettallene.
199
00:11:03,580 --> 00:11:07,292
På dette nivået er binærkoden
organisert som bokstaver og tall,
200
00:11:07,626 --> 00:11:10,379
akkurat som atomer er organisert
i molekyler.
201
00:11:10,921 --> 00:11:15,217
Men koding på assemblerspråk
var fortsatt ikke lett,
202
00:11:15,843 --> 00:11:19,513
fordi alle datamaskinene
brukte ulike assemblerspråk.
203
00:11:20,097 --> 00:11:24,810
Om du skrev et program for én maskin,
ville det ikke fungere på de andre.
204
00:11:25,102 --> 00:11:27,187
Folk begynte raskt å tenke på
205
00:11:27,271 --> 00:11:29,440
at det de ville gi datamaskinen
206
00:11:29,523 --> 00:11:32,818
var termer vi bruker daglig.
207
00:11:33,193 --> 00:11:35,863
Vi har programmeringsspråk
208
00:11:35,946 --> 00:11:39,825
som ble bygget
ved å bruke assemblerspråk.
209
00:11:39,950 --> 00:11:42,953
Og fra de programmeringsspråkene
bygget vi flere.
210
00:11:43,245 --> 00:11:44,955
Du har sikkert hørt navnene.
211
00:11:45,038 --> 00:11:45,914
-LISP...
-BASIC...
212
00:11:45,998 --> 00:11:47,207
-Java...
-C++...
213
00:11:47,291 --> 00:11:49,042
-Python 3...
-HTML 5...
214
00:11:49,126 --> 00:11:51,044
PEARL, PHP og litt C...
215
00:11:51,128 --> 00:11:53,756
Akkurat som våre språk
er ulike måter
216
00:11:53,839 --> 00:11:56,967
å uttrykke den samme ideen på
overfor andre mennesker,
217
00:11:57,050 --> 00:12:00,012
er programmeringsspråk
ulike måter å uttrykke
218
00:12:00,095 --> 00:12:02,264
den samme ideen overfor datamaskiner.
219
00:12:02,347 --> 00:12:05,058
Vi har mer enn ett høynivåspråk
220
00:12:05,142 --> 00:12:10,105
fordi ulike språk møter ulike behov.
221
00:12:10,647 --> 00:12:12,065
Ta en kikk på disse to.
222
00:12:12,191 --> 00:12:15,944
Dette, COBOL, ble laget sent på 50-tallet
223
00:12:16,028 --> 00:12:18,906
for å gjøre det lettere
for bedrifter å bruke kode.
224
00:12:19,239 --> 00:12:23,410
Det ligner veldig på engelsk,
om hver samtale hadde
225
00:12:23,494 --> 00:12:25,579
blitt avsluttet med "STOP RUN":
226
00:12:26,497 --> 00:12:32,753
Dette, CPL, ble utviklet på 60-tallet
og var mer vitenskapelig.
227
00:12:33,212 --> 00:12:35,297
Det er som biologisk evolusjon.
228
00:12:35,631 --> 00:12:38,425
Ettersom organismer blir mer komplekse
229
00:12:38,509 --> 00:12:41,637
tilpasser de seg bedre
til deres spesifikke miljø.
230
00:12:42,012 --> 00:12:45,933
Og det dreier seg også om smak.
231
00:12:46,558 --> 00:12:50,521
Folk liker ulike typer verktøy
for å uttrykke seg.
232
00:12:50,604 --> 00:12:53,774
Ta for eksempel språket C++...
233
00:12:53,857 --> 00:12:56,068
Elon Musk er ikke en fan.
234
00:12:56,360 --> 00:12:57,611
Du kan lage ett.
235
00:12:58,028 --> 00:13:02,533
Dette høynivåspråket
er kun bygget opp av ordet "moo".
236
00:13:02,950 --> 00:13:04,910
Seriøst. Det heter COW.
237
00:13:05,285 --> 00:13:08,956
Dette er bygget opp
på filmsitater av Arnold Schwarzenegger.
238
00:13:09,164 --> 00:13:13,252
Hver gang jeg tenker:
"Ok, nå må vi være ferdige",
239
00:13:13,335 --> 00:13:20,050
så kommer det et nytt språk
og det får en tilhengergruppe.
240
00:13:20,175 --> 00:13:24,888
Så jeg ser ingen slutt
på utviklingen av nye språk.
241
00:13:25,472 --> 00:13:29,017
Alle disse språkene er basert på logikk.
242
00:13:29,393 --> 00:13:32,312
For eksempel kan en koder
hos Netflix skrive:
243
00:13:32,396 --> 00:13:35,899
"Om du har sett på i mer en to timer,
244
00:13:36,024 --> 00:13:37,150
så vis dette."
245
00:13:37,609 --> 00:13:40,195
Men for at koding
skulle påvirke de fleste av oss
246
00:13:40,279 --> 00:13:42,656
så måtte de fleste av oss
bruke datamaskiner.
247
00:13:42,739 --> 00:13:46,076
Det betydde at datamaskiner
måtte bli enklere, vennligere,
248
00:13:46,159 --> 00:13:48,370
og det krevde enda et stort hopp.
249
00:13:48,912 --> 00:13:50,497
Som begynte her
250
00:13:50,747 --> 00:13:54,334
under en demonstrasjon
gitt av Doug Englebart i 1968.
251
00:13:54,459 --> 00:13:56,587
Om et øyeblikk vil vi se på skjermen
252
00:13:56,712 --> 00:13:58,547
at markøren beveger seg
253
00:13:58,630 --> 00:14:01,425
på samme måten som musen beveger seg.
254
00:14:02,050 --> 00:14:06,346
I dag programmerer ikke folk
ved å skrive kommandoer
255
00:14:06,430 --> 00:14:11,476
på et papir, for så å gi det
til noen som skriver det inn.
256
00:14:11,560 --> 00:14:15,105
Du sitter ved en skjerm
og har et grafisk brukergrensesnitt.
257
00:14:15,355 --> 00:14:17,566
I dag kaller vi dem GUI.
258
00:14:18,025 --> 00:14:21,111
Med GUI kan folk kode uten å skrive.
259
00:14:22,487 --> 00:14:24,907
Eller de kan lettere bruke koder.
260
00:14:25,240 --> 00:14:29,661
Du bruker et programmeringsmiljø
261
00:14:30,287 --> 00:14:34,958
av den typen Alan og hans kolleger
262
00:14:35,042 --> 00:14:40,464
skapte ved Xerox Palo Alto Research Center
tidlig på 70-tallet.
263
00:14:40,714 --> 00:14:41,548
“Alan."
264
00:14:41,715 --> 00:14:42,633
Dette er Alan.
265
00:14:42,883 --> 00:14:46,053
Jeg ser ham som stamfaren
til individuell databehandling,
266
00:14:46,136 --> 00:14:50,265
for han var den første
som virkelig ga uttrykk for den visjonen.
267
00:14:50,515 --> 00:14:54,353
Jeg skal innrømme at på den tiden
anså jeg det som science fiction.
268
00:14:54,436 --> 00:14:56,605
Når store ting blir gjennomført
269
00:14:58,106 --> 00:14:59,733
står det et helt miljø bak.
270
00:14:59,816 --> 00:15:02,110
Og Park var utrolige.
271
00:15:02,653 --> 00:15:04,196
Det var som magi.
272
00:15:04,780 --> 00:15:08,450
Det grafiske brukergrensesnittet
gjorde at flere millioner folk
273
00:15:08,533 --> 00:15:12,871
kunne bruke datamaskiner
på en naturlig måte.
274
00:15:13,580 --> 00:15:16,750
Da Xerox først markedsførte GUI i 1979,
275
00:15:16,833 --> 00:15:20,170
viste de hvordan koding
kunne endre det daglige livet.
276
00:15:20,253 --> 00:15:22,923
Du kommer inn på kontoret
hvor en Xerox-maskin
277
00:15:23,006 --> 00:15:25,008
gir deg dagens post på en skjerm.
278
00:15:25,092 --> 00:15:27,344
Snart vil Xerox-maskiner som denne
279
00:15:27,427 --> 00:15:29,721
hjelpe deg med
din mest verdifulle ressurs:
280
00:15:30,472 --> 00:15:31,431
informasjon.
281
00:15:31,848 --> 00:15:36,603
Folk som meg, og mange andre
i dette forskningsmiljøet,
282
00:15:36,687 --> 00:15:38,105
ville gjøre verden bedre.
283
00:15:38,188 --> 00:15:43,026
De hadde en idé som var dypt forbundet
med menneskelig augmentasjon.
284
00:15:43,610 --> 00:15:46,196
Noe som kunne samhandle med oss,
285
00:15:46,697 --> 00:15:47,864
det offentlige,
286
00:15:48,115 --> 00:15:50,784
den vanlige personen,
og gjøre oss i stand til
287
00:15:50,867 --> 00:15:53,245
å gjøre mye mer enn tidligere.
288
00:15:53,662 --> 00:15:56,039
Det gjorde oss i stand til å gjøre mer.
289
00:15:56,331 --> 00:15:58,875
GUI var et stort hopp i dette spektrumet.
290
00:15:59,501 --> 00:16:03,630
Og så kom den neste
verdensendrende innovasjonen.
291
00:16:05,382 --> 00:16:07,467
En ny måte å distribuere alt
292
00:16:07,551 --> 00:16:09,177
vi kunne lage med koding.
293
00:16:10,137 --> 00:16:14,433
På TV snakket folk om hva en brå tilgang
til all kodingen kunne bety?
294
00:16:14,808 --> 00:16:17,519
Tenk deg at du setter deg
med morgenkaffen
295
00:16:17,602 --> 00:16:20,439
og skrur på datamaskinen din
for å lese dagens avis.
296
00:16:20,522 --> 00:16:24,985
Tenk deg en verden hvor du
umiddelbart kan se hvert ord skrevet,
297
00:16:25,068 --> 00:16:28,697
hvert bilde av et maleri,
hver film noensinne laget, i ditt hjem.
298
00:16:28,780 --> 00:16:33,744
Jeg tror vi er ved begynnelsen av noe
utrolig spennende og skummelt.
299
00:16:33,827 --> 00:16:36,204
-Men er det ikke bare et verktøy?
-Nei.
300
00:16:36,288 --> 00:16:40,667
De mest virkningsfulle programvarene
bruker i dag alle disse innovasjonene.
301
00:16:40,751 --> 00:16:44,671
En collegestudent brukte
et høynivåspråk, PHP,
302
00:16:44,755 --> 00:16:49,760
for å skape noe som ble delt over nettet
og skulle brukes på datamaskiner med GUI.
303
00:16:50,093 --> 00:16:53,680
Han beskrev det i sitt første TV-intervju
i 2004.
304
00:16:53,972 --> 00:16:59,478
Det er et nettsted som knytter folk sammen
gjennom sosiale nettverk.
305
00:16:59,561 --> 00:17:02,731
Nå har vi 100 000 brukere,
hvem vet hvor vi ender opp.
306
00:17:02,814 --> 00:17:07,027
Der vi endte opp var mer
enn to milliarder mennesker
307
00:17:07,152 --> 00:17:08,612
på Facebook månedlig.
308
00:17:08,695 --> 00:17:11,823
I dag former kodere
livene til milliarder av mennesker.
309
00:17:11,907 --> 00:17:15,869
Hvordan de jobber, handler,
spiser, dater og chiller.
310
00:17:16,203 --> 00:17:17,537
Hva gjør du nå?
311
00:17:17,621 --> 00:17:21,208
Du ser på meg i en Netflix-nettleser.
312
00:17:23,376 --> 00:17:28,215
Netflix er kode
som kjøres i en nettleser som er kode,
313
00:17:28,507 --> 00:17:33,804
som kjører på en datamaskin
som ble utformet med kode.
314
00:17:34,054 --> 00:17:35,847
Det strekker seg hele veien.
315
00:17:37,599 --> 00:17:40,519
Fantastisk koding er
som å være arkitekten i et museum
316
00:17:41,311 --> 00:17:43,355
som millioner av mennesker tenker på,
317
00:17:43,480 --> 00:17:45,857
vandrer rundt i og bruker hver dag.
318
00:17:46,191 --> 00:17:49,569
Å skrive kode er å skape.
319
00:17:49,653 --> 00:17:52,239
Du har en idé
om hvordan noe burde fungere,
320
00:17:52,364 --> 00:17:56,201
så setter du deg ned
foran en datamaskin
321
00:17:56,284 --> 00:17:58,078
og gjør det til virkelighet.
322
00:17:58,161 --> 00:18:01,039
Det ligger mye ansvar i den rollen.
323
00:18:01,164 --> 00:18:04,000
Du har en fartsgrense.
324
00:18:04,167 --> 00:18:05,961
Ikke mer enn 100 km i timen.
325
00:18:06,545 --> 00:18:07,420
Greit.
326
00:18:07,712 --> 00:18:11,299
Men hva om du hadde en bil
og computeren sa:
327
00:18:12,092 --> 00:18:15,387
"Denne bilen skal ikke kjøre
raskere enn 100 km i timen."
328
00:18:15,470 --> 00:18:17,973
Det er en måte
å kontrollere handlinger på.
329
00:18:18,056 --> 00:18:23,395
Ved å kontrollere våre valg kan koding
330
00:18:23,478 --> 00:18:27,941
være mer regulerende enn loven.
331
00:18:28,525 --> 00:18:30,819
Og det kan være supert.
332
00:18:30,944 --> 00:18:35,198
Det er seks millioner
bilulykker i USA hvert år,
333
00:18:35,282 --> 00:18:39,494
94 % er forårsaket av føreren.
334
00:18:40,370 --> 00:18:43,165
Fremskritt i koding
kan redde millioner av liv.
335
00:18:43,665 --> 00:18:46,960
Men de kan også
sette liv i fare på nye måter.
336
00:18:47,460 --> 00:18:50,922
Jeg har noe som heter
hypertrofisk kardiomyopati,
337
00:18:51,006 --> 00:18:56,219
som er den medisinske termen
for at jeg har et stort hjerte.
338
00:18:56,511 --> 00:18:58,096
Hjertet mitt er stort.
339
00:18:58,180 --> 00:19:00,932
Omtrent tre ganger
større enn et vanlig hjerte.
340
00:19:01,016 --> 00:19:07,147
Jeg fant ut av det da jeg var 30,
risikoen for å dø før 40 ble brått stor.
341
00:19:07,439 --> 00:19:10,025
Elektrofysiologen sa:
"Dette er ikke et problem
342
00:19:10,108 --> 00:19:12,485
for du kan få en pacemaker."
343
00:19:13,028 --> 00:19:15,363
Denne enheten programmeres med koder.
344
00:19:15,697 --> 00:19:20,243
Da jeg var gravid for noen år siden,
fikk jeg hjertebank.
345
00:19:20,744 --> 00:19:24,748
En fjerdedel av kvinner får det,
det er helt normalt.
346
00:19:25,207 --> 00:19:28,418
Men enheten min
trodde det var en farlig rytme,
347
00:19:28,501 --> 00:19:29,586
så den sjokket meg.
348
00:19:29,669 --> 00:19:34,132
Produsentene har ingen interesse av
å sjokke gravide kvinner.
349
00:19:34,216 --> 00:19:36,426
Det er det siste de vil.
350
00:19:36,635 --> 00:19:39,262
De hadde bare ikke tenkt over det.
351
00:19:39,346 --> 00:19:42,474
Det er ekstremt mange avgjørelser,
352
00:19:43,141 --> 00:19:47,395
og de som programmerer må ta dem.
353
00:19:48,188 --> 00:19:50,690
Det er uunngåelig
354
00:19:51,066 --> 00:19:53,735
at det vil forekomme
en kombinasjon av omstendigheter
355
00:19:53,818 --> 00:19:55,904
som de ikke har forutsett.
356
00:19:56,238 --> 00:19:58,198
Så det vi prøver å lære bort
357
00:19:58,281 --> 00:20:01,910
når vi underviser i programmering,
358
00:20:02,244 --> 00:20:04,496
er hvordan man tenker på
359
00:20:04,621 --> 00:20:07,540
alle disse ulike omstendighetene.
360
00:20:07,832 --> 00:20:10,168
Hvordan man er grundig
361
00:20:10,293 --> 00:20:14,673
uten å bli paralysert
av mengden omstendigheter
362
00:20:14,756 --> 00:20:16,091
du må tenke over.
363
00:20:16,174 --> 00:20:20,011
Og det vil bare blir mer sant,
for vi har begynt å kode
364
00:20:20,136 --> 00:20:21,721
på en helt ny måte.
365
00:20:22,305 --> 00:20:25,809
I tradisjonell koding gir du instrukser
til en datamaskin.
366
00:20:26,059 --> 00:20:30,230
Men nå kan vi gi en maskin
innmating og utmating,
367
00:20:30,313 --> 00:20:33,525
og få den til å skrive egne instruksjoner.
368
00:20:33,817 --> 00:20:37,404
Det du gjør er å gi maskinen
369
00:20:38,280 --> 00:20:39,739
mange eksempler
370
00:20:40,073 --> 00:20:43,660
og du sier: "Dette er en fest."
371
00:20:43,785 --> 00:20:45,328
Så har du andre ting.
372
00:20:45,412 --> 00:20:48,915
Et tannlegekontor: ikke en fest.
Et klasserom: ikke en fest.
373
00:20:49,374 --> 00:20:55,005
Datamaskinen ser på disse
og bygger et klassifiseringssystem.
374
00:20:55,255 --> 00:20:57,173
Dette er maskinlæring.
375
00:20:57,257 --> 00:21:01,469
Når noen snakker om kunstig intelligens,
er det dette de mener.
376
00:21:01,636 --> 00:21:06,641
Det er en helt annen form
for abstraksjon og funksjon,
377
00:21:06,725 --> 00:21:11,438
for det passer ikke helt inn
i måten vi bygger opp disse tingene.
378
00:21:11,646 --> 00:21:15,442
Vi kaller det læringsalgoritmer
fordi computeren lager
379
00:21:15,525 --> 00:21:17,736
sine egne instruksjoner.
380
00:21:18,069 --> 00:21:21,990
Men disse må også oversettes
381
00:21:22,073 --> 00:21:24,451
til små instruksjoner.
382
00:21:25,201 --> 00:21:28,413
Google Translate hadde
mer enn en million linjer kode.
383
00:21:28,538 --> 00:21:32,751
Det er folk som skriver
en million små instrukser.
384
00:21:32,876 --> 00:21:38,256
Nå har Google Translate
omtrent 500 linjer kode
385
00:21:38,465 --> 00:21:40,008
som drar inn maskinlæring.
386
00:21:40,091 --> 00:21:44,304
Tenk deg at ved en forglemmelse
viste ingen av bildene av fester du la inn
387
00:21:44,387 --> 00:21:46,848
svarte eller latinamerikanske mennesker.
388
00:21:47,015 --> 00:21:49,434
Maskinen bestemmer
at en regel for fester
389
00:21:49,517 --> 00:21:52,562
er at kun hvite og asiatiske folk
kan inviteres.
390
00:21:52,812 --> 00:21:55,982
Det er mange hvite og asiater
som programmerer.
391
00:21:56,733 --> 00:22:01,321
Vi burde absolutt utvide
hvem som sitter i det designrommet
392
00:22:01,404 --> 00:22:02,447
av en million årsaker.
393
00:22:02,530 --> 00:22:05,325
De vil stille bedre spørsmål
om de har mer livserfaring.
394
00:22:05,408 --> 00:22:09,037
Men om du mater maskinlæringssystemet
395
00:22:09,120 --> 00:22:13,208
informasjon om et rettssystem
som bærer preg av strukturell rasisme,
396
00:22:13,291 --> 00:22:15,668
og la oss si at programmererne
397
00:22:15,752 --> 00:22:17,170
ser ut som en Benetton-reklame,
398
00:22:17,253 --> 00:22:22,384
ulike raser, ulike ansikter,
ulik sosial bakgrunn...
399
00:22:22,634 --> 00:22:25,303
...så vil det systemet
fortsatt lære av den informasjonen.
400
00:22:25,387 --> 00:22:27,806
Uten at folk aktivt korrigerer det,
401
00:22:27,889 --> 00:22:31,267
vil historisk informasjon
føre til at vi repeterer samme feil.
402
00:22:31,351 --> 00:22:33,770
AI SENDER FOLK I FENGSEL PÅ FEIL GRUNNLAG
403
00:22:33,812 --> 00:22:38,358
Historien om koding handler om
menneskelig ambisjon og kreativitet.
404
00:22:38,566 --> 00:22:41,528
Oppskytningen av Falcon 9-raketten.
405
00:22:41,611 --> 00:22:44,030
Vi har sett
det vi trodde vi ikke kunne se.
406
00:22:44,697 --> 00:22:45,740
Et svart hull.
407
00:22:46,366 --> 00:22:47,742
Vi bygger en ny verden
408
00:22:48,284 --> 00:22:50,203
med flere og flere intuitive verktøy
409
00:22:50,286 --> 00:22:52,122
som et større antall
mennesker kan bruke
410
00:22:52,664 --> 00:22:55,750
for å bidra til at verden blir bedre.
411
00:22:56,126 --> 00:22:59,546
Vi har vært på en reise
for å gjøre computere enklere
412
00:22:59,629 --> 00:23:02,382
for mennesker og for flere mennesker.
413
00:23:02,507 --> 00:23:07,053
Vi har sett denne revolusjonen
utspille seg de siste 50 årene.
414
00:23:07,262 --> 00:23:09,139
Derfor er det så spennende å leve i dag.
415
00:23:09,973 --> 00:23:13,935
Det er viktig å huske på
at alt det du bruker på en computer
416
00:23:14,227 --> 00:23:16,146
ble laget av et menneske.
417
00:23:17,147 --> 00:23:19,816
Du kan bli en av disse menneskene,
det er faktisk viktig
418
00:23:19,899 --> 00:23:21,317
at du blir en av disse.
419
00:23:21,401 --> 00:23:24,154
Du kan endre verden
på en fundamental måte.
420
00:23:24,571 --> 00:23:28,616
Det er en verden som skal fungere
ved bruk av maskinlæring,
421
00:23:28,741 --> 00:23:32,162
informasjon og tradisjonell koding
på flere og flere måter.
422
00:23:32,662 --> 00:23:35,123
Det vi må gjøre som samfunn er å si:
423
00:23:35,206 --> 00:23:37,917
"Ok. Vi har denne potente nye teknologien,
424
00:23:38,251 --> 00:23:43,089
og det kan bli fantastisk,
men det skaper seg ikke selv."
425
00:24:08,990 --> 00:24:10,992
Tekst: Anya Bratberg