1 00:00:09,510 --> 00:00:10,762 Tu 911, co się stało? 2 00:00:11,679 --> 00:00:13,389 Tu 911, co się stało? 3 00:00:13,473 --> 00:00:14,974 Tu 911, co się stało? 4 00:00:15,058 --> 00:00:16,601 Tu 911, co...? 5 00:00:19,854 --> 00:00:24,484 Dnia 9 kwietnia 2014 roku numer alarmowy 911 nagle przestał działać 6 00:00:24,567 --> 00:00:27,195 dla milionów ludzi w Stanach Zjednoczonych. 7 00:00:27,779 --> 00:00:30,031 Nie działał przez sześć godzin. 8 00:00:30,364 --> 00:00:33,367 Ponad 6000 połączeń nie mogło zostać zrealizowanych. 9 00:00:33,910 --> 00:00:35,912 Rząd namierzył źródło problemu 10 00:00:35,995 --> 00:00:38,998 w centrum trasowania połączeń w Englewood, Colorado. 11 00:00:39,082 --> 00:00:41,250 Był to prosty błąd programistyczny. 12 00:00:41,918 --> 00:00:43,961 Programiści tamtejszego komputera 13 00:00:44,045 --> 00:00:47,757 ustalili górny limit liczby połączeń, które mógł zarejestrować. 14 00:00:47,840 --> 00:00:51,010 Myśleli, że ten limit nigdy nie zostanie osiągnięty. 15 00:00:51,427 --> 00:00:54,222 Ale tamtej nocy w 2014 roku został. 16 00:00:54,680 --> 00:00:59,310 Komputer idealnie wykonał instrukcje i przestał trasować połączenia. 17 00:01:00,061 --> 00:01:03,940 Problemem nie był ani komputer, ani błąd w kodzie. 18 00:01:04,482 --> 00:01:07,568 Było nim programowanie, proces podejmowania decyzji, 19 00:01:07,652 --> 00:01:10,571 poprzez który ludzie komunikują się z komputerem. 20 00:01:10,655 --> 00:01:13,741 Taka moc wiąże się z dużą odpowiedzialnością etyczną. 21 00:01:13,825 --> 00:01:14,659 SOCJOLOŻKA 22 00:01:14,742 --> 00:01:17,328 Nic jest w stanie tego zastąpić. 23 00:01:17,411 --> 00:01:18,246 INFORMATYK 24 00:01:18,329 --> 00:01:20,748 Podobnie jak budowniczowie miast... 25 00:01:20,832 --> 00:01:21,666 PISARZ 26 00:01:21,749 --> 00:01:23,835 ...określają warunki życia w mieście, 27 00:01:23,918 --> 00:01:28,881 kod kontroluje warunki życia online, które na co dzień prowadzimy. 28 00:01:29,507 --> 00:01:33,636 Nie tylko korzystając z Internetu, ale też dzwoniąc na pogotowie... 29 00:01:34,554 --> 00:01:35,680 idąc do lekarza... 30 00:01:36,180 --> 00:01:37,807 czy wsiadając do auta. 31 00:01:38,099 --> 00:01:40,643 Codziennie jesteśmy bardzo blisko kodu. 32 00:01:41,602 --> 00:01:47,024 Tymczasem tylko jedna trzecia jednego procentu z nas potrafi go pisać. 33 00:01:47,358 --> 00:01:50,194 Dla przeważającej większości to czarna skrzynka. 34 00:01:50,695 --> 00:01:51,988 Ale nie musi tak być. 35 00:01:52,572 --> 00:01:55,199 Jak więc naprawdę działa programowanie? 36 00:01:55,658 --> 00:01:58,286 I jaki nowy świat dzięki niemu budujemy? 37 00:01:59,287 --> 00:02:01,122 NETFLIX — ORYGINALNY SERIAL DOKUMENTALNY 38 00:02:01,205 --> 00:02:02,039 Komputer. 39 00:02:03,082 --> 00:02:05,835 Ten pomysłowy zbiór sprzętu elektronicznego 40 00:02:05,918 --> 00:02:07,962 został stworzony przez człowieka. 41 00:02:08,045 --> 00:02:11,382 Mamy właściwe maszyny do rozwiązania naszych problemów, 42 00:02:11,465 --> 00:02:14,177 ale nie mamy właściwych opisów, jak to robić. 43 00:02:14,260 --> 00:02:17,972 Kiedy ktoś mówi o programowaniu, myślimy, że to bardzo trudne. 44 00:02:18,472 --> 00:02:22,685 Ważne jest, by pamiętać, że wszystko, czego używamy na komputerze, 45 00:02:22,768 --> 00:02:25,271 zostało stworzone przez człowieka. 46 00:02:25,980 --> 00:02:31,819 PROGRAMOWANIE 47 00:02:31,944 --> 00:02:35,907 Załóżmy, że przedstawiciel rasy obcej spytałby nas o znaczenie kodu. 48 00:02:35,990 --> 00:02:37,450 Odpowiedziałbym mu tak. 49 00:02:37,533 --> 00:02:41,412 Żyjemy na fizycznej Ziemi i około 50 lat temu 50 00:02:41,495 --> 00:02:44,582 mała grupa ludzi zaczęła budować inną planetę. 51 00:02:44,665 --> 00:02:46,918 Ale nie fizyczną, tylko wirtualną. 52 00:02:47,001 --> 00:02:50,213 Kiedy się rozejrzysz, zobaczysz wszędzie ludzi 53 00:02:50,296 --> 00:02:52,548 wpatrujących się w swoje telefony. 54 00:02:52,632 --> 00:02:54,300 Oni są w tym innym świecie. 55 00:02:54,383 --> 00:02:56,052 Tym jest właśnie kod. 56 00:02:56,135 --> 00:02:58,054 To klocki do budowy tego świata. 57 00:03:00,056 --> 00:03:03,476 To krosno jest przodkiem każdego komputera i smartfona 58 00:03:03,559 --> 00:03:04,393 na Ziemi. 59 00:03:04,852 --> 00:03:06,854 Zostało wynalezione w 1804 roku 60 00:03:06,938 --> 00:03:09,232 i dużą innowacją były te karty. 61 00:03:10,107 --> 00:03:13,319 Przez ich otwory przechodziły tylko niektóre trzpienie. 62 00:03:14,237 --> 00:03:16,405 Mając tysiące otworów w setkach kart 63 00:03:16,489 --> 00:03:19,742 tkacze mogli uzyskać bardziej złożone wzory. 64 00:03:20,201 --> 00:03:22,828 Wymyślne szale stały się przebojem w Europie. 65 00:03:23,120 --> 00:03:26,791 A tkane wzory były tak misterne, że wyglądały jak rysunki. 66 00:03:26,874 --> 00:03:29,418 Na przykład ten, autorstwa wynalazcy krosna. 67 00:03:30,169 --> 00:03:33,464 Przedtem pojedyncze sznurki musiały być wybierane ręcznie 68 00:03:33,547 --> 00:03:34,548 przez pomocników. 69 00:03:34,966 --> 00:03:38,970 Matematykę też uprawiali wtedy ręcznie tak zwani „obliczeniowcy”. 70 00:03:39,053 --> 00:03:41,138 Pierwszymi komputerami byli ludzie. 71 00:03:41,681 --> 00:03:43,557 A najlepsze maszyny do pomocy 72 00:03:43,641 --> 00:03:46,143 potrafiły wykonywać tylko jedno działanie. 73 00:03:46,227 --> 00:03:48,479 Jak abakus do dodawania i odejmowania. 74 00:03:49,438 --> 00:03:51,524 Brytyjski matematyk Charles Babbage 75 00:03:51,607 --> 00:03:54,694 chciał mieć maszynę potrafiącą wykonać każde wybrane, 76 00:03:54,777 --> 00:03:57,029 a raczej zaprogramowane działanie. 77 00:03:57,780 --> 00:04:00,908 Zaproponował urządzenie zwane „maszyną analityczną”. 78 00:04:01,242 --> 00:04:04,662 Pomysł Babbage'a zapewnił mu miejsce w historii. 79 00:04:05,037 --> 00:04:06,247 PROFESOR INFORMATYKI 80 00:04:06,330 --> 00:04:10,167 Komputery zostały wynalezione przez Babbage'a, 81 00:04:10,710 --> 00:04:13,963 bardzo ekscentrycznego brytyjskiego wynalazcę. 82 00:04:14,046 --> 00:04:16,590 Znalazł on inspirację dla ich działania. 83 00:04:16,674 --> 00:04:19,593 Na ścianie w domu miał kopię tego rysunku. 84 00:04:20,219 --> 00:04:23,347 Maszyna analityczna Babbage'a, jak krosno Jacquarda, 85 00:04:23,431 --> 00:04:25,516 miała fizyczne części: „hardware”. 86 00:04:25,599 --> 00:04:27,101 I tak samo jak w krośnie, 87 00:04:27,184 --> 00:04:31,272 hardware mógł otrzymywać instrukcje w formie kart z otworami. 88 00:04:31,689 --> 00:04:36,193 Otwory wpuszczały trzpienie, a ich brak wypychał inne trzpienie do tyłu, 89 00:04:36,652 --> 00:04:39,196 uruchamiając łańcuch obliczeń mechanicznych. 90 00:04:39,780 --> 00:04:43,200 Karty z różnymi otworami to software, czyli oprogramowanie. 91 00:04:43,701 --> 00:04:46,203 Babbage nigdy nie skończył swej maszyny, 92 00:04:46,579 --> 00:04:50,708 ale pracująca z nim młoda kobieta zobaczyła w niej przełomowy potencjał 93 00:04:50,791 --> 00:04:52,585 wykraczający poza matematykę. 94 00:04:52,668 --> 00:04:55,671 Ada Byron, hrabina Lovelace, napisała: 95 00:04:56,005 --> 00:05:02,178 „Granice arytmetyki zostały przekroczone w momencie, gdy pojawiła się idea kart”. 96 00:05:02,261 --> 00:05:04,263 Zobaczyła to samo, co Jacquard: 97 00:05:04,347 --> 00:05:06,974 otwory mogą przedstawiać nie tylko liczby. 98 00:05:07,058 --> 00:05:08,309 Mogą być wzorami, 99 00:05:08,392 --> 00:05:09,310 muzyką... 100 00:05:10,644 --> 00:05:12,271 lub całymi zdaniami. 101 00:05:12,772 --> 00:05:15,191 Można to widzieć jako rodzaj kodu Morse’a. 102 00:05:15,274 --> 00:05:19,987 Każda litera w kodzie Morse’a jest wyrażana jako seria dwóch sygnałów: 103 00:05:20,071 --> 00:05:21,739 ...lub... 104 00:05:21,906 --> 00:05:22,865 Jest on binarny. 105 00:05:23,282 --> 00:05:26,577 Za pomocą samych tych dźwięków możemy przekazać wszystko, 106 00:05:26,952 --> 00:05:30,790 na przykład wezwanie pomocy nadane przez Titanica w 1912 roku. 107 00:05:31,540 --> 00:05:34,585 „SOS” nic nie oznacza, 108 00:05:34,668 --> 00:05:38,005 jest po prostu bardzo łatwe do nadania w kodzie Morse’a. 109 00:05:38,089 --> 00:05:42,885 Tak samo każda litera mogłaby być wyrażona za pomocą kombinacji 110 00:05:42,968 --> 00:05:44,678 zer i jedynek. 111 00:05:44,762 --> 00:05:46,055 Wygląda znajomo? 112 00:05:46,138 --> 00:05:47,765 To kod binarny. 113 00:05:47,848 --> 00:05:51,811 Za jego pomocą wypełniamy lukę między maszynami a ludzkim językiem. 114 00:05:51,894 --> 00:05:55,773 Każda jedynka i każde zero to cyfra binarna, inaczej „bit”. 115 00:05:55,856 --> 00:05:58,484 Oto atomy współczesnego przetwarzania danych. 116 00:05:58,567 --> 00:06:00,569 Możecie znać je pod inną nazwą: 117 00:06:00,653 --> 00:06:02,696 osiem bitów to jeden bajt. 118 00:06:03,280 --> 00:06:07,618 Pamiętacie to zdjęcie na swoim komputerze, które ma 1,1 megabajtów? 119 00:06:08,160 --> 00:06:11,956 To osiem milionów i osiemset tysięcy jedynek i zer. 120 00:06:12,415 --> 00:06:16,919 Tak jak kropki i kreski w kodzie Morse’a to sposób zapisu... oraz... 121 00:06:17,002 --> 00:06:20,256 jedynki i zera w kodzie binarnym to sposób zapisu tego, 122 00:06:20,339 --> 00:06:23,134 co naprawdę zachodzi we współczesnym komputerze: 123 00:06:23,217 --> 00:06:24,927 ładunku lub jego braku. 124 00:06:25,469 --> 00:06:27,388 To prosty obwód elektryczny. 125 00:06:27,763 --> 00:06:30,599 Wyobraźcie sobie, że milion takich pracuje razem. 126 00:06:30,975 --> 00:06:32,476 To dzisiejszy komputer. 127 00:06:33,018 --> 00:06:35,271 W obwodzie elektrycznym to jest bit. 128 00:06:35,688 --> 00:06:37,857 Żarówka jest wyłączona? Zero. 129 00:06:38,149 --> 00:06:39,692 Włączona? Jeden. 130 00:06:40,192 --> 00:06:44,947 Komputer rozumie tylko elektryczność, więc wszystko, co robią z nim programiści, 131 00:06:45,531 --> 00:06:49,410 to ostatecznie tylko seria włączonych i wyłączonych ładunków. 132 00:06:49,785 --> 00:06:53,330 Działa to dlatego, że po odpowiednim połączeniu 133 00:06:53,414 --> 00:06:56,041 te ładunki mogą reprezentować logikę. 134 00:06:56,625 --> 00:07:00,754 Zasadniczo logika to przewidywalna seria faktów lub zdarzeń, 135 00:07:01,255 --> 00:07:03,132 tak jak zamykanie tego łącznika 136 00:07:04,467 --> 00:07:07,136 i tego łącznika, by zadzwonić dzwonkiem. 137 00:07:09,054 --> 00:07:12,516 W istocie komputerowcy nazywają to „logika i obwód”. 138 00:07:13,517 --> 00:07:15,686 Lub „bramka logiczna”. 139 00:07:15,769 --> 00:07:17,521 Spróbuję nie wypalić dziury. 140 00:07:17,605 --> 00:07:18,439 INŻYNIER 141 00:07:18,522 --> 00:07:21,567 W bramce AND oba obwody muszą być zamknięte, 142 00:07:21,650 --> 00:07:22,818 by zapalić światło. 143 00:07:23,235 --> 00:07:24,695 Z kolei w bramkach OR 144 00:07:24,778 --> 00:07:28,282 światło zapala się, gdy tylko jeden obwód jest zamknięty. 145 00:07:28,365 --> 00:07:29,825 Można to ująć inaczej. 146 00:07:29,909 --> 00:07:34,413 Jeśli jeden z tych obwodów będzie zamknięty, wtedy włącz światło. 147 00:07:34,497 --> 00:07:36,916 Stwierdzenie „jeśli, wtedy” 148 00:07:36,999 --> 00:07:38,083 to algorytm. 149 00:07:38,417 --> 00:07:42,671 W dzisiejszej popkulturze słowo „algorytm” powoduje sporo zamieszania. 150 00:07:42,755 --> 00:07:45,925 Już wcześniej widzieliśmy, jak algorytmy nawalają! 151 00:07:46,008 --> 00:07:49,094 Sposób działania algorytmów to dla wielu zagadka. 152 00:07:49,178 --> 00:07:51,889 Czym, do licha, algorytm w ogóle jest? 153 00:07:51,972 --> 00:07:55,017 Ale algorytm to tylko zestaw wskazówek. 154 00:07:55,100 --> 00:07:56,769 Weźmy wyprawę do sklepu. 155 00:07:56,852 --> 00:07:59,563 Można pójść w lewo, a potem skręcić w prawo. 156 00:07:59,647 --> 00:08:02,691 Albo można pójść w prawo, a potem skręcić w lewo. 157 00:08:03,067 --> 00:08:07,029 Można też pójść cztery razy w lewo, obiec park, przejść przez ulicę 158 00:08:07,112 --> 00:08:09,114 i potem pójść cztery razy w prawo. 159 00:08:09,240 --> 00:08:12,034 Do danego miejsca można dotrzeć różnymi drogami. 160 00:08:12,117 --> 00:08:16,330 Tak samo w programowaniu różne algorytmy mogą rozwiązać ten sam problem. 161 00:08:16,413 --> 00:08:20,376 Celem jest znalezienie tego najbardziej eleganckiego i skutecznego. 162 00:08:20,459 --> 00:08:22,378 Piękny kod się nie powtarza. 163 00:08:22,461 --> 00:08:23,295 PROGRAMISTA 164 00:08:23,379 --> 00:08:24,922 Jest elegancki i mocny. 165 00:08:25,631 --> 00:08:29,051 Komputery liczące algorytmy robiły to, co im zleciliśmy, 166 00:08:29,134 --> 00:08:30,844 ale o wiele szybciej, 167 00:08:31,136 --> 00:08:33,764 co dało ludziom o wiele więcej mocy. 168 00:08:34,223 --> 00:08:37,601 Kiedy naukowcy zaczęli prace nad bombą wodorową, 169 00:08:38,018 --> 00:08:40,437 początkowo używali obliczeniowców. 170 00:08:40,896 --> 00:08:42,815 Ale potem zmienili metodę. 171 00:08:43,274 --> 00:08:47,653 Komputer ENIAC przez sześć tygodni przeprowadzał obliczenia termonuklearne. 172 00:08:47,903 --> 00:08:50,447 Wyniki bezpośrednio przyczyniły się do tego: 173 00:08:51,323 --> 00:08:53,701 pierwszego udanego testu w 1952 roku 174 00:08:54,076 --> 00:08:57,580 bomby o setki razy większej mocy niż bomby atomowe 175 00:08:57,663 --> 00:09:01,166 zrzucone na Hiroszimę i Nagasaki podczas II wojny światowej. 176 00:09:01,500 --> 00:09:04,920 Moc programowania wzmocniła ludzką zdolność robienia tego, 177 00:09:05,421 --> 00:09:06,672 co chcieli robić. 178 00:09:07,590 --> 00:09:11,135 Ale w latach 40. wciąż wymagało to mnóstwa pracy. 179 00:09:11,427 --> 00:09:16,056 Pisanie programów z użyciem zer i jedynek wyraźnie się nie skaluje. 180 00:09:16,140 --> 00:09:19,226 Ludzie chcieli więcej mocy, którą daje programowanie. 181 00:09:19,310 --> 00:09:21,854 Ale chcieli programować w łatwiejszy sposób. 182 00:09:22,563 --> 00:09:27,776 Od tamtej pory historia programowania to coraz większe upodabnianie kodu 183 00:09:27,860 --> 00:09:29,028 do języka ludzkiego 184 00:09:29,445 --> 00:09:33,032 dzięki temu, czego używają dziś prawie wszyscy programiści: 185 00:09:33,115 --> 00:09:34,617 językom programowania. 186 00:09:35,200 --> 00:09:38,996 W porównaniu z jedynkami i zerami te języki są dość abstrakcyjne. 187 00:09:39,580 --> 00:09:41,707 Abstrakcja to trudne słowo. 188 00:09:42,291 --> 00:09:45,836 Abstrakcyjne języki też sprowadzają się do jedynek i zer, 189 00:09:45,919 --> 00:09:48,339 ale są one lepiej uporządkowane. 190 00:09:48,797 --> 00:09:51,175 Można na nie patrzeć pod kątem biologii. 191 00:09:51,467 --> 00:09:53,135 Ludzie są bardzo złożeni, 192 00:09:53,218 --> 00:09:56,972 ale 99% naszych ciał składa się tylko z sześciu elementów. 193 00:09:57,389 --> 00:10:00,184 Można wspiąć się na szczebel dużych molekuł. 194 00:10:00,267 --> 00:10:02,353 Między tą warstwą uporządkowania 195 00:10:02,436 --> 00:10:04,647 a najprostszym organizmem żywym 196 00:10:04,730 --> 00:10:06,106 nastąpił duży przeskok. 197 00:10:06,315 --> 00:10:09,526 Ludzie mają mózgi, które robią tak zaawansowane rzeczy, 198 00:10:09,610 --> 00:10:12,488 że trudno uwierzyć, iż złożone są z tego samego. 199 00:10:12,946 --> 00:10:16,784 Komputery są pod tym względem podobne, ale znacznie prostsze. 200 00:10:17,951 --> 00:10:19,203 To dobre wieści. 201 00:10:19,286 --> 00:10:22,956 Historia programowania to historia podnoszenia tego pola, 202 00:10:23,040 --> 00:10:24,667 by odejść od kodu binarnego 203 00:10:24,750 --> 00:10:28,837 i znaleźć prostsze, szybsze i mocniejsze sposoby programowania 204 00:10:29,129 --> 00:10:32,257 bez konieczności zajmowania się, czy nawet rozumienia, 205 00:10:32,341 --> 00:10:35,135 kodu binarnego i bramek logicznych pod spodem. 206 00:10:35,344 --> 00:10:38,931 To pozwala programistom tworzyć produkty, które znamy. 207 00:10:39,306 --> 00:10:41,392 Pierwszym krokiem do tego był... 208 00:10:41,850 --> 00:10:45,813 „Język asemblera”, znacznie łatwiejszy do czytania i pisania, 209 00:10:46,188 --> 00:10:49,608 w którym zamiast 0-1-0-0-0-1-1-1 210 00:10:49,942 --> 00:10:51,276 mówi się „add” 211 00:10:51,694 --> 00:10:55,114 i wtedy program zwany asemblerem 212 00:10:55,489 --> 00:10:59,410 przekłada litery A-D-D 213 00:10:59,493 --> 00:11:03,455 na odpowiednik zer i jedynek. 214 00:11:03,539 --> 00:11:07,292 Na tym poziomie kod binarny jest uporządkowany w litery i cyfry, 215 00:11:07,626 --> 00:11:10,379 tak jak atomy są uporządkowane w molekuły. 216 00:11:10,921 --> 00:11:15,217 Ale programowanie w języku asemblera wciąż nie było zbyt łatwe, 217 00:11:15,843 --> 00:11:19,513 bo wszystkie te komputery używały innych języków asemblera. 218 00:11:20,097 --> 00:11:24,810 Program napisany dla jednego z nich nie działał na żadnym innym. 219 00:11:25,102 --> 00:11:27,187 Bardzo szybko ludzie wpadli na to, 220 00:11:27,271 --> 00:11:29,440 że chcą przekazywać komputerom 221 00:11:29,523 --> 00:11:32,818 dane w używanych na co dzień językach. 222 00:11:33,193 --> 00:11:35,863 Mamy języki programowania 223 00:11:35,946 --> 00:11:39,825 zbudowane przy użyciu języka asemblera 224 00:11:39,908 --> 00:11:42,911 i na ich podstawie zbudowaliśmy więcej języków. 225 00:11:43,328 --> 00:11:44,955 Pewnie o nich słyszeliście. 226 00:11:45,038 --> 00:11:45,914 - LISP. - BASIC. 227 00:11:45,998 --> 00:11:47,207 - Java. - C++. 228 00:11:47,291 --> 00:11:49,042 - Python 3. - HTML 5. 229 00:11:49,126 --> 00:11:51,044 PEARL, PHP, odrobina C... 230 00:11:51,128 --> 00:11:53,756 Tak jak języki mówione to różne sposoby 231 00:11:53,839 --> 00:11:56,717 na przekazanie tego samego innym ludziom, 232 00:11:57,050 --> 00:11:59,595 tak języki programowania to różne sposoby 233 00:11:59,678 --> 00:12:02,014 na przekazanie tego samego komputerom. 234 00:12:02,347 --> 00:12:05,058 Jest więcej niż jeden język wysokiego poziomu, 235 00:12:05,142 --> 00:12:07,936 głównie dlatego, że różne języki 236 00:12:08,020 --> 00:12:10,105 odpowiadają różnym potrzebom. 237 00:12:10,731 --> 00:12:12,024 Spójrzmy na te dwa. 238 00:12:12,191 --> 00:12:15,944 Ten nazywa się COBOL i powstał pod koniec lat 50., 239 00:12:16,028 --> 00:12:18,906 by ułatwić przedsiębiorstwom używanie kodu. 240 00:12:19,239 --> 00:12:23,410 Bardzo przypomina angielski, z tym że każda rozmowa 241 00:12:23,494 --> 00:12:25,579 kończy się na „STOP RUN”. 242 00:12:26,497 --> 00:12:32,753 Ten nazywa się CPL, powstał w latach 60. i przetwarzał dane bardziej naukowo. 243 00:12:33,212 --> 00:12:35,297 To jak ewolucja biologiczna. 244 00:12:35,631 --> 00:12:38,550 W miarę, jak organizmy stają się bardziej złożone, 245 00:12:38,634 --> 00:12:41,929 lepiej przystosowują się do środowiska, w którym żyją. 246 00:12:42,012 --> 00:12:45,933 Mówiąc szczerze, to też kwestia gustu. 247 00:12:46,558 --> 00:12:50,521 Ludzie lubią wyrażać się za pomocą różnych narzędzi. 248 00:12:50,604 --> 00:12:53,774 Na przykład język C++. 249 00:12:53,857 --> 00:12:56,276 Elon Musk nie jest jego fanem. 250 00:12:56,360 --> 00:12:57,945 Wy możecie wymyślić język. 251 00:12:58,028 --> 00:13:02,533 To prawdziwy język wysokiego poziomu złożony wyłącznie ze słowa „mu”. 252 00:13:02,950 --> 00:13:04,910 Serio. Nazywa się KROWA. 253 00:13:05,285 --> 00:13:08,956 Ten składa się z cytatów z filmów z Arnoldem Schwarzeneggerem. 254 00:13:09,164 --> 00:13:13,252 Za każdym razem, gdy myślę, że mamy już dość, 255 00:13:13,335 --> 00:13:20,050 ktoś wpada na pomysł nowego języka, który zdobywa swoich wielbicieli. 256 00:13:20,133 --> 00:13:24,888 Nie widzę więc końca wymyślania nowych języków. 257 00:13:25,472 --> 00:13:29,017 I wszystkie te języki są nadal oparte na logice. 258 00:13:29,393 --> 00:13:32,396 Przykładowo programista w Netflix może powiedzieć: 259 00:13:32,479 --> 00:13:35,941 „Jeśli ktoś oglądał więcej niż dwie godziny, 260 00:13:36,024 --> 00:13:37,150 wtedy pokaż to”. 261 00:13:37,568 --> 00:13:40,195 Ale by kod wpłynął na życie większości ludzi, 262 00:13:40,279 --> 00:13:44,700 musieli zacząć używać komputerów, co znaczy, że musiały stać się prostsze 263 00:13:44,783 --> 00:13:46,076 i przyjaźniejsze, 264 00:13:46,159 --> 00:13:48,370 a to wymagało kolejnego dużego skoku. 265 00:13:48,912 --> 00:13:50,497 Rozpoczął się on tutaj, 266 00:13:50,789 --> 00:13:54,376 podczas dema pokazanego przez Douga Englebarta w 1968 roku. 267 00:13:54,459 --> 00:13:56,587 Za chwilę zobaczymy jego ekran 268 00:13:56,712 --> 00:13:58,547 i ruchy punktu namierzającego 269 00:13:58,630 --> 00:14:01,425 w połączeniu z ruchami tej myszy. 270 00:14:02,050 --> 00:14:07,764 Dziś ludzie nie programują, zapisując polecenia na kartce papieru 271 00:14:07,848 --> 00:14:11,476 i przekazując je komuś, by wpisał je do komputera. 272 00:14:11,560 --> 00:14:15,272 Siedzimy przed ekranem i mamy graficzny interfejs użytkownika. 273 00:14:15,355 --> 00:14:17,566 Dziś takie interfejsy nazywamy GUI. 274 00:14:18,025 --> 00:14:21,236 Dzięki GUI można programować bez pisania na komputerze. 275 00:14:22,487 --> 00:14:24,907 Albo po prostu łatwiej programować. 276 00:14:25,240 --> 00:14:29,661 Zwykle działamy w środowisku programistycznym 277 00:14:30,287 --> 00:14:34,958 typu, który Alan i jego towarzysze 278 00:14:35,042 --> 00:14:36,501 tak pięknie stworzyli 279 00:14:36,585 --> 00:14:40,631 w ośrodku badawczym firmy Xerox w Palo Alto, we wczesnych latach 70. 280 00:14:40,714 --> 00:14:41,632 „Alan”. 281 00:14:41,715 --> 00:14:42,799 To ten Alan. 282 00:14:42,883 --> 00:14:46,053 Traktuję go jak ojca komputerów osobistych, 283 00:14:46,136 --> 00:14:50,265 bo jako pierwszy naprawdę wyartykułował tę wizję. 284 00:14:50,682 --> 00:14:54,353 Muszę przyznać, że wtedy uważałem to za fantastykę naukową. 285 00:14:54,436 --> 00:14:56,605 Przy realizacji dużych projektów 286 00:14:57,898 --> 00:14:59,733 działa zwykle cała społeczność. 287 00:14:59,816 --> 00:15:02,110 Ośrodek PARC był w tym fantastyczny. 288 00:15:02,653 --> 00:15:04,196 To było jak magia. 289 00:15:04,780 --> 00:15:08,450 Graficzny interfejs użytkownika pozwolił milionom osób 290 00:15:08,533 --> 00:15:13,080 korzystać z komputerów w naturalny dla nich sposób. 291 00:15:13,580 --> 00:15:16,750 Reklamując po raz pierwszy GUI w 1979 roku, 292 00:15:16,833 --> 00:15:20,170 Xerox pokazał, jak kod może zmienić codzienne życie. 293 00:15:20,462 --> 00:15:25,008 Przychodzisz do biura i maszyna Xerox pokazuje ci na ekranie poranną pocztę. 294 00:15:25,092 --> 00:15:27,344 Wkrótce systemy Xerox tego typu 295 00:15:27,427 --> 00:15:29,721 pomogą ci zarządzać cennym zasobem: 296 00:15:30,472 --> 00:15:31,431 informacją. 297 00:15:31,848 --> 00:15:36,603 W tej społeczności badawczej było wielu ludzi takich, jak ja, 298 00:15:36,687 --> 00:15:38,105 chcących ulepszyć świat. 299 00:15:38,188 --> 00:15:43,068 Ich idee były mocno związane z udoskonaleniem człowieka. 300 00:15:43,610 --> 00:15:46,238 Chcieli czegoś, co może współpracować z nami, 301 00:15:46,697 --> 00:15:47,864 społeczeństwem, 302 00:15:48,156 --> 00:15:51,827 złożonym ze zwykłych ludzi, i pozwolić nam osiągnąć więcej, 303 00:15:51,910 --> 00:15:53,286 niż mogliśmy wcześniej. 304 00:15:53,662 --> 00:15:56,248 Naprawdę pozwoliło nam to osiągnąć więcej. 305 00:15:56,331 --> 00:15:58,959 GUI były dużym skokiem w górę tego spektrum. 306 00:15:59,501 --> 00:16:03,630 Wtedy pojawiła się kolejna przełomowa innowacja. 307 00:16:05,340 --> 00:16:07,467 Nowy sposób dystrybucji wszystkiego, 308 00:16:07,551 --> 00:16:09,428 co można zrobić za pomocą kodu. 309 00:16:10,137 --> 00:16:14,433 W telewizji ludzie przewidywali, co spowoduje nagły dostęp do całego kodu. 310 00:16:14,808 --> 00:16:17,519 Wyobraźcie sobie, że siadacie do porannej kawy 311 00:16:17,602 --> 00:16:20,439 i włączacie komputer, by przeczytać gazetę. 312 00:16:20,522 --> 00:16:24,985 Wyobraźcie sobie świat, w którym każde napisane słowo, namalowany obraz, 313 00:16:25,068 --> 00:16:28,697 każdy nakręcony firm, może być od razu dostępny w waszym domu. 314 00:16:28,780 --> 00:16:33,744 Myślę, że jesteśmy na skraju czegoś ekscytującego i przerażającego. 315 00:16:33,827 --> 00:16:35,287 Ale to tylko narzędzie. 316 00:16:35,370 --> 00:16:36,204 Wcale nie. 317 00:16:36,288 --> 00:16:40,667 Najbardziej wpływowe dziś programy używają wszystkich tych innowacji. 318 00:16:40,751 --> 00:16:44,671 Jeden student użył języka programowania wysokiego poziomu, PHP, 319 00:16:44,755 --> 00:16:47,632 by stworzyć coś dostępnego przez Internet, 320 00:16:47,716 --> 00:16:49,760 do używania na komputerach z GUI. 321 00:16:50,052 --> 00:16:53,722 Opisał to w swoim pierwszym wywiadzie telewizyjnym z 2004 roku. 322 00:16:53,972 --> 00:16:56,308 To sieciowy katalog, który łączy ludzi 323 00:16:56,391 --> 00:16:59,478 przez sieci społecznościowe uniwersytetów i koledżów. 324 00:16:59,561 --> 00:17:02,731 Mamy teraz 100 000 ludzi i kto wie, co będzie dalej. 325 00:17:02,814 --> 00:17:08,361 Dalej były ponad dwa miliardy ludzi na Facebooku każdego miesiąca. 326 00:17:08,779 --> 00:17:11,823 Dziś programiści kształtują życie miliardów ludzi. 327 00:17:11,907 --> 00:17:15,869 To, jak pracują, kupują, jedzą, umawiają się na randki i relaksują. 328 00:17:16,203 --> 00:17:17,537 Co teraz robicie? 329 00:17:17,621 --> 00:17:21,208 Oglądacie mnie w aplikacji internetowej Netflix. 330 00:17:23,376 --> 00:17:27,255 Netflix jest kodem i działa w przeglądarce internetowej, 331 00:17:27,339 --> 00:17:28,340 która jest kodem 332 00:17:28,507 --> 00:17:33,970 i która działa na komputerze zaprojektowanym przy pomocy kodu. 333 00:17:34,054 --> 00:17:35,764 I tak w nieskończoność. 334 00:17:37,724 --> 00:17:41,228 Autor świetnego kodu jest jak architekt muzeum, 335 00:17:41,311 --> 00:17:43,396 o którym miliony ludzi myślą 336 00:17:43,480 --> 00:17:46,108 i z którego codziennie korzystają. 337 00:17:46,191 --> 00:17:49,569 Nic nie równa się pisaniu kodu, bo przypomina akt kreacji. 338 00:17:49,653 --> 00:17:51,863 Mamy pomysł, jak coś powinno działać, 339 00:17:52,364 --> 00:17:56,201 po czym siadamy do komputera 340 00:17:56,284 --> 00:17:58,078 i próbujemy go zrealizować. 341 00:17:58,161 --> 00:18:01,081 Ta rola wiąże się z dużą odpowiedzialnością. 342 00:18:01,164 --> 00:18:04,084 Mamy ograniczenie prędkości. 343 00:18:04,167 --> 00:18:05,710 Sto kilometrów na godzinę. 344 00:18:06,545 --> 00:18:07,420 W porządku. 345 00:18:07,712 --> 00:18:11,341 Ale co, gdybyśmy mieli samochód i komputer powiedziałby, 346 00:18:12,175 --> 00:18:15,137 że nie pojedzie on szybciej, niż 100 km/h? 347 00:18:15,846 --> 00:18:17,973 To inny sposób kontroli zachowania. 348 00:18:18,056 --> 00:18:20,225 Kontrolując nasze wybory, 349 00:18:20,976 --> 00:18:27,941 kod często reguluje zachowanie lepiej, niż byłoby to w stanie zrobić prawo. 350 00:18:28,525 --> 00:18:30,819 To może być wspaniała rzecz. 351 00:18:30,944 --> 00:18:35,198 W USA jest około sześć milionów wypadków samochodowych rocznie. 352 00:18:35,282 --> 00:18:39,494 Jedna z analiz wykazała, że 94% z nich powodują kierowcy. 353 00:18:40,370 --> 00:18:43,165 Postępy w programowaniu mogą ocalić miliony żyć. 354 00:18:43,665 --> 00:18:46,960 Ale mogą też na nowe sposoby narażać życie. 355 00:18:47,460 --> 00:18:49,713 Cierpię na kardiomiopatię przerostową. 356 00:18:49,796 --> 00:18:51,131 PRAWNICZKA, AKTYWISTKA 357 00:18:51,214 --> 00:18:56,219 To medyczny termin oznaczający posiadanie dużego serca. 358 00:18:56,386 --> 00:18:58,221 Moje serce jest dosłownie duże. 359 00:18:58,305 --> 00:19:00,932 Około trzech razy większe, niż powinno być. 360 00:19:01,016 --> 00:19:03,268 Dowiedziałam się o tym w wieku 30 lat. 361 00:19:03,351 --> 00:19:07,355 Ryzyko nagłej śmierci przed czterdziestką było bardzo wysokie. 362 00:19:07,439 --> 00:19:10,108 Elektrofizjolog powiedział, że to nie problem, 363 00:19:10,192 --> 00:19:12,485 bo mogę dostać rozrusznik serca. 364 00:19:13,028 --> 00:19:15,030 To urządzenie działa na kod. 365 00:19:15,697 --> 00:19:20,243 Parę lat temu, gdy byłam w ciąży, miałam kołatanie serca. 366 00:19:20,744 --> 00:19:24,748 Co czwarta kobieta doświadcza kołatania. To zupełnie normalne. 367 00:19:25,165 --> 00:19:28,460 Ale moje urządzenie uznało, że rytm jest niebezpieczny 368 00:19:28,543 --> 00:19:29,586 i mnie poraziło. 369 00:19:29,669 --> 00:19:34,049 Producenci urządzenia nie zamierzają razić prądem ciężarnych kobiet. 370 00:19:34,132 --> 00:19:36,551 To dosłownie ostatnia rzecz, której chcą. 371 00:19:36,635 --> 00:19:39,262 Po prostu nie wzięli tego pod uwagę. 372 00:19:39,346 --> 00:19:42,474 Istnieje ogromna liczba decyzji, 373 00:19:43,141 --> 00:19:47,395 które programiści będą podejmować. 374 00:19:48,188 --> 00:19:50,690 Bez wątpienia 375 00:19:51,066 --> 00:19:53,735 pojawi się jakaś kombinacja okoliczności, 376 00:19:53,818 --> 00:19:56,112 której nie przewidzą. 377 00:19:56,238 --> 00:19:58,198 To, czego próbujemy uczyć, 378 00:19:58,281 --> 00:20:00,450 gdy uczymy sztuki 379 00:20:00,533 --> 00:20:01,910 programowania, 380 00:20:02,244 --> 00:20:04,537 to sposób, w jaki trzeba myśleć 381 00:20:04,621 --> 00:20:07,540 o wszystkich tych różnych warunkach. 382 00:20:07,832 --> 00:20:09,751 Jak być drobiazgowym, 383 00:20:10,293 --> 00:20:16,091 nie dając się sparaliżować liczbą rzeczy, które należy wziąć pod uwagę. 384 00:20:16,174 --> 00:20:20,053 Te słowa będą coraz bardziej adekwatne, bo zaczęliśmy programować 385 00:20:20,136 --> 00:20:21,721 w zupełnie nowy sposób. 386 00:20:22,305 --> 00:20:25,850 W tradycyjnym programowaniu piszemy instrukcje dla komputera. 387 00:20:26,059 --> 00:20:30,230 Teraz jednak możemy dać komputerowi dane wejściowe i dane wyjściowe 388 00:20:30,313 --> 00:20:33,525 i sprawić, by napisał swoje własne instrukcje. 389 00:20:33,942 --> 00:20:37,279 Chodzi o to, by dać komputerowi 390 00:20:38,405 --> 00:20:39,531 dużo przykładów 391 00:20:40,073 --> 00:20:43,660 i powiedzieć: „To jest impreza”. 392 00:20:43,785 --> 00:20:45,328 Są też inne sytuacje. 393 00:20:45,412 --> 00:20:47,247 Gabinet dentysty: nie impreza. 394 00:20:47,330 --> 00:20:48,915 Sala szkolna: nie impreza. 395 00:20:49,374 --> 00:20:53,169 Komputer je ogląda i próbuje zbudować 396 00:20:53,253 --> 00:20:55,005 system klasyfikacji. 397 00:20:55,255 --> 00:20:57,173 To jest uczenie maszynowe. 398 00:20:57,257 --> 00:21:00,051 Kiedy ktoś dziś mówi o sztucznej inteligencji, 399 00:21:00,552 --> 00:21:01,553 ma to na myśli. 400 00:21:01,636 --> 00:21:06,641 Tu zupełnie nowy rodzaj abstrakcji i nowa metoda działania, 401 00:21:06,725 --> 00:21:11,563 bo nie do końca pasuje do sposobu, w jaki układaliśmy te elementy. 402 00:21:11,646 --> 00:21:15,442 Nazywamy je algorytmami uczenia maszynowego, bo komputer tworzy 403 00:21:15,525 --> 00:21:18,028 swój własny zestaw instrukcji do wykonania. 404 00:21:18,111 --> 00:21:21,990 Oczywiście koniec końców one też są przekładane 405 00:21:22,073 --> 00:21:24,451 na drobne instrukcje. 406 00:21:25,201 --> 00:21:28,330 Google Translate miało kiedyś ponad milion linii kodu. 407 00:21:28,538 --> 00:21:32,792 To milion małych instrukcji napisanych przez ludzi. 408 00:21:32,876 --> 00:21:38,340 Obecnie Google Translate ma około pięćset linii kodu. 409 00:21:38,423 --> 00:21:40,008 Używa uczenia maszynowego. 410 00:21:40,091 --> 00:21:44,262 Powiedzmy, że przez przeoczenie na żadnym z dodanych zdjęć imprez 411 00:21:44,346 --> 00:21:46,890 nie było ludzi rasy czarnej ani Latynosów. 412 00:21:46,973 --> 00:21:49,476 Komputer mógł uznać, że na imprezy z zasady 413 00:21:49,559 --> 00:21:52,562 zapraszani są tylko ludzie rasy białej i Azjaci. 414 00:21:52,812 --> 00:21:55,982 Programistami są często biali i azjatyccy faceci. 415 00:21:56,733 --> 00:22:01,321 Absolutnie powinniśmy poszerzyć dostęp do możliwości projektowania 416 00:22:01,404 --> 00:22:02,405 z wielu powodów. 417 00:22:02,489 --> 00:22:05,325 Więcej doświadczenia życiowego to lepsze pytania. 418 00:22:05,408 --> 00:22:09,037 Mimo to jeśli wprowadzamy do systemu uczenia maszynowego dane, 419 00:22:09,120 --> 00:22:13,249 na przykład z sądownictwa karnego, które są strukturalnie rasistowskie, 420 00:22:13,333 --> 00:22:15,668 a nasi programiści uczenia maszynowego 421 00:22:15,752 --> 00:22:17,170 są bardzo zróżnicowani: 422 00:22:17,253 --> 00:22:22,384 mają różne rasy, różne twarze, różne pochodzenie społeczne, 423 00:22:22,634 --> 00:22:25,303 nasz system i tak nauczy się z danych. 424 00:22:25,387 --> 00:22:28,056 Jeśli ludzie nie będą aktywnie ich poprawiać, 425 00:22:28,139 --> 00:22:31,643 historyczne dane sprawią, że powtórzymy błędy z przeszłości. 426 00:22:31,726 --> 00:22:33,728 AI BŁĘDNIE WYSYŁA LUDZI DO WIĘZIENIA 427 00:22:33,812 --> 00:22:36,481 Historia programowania to historia ambicji 428 00:22:36,564 --> 00:22:38,483 i kreatywności człowieka. 429 00:22:38,566 --> 00:22:41,528 Start rakiety Falcon 9. 430 00:22:41,611 --> 00:22:44,030 Ujrzeliśmy to, co mieliśmy za niewidoczne. 431 00:22:44,697 --> 00:22:45,740 Czarną dziurę. 432 00:22:46,366 --> 00:22:47,826 Budujemy nowy świat 433 00:22:48,284 --> 00:22:52,122 dzięki bardziej intuicyjnym narzędziom dostępnym dla wielu ludzi, 434 00:22:52,664 --> 00:22:55,750 którzy pomagają ten świat ulepszyć. 435 00:22:56,126 --> 00:22:59,546 Od dawna staramy się uczynić komputery bardziej dostępnymi 436 00:22:59,629 --> 00:23:02,424 dla coraz większej liczby ludzi. 437 00:23:02,507 --> 00:23:07,178 W ostatnich 50 latach na naszych oczach odbywa się rewolucja. 438 00:23:07,262 --> 00:23:09,139 Dlatego to takie ekscytujące. 439 00:23:09,973 --> 00:23:13,935 Ważne jest, by pamiętać, że wszystko, czego używamy na komputerze, 440 00:23:14,227 --> 00:23:16,187 stworzył jakiś człowiek. 441 00:23:17,105 --> 00:23:21,317 Wy też możecie być takim człowiekiem i ważne jest, byście nim zostali. 442 00:23:21,401 --> 00:23:24,154 Możecie naprawdę fundamentalnie zmienić świat. 443 00:23:24,571 --> 00:23:28,658 Świat będzie działał przy użyciu uczenia maszynowego, 444 00:23:28,741 --> 00:23:32,287 danych i tradycyjnego programowania na coraz to nowe sposoby. 445 00:23:32,662 --> 00:23:35,123 Jako społeczeństwo musimy wiedzieć, 446 00:23:35,206 --> 00:23:37,584 że dysponujemy potężną nową technologią, 447 00:23:38,251 --> 00:23:43,089 która pod pewnymi względami może być super, ale nie będzie taka sama z siebie.