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.