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