1
00:00:09,510 --> 00:00:10,762
Tísňová linka 911.
2
00:00:11,679 --> 00:00:13,389
911, co se děje?
3
00:00:13,473 --> 00:00:14,932
911, co se děje?
4
00:00:15,058 --> 00:00:15,975
911...
5
00:00:19,854 --> 00:00:24,400
Dne 9. dubna 2014
byla služba 911 nečekaně nedostupná
6
00:00:24,609 --> 00:00:27,111
pro 11 milionů Američanů.
7
00:00:27,779 --> 00:00:30,031
Výpadek trval přes šest hodin.
8
00:00:30,364 --> 00:00:33,367
Více než 6 000 tísňových
hovorů se nespojilo.
9
00:00:33,910 --> 00:00:35,620
Problém vznikl kvůli počítači
10
00:00:35,703 --> 00:00:38,956
v zařízení pro směrování hovorů
v Englewoodu v Coloradu.
11
00:00:39,082 --> 00:00:41,209
Šlo o jednoduchou chybu v programu.
12
00:00:41,918 --> 00:00:43,961
Lidé, kteří počítač programovali,
13
00:00:44,045 --> 00:00:47,507
přidali strop pro počet hovorů,
které počítač mohl uložit.
14
00:00:47,840 --> 00:00:51,010
Mysleli si, že na tento strop
nikdy nedosáhne.
15
00:00:51,427 --> 00:00:54,222
Ale té noci v roce 2014 se to stalo.
16
00:00:54,680 --> 00:00:56,933
Počítač se řídil svými instrukcemi.
17
00:00:57,016 --> 00:00:59,393
Dosáhl stropu a přestal směrovat hovory.
18
00:01:00,061 --> 00:01:01,979
Problémem nebyl počítač.
19
00:01:02,105 --> 00:01:03,940
Nebyla to chyba v programu.
20
00:01:04,482 --> 00:01:06,067
Bylo to programování,
21
00:01:06,275 --> 00:01:10,488
proces rozhodování,
kterým lidé komunikují s počítačem.
22
00:01:10,571 --> 00:01:14,659
Tato moc přichází s
velkou etickou zodpovědností.
23
00:01:14,742 --> 00:01:15,910
Není nic jiného.
24
00:01:15,993 --> 00:01:18,204
Náhrada neexistuje.
25
00:01:18,329 --> 00:01:20,915
Stejně jako stavitelé města rozhodují,
26
00:01:21,541 --> 00:01:23,751
jaký bude život ve městě,
27
00:01:23,835 --> 00:01:28,840
programování říká, jak žít na internetu,
takže také jaký bude náš život.
28
00:01:29,507 --> 00:01:30,842
Nejen na internetu,
29
00:01:30,925 --> 00:01:33,594
ale i když voláme pohotovostní služby...
30
00:01:34,220 --> 00:01:35,596
jdeme k doktorovi...
31
00:01:36,180 --> 00:01:37,682
nebo nastupujeme do auta.
32
00:01:38,141 --> 00:01:40,643
Programování nás obklopuje každý den.
33
00:01:41,602 --> 00:01:47,024
Přesto umí programovat
jen tři desetiny procenta z nás.
34
00:01:47,525 --> 00:01:49,986
Pro většinu z nás je programování záhada.
35
00:01:50,695 --> 00:01:51,988
Ale nemusí být.
36
00:01:52,446 --> 00:01:55,199
Jak programování funguje?
37
00:01:55,658 --> 00:01:58,286
A jaký nový svět z něj stavíme?
38
00:02:01,205 --> 00:02:02,540
Počítač.
39
00:02:03,082 --> 00:02:05,835
Geniální sestavu elektronického hardwaru
40
00:02:05,918 --> 00:02:07,879
vytvořil člověk.
41
00:02:08,087 --> 00:02:11,757
Nejde o to, že na řešení problémů
nemáme adekvátní stroje,
42
00:02:11,841 --> 00:02:14,177
ale že nemáme dostatečné popisy řešení.
43
00:02:14,260 --> 00:02:17,972
Když se řekne „programování“, myslíte,
že je to opravdu těžké.
44
00:02:18,556 --> 00:02:22,685
Musíte pamatovat,
že vše, co na počítači používáte,
45
00:02:22,768 --> 00:02:25,146
vytvořil nějaký člověk.
46
00:02:25,354 --> 00:02:27,732
PROGRAMOVÁNÍ
47
00:02:31,944 --> 00:02:35,907
Kdyby se mimozemšťan zeptal:
„K čemu je programování? Co to je?“
48
00:02:35,990 --> 00:02:37,283
Já bych řekl:
49
00:02:37,533 --> 00:02:41,412
Žijeme na hmotné Zemi,
ale před zhruba 50 lety
50
00:02:41,495 --> 00:02:44,582
skupinka lidí
začala stavět další planetu.
51
00:02:44,665 --> 00:02:46,876
Ne hmotnou, ale virtuální.
52
00:02:47,001 --> 00:02:50,213
Když na ulici vidíte lidi
se sklopenou hlavou,
53
00:02:50,296 --> 00:02:52,548
kteří zírají na své telefony,
54
00:02:52,632 --> 00:02:54,091
jsou v tom jiném světě.
55
00:02:54,383 --> 00:02:56,093
A to je programování.
56
00:02:56,219 --> 00:02:58,054
Stavební materiál jiného světa.
57
00:03:00,056 --> 00:03:04,393
Tento tkalcovský stav je předek všech
počítačů a chytrých telefonů.
58
00:03:04,852 --> 00:03:06,854
Byl vynalezen v roce 1804
59
00:03:06,938 --> 00:03:09,565
a inovace spočívá
v těchto děrných štítcích.
60
00:03:10,107 --> 00:03:13,653
Otvory v každém štítku
umožňovaly průnik jen určitých háčků.
61
00:03:14,237 --> 00:03:16,405
S tisíci děr na stovkách štítků
62
00:03:16,489 --> 00:03:19,659
mohli tkalci
vyrábět složitější vzory než předtím.
63
00:03:20,243 --> 00:03:22,620
Evropu uchvátily propracované šátky.
64
00:03:23,037 --> 00:03:26,666
Tkané obrazy mohly být tak složité,
že připomínaly kresby.
65
00:03:26,916 --> 00:03:29,418
Jako tento tkaný obraz
vynálezce přístroje.
66
00:03:30,169 --> 00:03:34,423
Před těmito stavy museli jednotlivá vlákna
ručně vybírat tzv. kresliči.
67
00:03:34,966 --> 00:03:38,886
Matematiku tehdy také dělali ručně
pomocí tzv. počítačů.
68
00:03:39,095 --> 00:03:40,972
První počítači byli lidi.
69
00:03:41,681 --> 00:03:43,641
A ty nejlepší existující stroje
70
00:03:43,724 --> 00:03:46,018
zvládaly jen jeden druh problému,
71
00:03:46,227 --> 00:03:48,437
jako počítadlo na sčítání a odčítání.
72
00:03:49,480 --> 00:03:52,358
Britský matematik
Charles Babbage chtěl stroj,
73
00:03:52,441 --> 00:03:54,610
který by zvládl kterýkoli vybraný,
74
00:03:54,777 --> 00:03:57,029
nebo spíše naprogramovaný, problém.
75
00:03:57,780 --> 00:04:00,908
Navrhl takzvaný analytický stroj.
76
00:04:01,242 --> 00:04:04,662
Tento nápad ho zapsal do dějin.
77
00:04:05,037 --> 00:04:10,167
První počítače vymyslel Babbage,
78
00:04:10,710 --> 00:04:13,879
velmi excentrický britský vynálezce.
79
00:04:14,255 --> 00:04:16,674
Babbage se pro funkci stroje inspiroval.
80
00:04:16,966 --> 00:04:19,593
Doma mu visela kopie tohoto obrazu.
81
00:04:20,219 --> 00:04:21,887
Stejně jako Jacquardův stav,
82
00:04:21,971 --> 00:04:25,391
i Babbageův analytický stroj
měl fyzické části, „hardware“.
83
00:04:25,599 --> 00:04:27,101
A stejně jako stav,
84
00:04:27,184 --> 00:04:31,272
hardware přijímal instrukce
v podobě štítků s děrami.
85
00:04:31,689 --> 00:04:33,065
Otvory vpustily háčky
86
00:04:33,149 --> 00:04:36,193
a místa bez otvorů
posunuly jiné háčky dozadu,
87
00:04:36,652 --> 00:04:39,196
kde spustily řetěz mechanických výpočtů.
88
00:04:39,864 --> 00:04:41,324
Štítky s různými dírami
89
00:04:41,615 --> 00:04:42,825
jsou software.
90
00:04:43,909 --> 00:04:46,412
Babbage analytický stroj nikdy nedokončil,
91
00:04:46,579 --> 00:04:50,416
ale jeho spolupracovnice
si uvědomila jeho potenciál
92
00:04:50,666 --> 00:04:52,126
nad rámec matematiky.
93
00:04:52,668 --> 00:04:55,671
Ada Byron, hraběnka z Lovelace, napsala:
94
00:04:56,005 --> 00:04:59,675
„V momentě, kdy došlo k využití štítků,
95
00:04:59,759 --> 00:05:02,011
byly překročeny hranice aritmetiky.“
96
00:05:02,261 --> 00:05:04,221
Viděla to samé, co Jacquard:
97
00:05:04,347 --> 00:05:06,891
díry mohly představovat
více než jen čísla.
98
00:05:07,058 --> 00:05:08,267
Mohly být vzory,
99
00:05:08,392 --> 00:05:09,310
hudba...
100
00:05:10,644 --> 00:05:12,271
nebo celé věty.
101
00:05:12,772 --> 00:05:15,107
Je to v podstatě taková morseovka.
102
00:05:15,274 --> 00:05:19,987
Každé písmeno Morseovy abecedy
je vyjádřeno souborem dvou signálů.
103
00:05:20,071 --> 00:05:21,739
... nebo ...
104
00:05:21,906 --> 00:05:22,865
Je binární.
105
00:05:23,324 --> 00:05:26,452
Těmito zvukovými
signály můžeme říct cokoliv,
106
00:05:26,952 --> 00:05:30,790
jako toto nouzové hlášení
z Titaniku z roku 1912.
107
00:05:31,457 --> 00:05:34,502
„SOS“ není žádná zkratka.
108
00:05:34,710 --> 00:05:37,880
Jen se v Morseovce velmi snadno posílá.
109
00:05:38,089 --> 00:05:42,885
Každé písmeno lze vyjádřit jako kombinaci
110
00:05:42,968 --> 00:05:44,512
nul a jedniček.
111
00:05:44,845 --> 00:05:45,930
Je to povědomé?
112
00:05:46,138 --> 00:05:47,640
Toto je binární kód.
113
00:05:47,848 --> 00:05:51,769
Slouží k překonání mezery
mezi stroji a lidským jazykem.
114
00:05:51,894 --> 00:05:55,773
Každá jednička a nula
je dvojková číslice, tzv. „bit“.
115
00:05:55,940 --> 00:05:58,359
Jsou to atomy moderní výpočetní techniky.
116
00:05:58,484 --> 00:06:00,528
Můžete je znát pod jiným jménem.
117
00:06:00,653 --> 00:06:02,613
Osm bitů je bajt.
118
00:06:03,239 --> 00:06:07,576
Takže ta fotka na vašem počítači,
která má 1,1 megabajtů?
119
00:06:08,160 --> 00:06:11,956
Má osm milionů
osm set tisíc jedniček a nul.
120
00:06:12,373 --> 00:06:16,919
Stejně jako čárky a tečky Morseovky
jsou způsob zápisu ... a ... .
121
00:06:17,002 --> 00:06:20,297
jedničky a nuly binárního kódu
jsou způsob, jak zapsat,
122
00:06:20,423 --> 00:06:22,508
co se děje v moderním počítači:
123
00:06:23,217 --> 00:06:25,052
proud nebo žádný proud.
124
00:06:25,344 --> 00:06:27,471
Toto je jednoduchý elektrický obvod.
125
00:06:27,763 --> 00:06:30,599
Představte si jich miliony,
jak spolupracují.
126
00:06:31,016 --> 00:06:32,476
To je dnešní počítač.
127
00:06:33,018 --> 00:06:35,479
Toto je bit na elektrickém obvodu.
128
00:06:35,604 --> 00:06:37,857
Žárovka je vypnutá? Nula.
129
00:06:38,107 --> 00:06:39,567
Zapnutá? Jednička.
130
00:06:40,067 --> 00:06:42,069
Počítače rozumí jen elektřině,
131
00:06:42,278 --> 00:06:44,947
takže vše, co programátoři dělají,
132
00:06:45,489 --> 00:06:49,368
je v podstatě
jen série výbojů zapnuto/vypnuto.
133
00:06:49,702 --> 00:06:53,205
Funguje to,
protože když jsou řádně sestaveny,
134
00:06:53,414 --> 00:06:56,041
výboje představují logiku.
135
00:06:56,625 --> 00:07:00,754
Logika je předvídatelná série
faktů nebo událostí,
136
00:07:01,255 --> 00:07:03,048
jako zavření tohoto...
137
00:07:04,467 --> 00:07:07,052
a tohoto spínače, aby zazvonil zvonek.
138
00:07:09,054 --> 00:07:12,850
Lidé od počítačů
tomu říkají „logický AND obvod“.
139
00:07:13,476 --> 00:07:15,644
Nebo logický člen.
140
00:07:15,769 --> 00:07:18,439
Zkusím nepropálit díru do stolu.
141
00:07:18,522 --> 00:07:21,567
V členu AND – „a“
musí být oba obvody zavřeny,
142
00:07:21,650 --> 00:07:22,902
aby světlo prošlo.
143
00:07:23,110 --> 00:07:24,653
Pak je člen „OR“ – „nebo“,
144
00:07:24,778 --> 00:07:28,199
kde světlo projde,
pokud je zavřen jen jeden okruh.
145
00:07:28,365 --> 00:07:29,700
Jinak řečeno,
146
00:07:29,909 --> 00:07:34,371
KDYŽ: zavřený obvod, PAK: rozsviť.
147
00:07:34,497 --> 00:07:36,916
Takový příkaz „když, pak“
148
00:07:36,999 --> 00:07:38,083
je algoritmus.
149
00:07:38,292 --> 00:07:42,505
V dnešní pop kultuře slovo „algoritmus“
způsobuje spoustu zmatku.
150
00:07:42,755 --> 00:07:45,925
To už jsme viděli,
jak se algoritmy zbláznily!
151
00:07:46,008 --> 00:07:49,094
Fungování algoritmů
je pro většinu lidí záhadou.
152
00:07:49,178 --> 00:07:51,847
Co je sakra algoritmus?
153
00:07:51,972 --> 00:07:54,892
Ale algoritmus je jen řada instrukcí.
154
00:07:55,184 --> 00:07:56,644
Jdete do obchodu.
155
00:07:56,894 --> 00:07:59,522
Můžete jít doleva a pak doprava.
156
00:07:59,647 --> 00:08:02,525
Nebo můžete jít doprava a pak doleva.
157
00:08:02,900 --> 00:08:04,985
Nebo čtyřikrát doleva,
158
00:08:05,069 --> 00:08:06,111
oběhnout park,
159
00:08:06,195 --> 00:08:07,029
přes dálnici
160
00:08:07,112 --> 00:08:09,031
a čtyřikrát doprava.
161
00:08:09,365 --> 00:08:12,493
Tak jako jsou různé způsoby,
jak se někam dostat,
162
00:08:12,576 --> 00:08:16,247
v programování mohou různé algoritmy
řešit stejný problém.
163
00:08:16,372 --> 00:08:20,042
Cílem je najít
nejelegantnější a nejúčinnější řešení.
164
00:08:20,459 --> 00:08:22,795
Hezký program se neopakuje.
165
00:08:22,920 --> 00:08:25,005
Je elegantní, výkonný.
166
00:08:25,631 --> 00:08:29,760
Počítače, které pracovaly s algoritmy,
dělaly, co jsme jim řekli.
167
00:08:29,843 --> 00:08:30,844
Ale rychleji.
168
00:08:31,136 --> 00:08:33,764
Lidstvo získalo mnohem větší moc.
169
00:08:34,223 --> 00:08:37,601
Když vědci poprvé
začali vyvíjet jaderné zbraně,
170
00:08:38,018 --> 00:08:40,437
používali převážně lidské počítače.
171
00:08:40,896 --> 00:08:42,815
Ale pak se obrátili na tento:
172
00:08:43,315 --> 00:08:47,152
počítač ENIAC šest týdnů
vypočítával termonukleární kalkulace.
173
00:08:47,903 --> 00:08:50,197
Jeho výsledky podstatně přispěly
174
00:08:51,323 --> 00:08:53,659
k prvnímu úspěšnému testu v roce 1952:
175
00:08:54,076 --> 00:08:57,496
bomby stokrát silnější než jaderné bomby,
176
00:08:57,580 --> 00:09:00,874
které za druhé světové války
zničily Hirošimu a Nagasaki.
177
00:09:01,500 --> 00:09:04,920
Možnosti programování
umožnily lidem dělat to,
178
00:09:05,421 --> 00:09:06,672
co se rozhodli dělat.
179
00:09:07,590 --> 00:09:11,135
Ale ve 40. letech
to ještě bylo náročné.
180
00:09:11,468 --> 00:09:16,056
Zápis programů v nulách a jedničkách
byl zdlouhavý.
181
00:09:16,223 --> 00:09:19,018
Lidi chtěli programování
využívat na maximum.
182
00:09:19,685 --> 00:09:21,395
Ale chtěli to dělat snáz.
183
00:09:22,438 --> 00:09:27,776
Od té doby je programování o tom,
jak ho co nejvíce přiblížit
184
00:09:27,860 --> 00:09:29,028
lidskému jazyku,
185
00:09:29,361 --> 00:09:32,990
Vzniklo něco, co dnes používají
skoro všichni programátoři:
186
00:09:33,115 --> 00:09:34,617
programovací jazyky.
187
00:09:35,200 --> 00:09:38,996
Ve srovnání s nulami a jedničkami
jsou tyto jazyky abstraktní.
188
00:09:39,580 --> 00:09:41,707
Abstrakce je pro
lidi těžké slovo.
189
00:09:42,249 --> 00:09:45,669
I abstraktní jazyky jsou
tvořeny nulami a jedničkami,
190
00:09:45,794 --> 00:09:48,213
jen jsme se je naučili lépe uspořádat.
191
00:09:48,881 --> 00:09:50,966
Představte si to v rámci biologie.
192
00:09:51,425 --> 00:09:53,135
Lidé jsou velmi složití,
193
00:09:53,218 --> 00:09:56,972
ale 99 % našeho těla
tvoří jen šest prvků.
194
00:09:57,348 --> 00:10:00,184
Můžete se dopracovat k velkým molekulám.
195
00:10:00,267 --> 00:10:04,730
Mezi tou vrstvou organizace
a tou úplně nejjednodušší
196
00:10:04,813 --> 00:10:06,023
je velký skok.
197
00:10:06,357 --> 00:10:07,608
Lidé mají mozek,
198
00:10:07,691 --> 00:10:09,568
který umí tak pokročilé věci,
199
00:10:09,652 --> 00:10:12,488
že se těžko věří,
že je pořád tvořen tím samým.
200
00:10:12,946 --> 00:10:16,784
Počítače jsou dost podobné,
ale jsou mnohem jednodušší.
201
00:10:17,951 --> 00:10:19,078
To je dobrá zpráva.
202
00:10:19,578 --> 00:10:22,915
Příběh programování
je o snaze posunout se nahoru,
203
00:10:23,165 --> 00:10:25,250
nechat za sebou binárku
204
00:10:25,334 --> 00:10:28,962
a získat jednodušší, rychlejší,
silnější způsoby programování,
205
00:10:29,088 --> 00:10:33,175
aniž bychom se museli zabývat
binárními a logickými členy za tím vším,
206
00:10:33,300 --> 00:10:34,843
nebo je dokonce chápat.
207
00:10:35,344 --> 00:10:39,014
To umožňuje programátorům
vyrábět produkty, které známe.
208
00:10:39,306 --> 00:10:41,433
Prvním krokem k tomu byl...
209
00:10:41,850 --> 00:10:45,813
„Jazyk symbolických adres“,
který se snadněji čte a píše.
210
00:10:46,188 --> 00:10:49,608
Místo 0-1-0-0-0-1-1-1
211
00:10:49,858 --> 00:10:51,318
řekneme „ADD“ – přidat.
212
00:10:51,694 --> 00:10:58,200
Poté program, „assembler“
písmena A-D-D přeloží
213
00:10:58,283 --> 00:11:03,455
na příslušné nuly a jedničky.
214
00:11:03,580 --> 00:11:07,292
Na této úrovni se binární soustava
organizuje do písmen a čísel,
215
00:11:07,626 --> 00:11:10,379
stejně jako atomy
jsou uspořádané do molekul.
216
00:11:10,921 --> 00:11:15,217
Programování ale pořád bylo složité,
217
00:11:15,843 --> 00:11:19,513
protože různé počítače
používaly různé jazyky.
218
00:11:20,097 --> 00:11:24,810
Program napsaný pro jeden počítač
nepracoval na žádném jiném.
219
00:11:25,602 --> 00:11:27,187
Lidé si rychle uvědomili,
220
00:11:27,271 --> 00:11:29,481
že chceme zadávat věci způsobem,
221
00:11:29,565 --> 00:11:32,818
jakým je opravdu denně používáme.
222
00:11:33,193 --> 00:11:35,863
Jsou programovací jazyky
223
00:11:35,946 --> 00:11:39,825
sestavené pomocí
jazyka symbolických adres.
224
00:11:39,950 --> 00:11:42,953
A z těch jazyků jsme udělali nové.
225
00:11:43,328 --> 00:11:44,955
Určitě jste o nich slyšeli.
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, trochu C...
230
00:11:51,128 --> 00:11:53,756
Tak jako mluvené jazyky
jsou různé způsoby,
231
00:11:53,839 --> 00:11:56,717
jak ostatním sdělit tu samou myšlenku,
232
00:11:57,050 --> 00:12:00,012
programovací jazyky
jsou různé způsoby sdělení
233
00:12:00,137 --> 00:12:01,972
stejné myšlenky počítači.
234
00:12:02,347 --> 00:12:05,058
Máme více jazyků na vysoké úrovni,
235
00:12:05,142 --> 00:12:10,564
protože různé jazyky řeší různé problémy.
236
00:12:10,731 --> 00:12:12,024
Podívejte se na tyto.
237
00:12:12,191 --> 00:12:15,944
COBOL vznikl koncem 50. let,
238
00:12:16,028 --> 00:12:18,906
aby usnadnil programování podnikům.
239
00:12:19,239 --> 00:12:23,410
Velmi se podobá angličtině,
kdyby každá konverzace
240
00:12:23,494 --> 00:12:25,579
končila se „STOP RUN“.
241
00:12:26,497 --> 00:12:32,753
CPL vznikl v 60. letech
a obsahoval více vědeckých výpočtů.
242
00:12:33,212 --> 00:12:35,297
Je to jako biologická evoluce.
243
00:12:35,631 --> 00:12:38,717
Organismy jsou stále složitější
a vyvíjejí si znaky,
244
00:12:38,801 --> 00:12:41,637
které je lépe přizpůsobí
specifickému prostředí.
245
00:12:42,012 --> 00:12:45,933
Upřímně, jde i o vkus.
246
00:12:46,558 --> 00:12:50,521
Lidé se rádi vyjadřují různými prostředky.
247
00:12:50,896 --> 00:12:52,731
Třeba C++. Elon Musk ho nemusí.
248
00:12:52,856 --> 00:12:55,108
JE C++ OPRAVDU HROZNÝ JAZYK?
249
00:12:55,234 --> 00:12:56,151
ANO
250
00:12:56,360 --> 00:12:57,986
I vy jeden můžete vymyslet.
251
00:12:58,070 --> 00:13:02,741
Toto je skutečný vysokoúrovňový jazyk,
který se zcela skládá jen ze slova „búú“.
252
00:13:02,950 --> 00:13:04,910
Opravdu. Jmenuje se COW – kráva.
253
00:13:05,285 --> 00:13:08,956
Tento je zase z filmových replik
Arnolda Schwarzeneggera.
254
00:13:09,164 --> 00:13:13,252
Pokaždé, když si myslím, že už to je vše,
255
00:13:13,335 --> 00:13:20,050
někdo další vymyslí nový jazyk
a získá skupinu přívrženců.
256
00:13:20,175 --> 00:13:24,888
Takže vývoji nových jazyků
zdaleka není konec.
257
00:13:25,472 --> 00:13:29,017
Všechny ty jazyky jsou
stále založené na logice.
258
00:13:29,393 --> 00:13:32,312
Například programátor z
Netflixu by mohl říct:
259
00:13:32,396 --> 00:13:35,899
„Pokud se díváš přes dvě hodiny,
260
00:13:36,024 --> 00:13:37,150
zobrazit toto.“
261
00:13:37,609 --> 00:13:40,320
Aby ale programování
ovlivňovalo život většiny,
262
00:13:40,404 --> 00:13:42,531
většina lidí musí používat počítače.
263
00:13:42,739 --> 00:13:46,076
Počítače musely být
jednodušší, přívětivější,
264
00:13:46,159 --> 00:13:48,370
a to vyžadovalo další velký skok.
265
00:13:48,912 --> 00:13:50,497
Ten začal tady,
266
00:13:50,747 --> 00:13:54,334
v demu od Douga Engelbarta v roce 1968.
267
00:13:54,459 --> 00:13:56,753
Uvidíme obrazovku,
na které pracuje,
268
00:13:56,879 --> 00:14:01,425
a jak se sledované místo hýbe
zároveň s pohyby myši.
269
00:14:02,050 --> 00:14:06,346
Lidé dnes neprogramují tak,
že příkazy napíší na kus papíru,
270
00:14:06,430 --> 00:14:10,309
který pak předají někomu,
271
00:14:10,392 --> 00:14:11,476
kdo je zapíše.
272
00:14:11,560 --> 00:14:15,105
Posadíte se za obrazovku,
máte grafické uživatelské rozhraní.
273
00:14:15,355 --> 00:14:17,566
Dnes jim říkáme GUI.
274
00:14:18,025 --> 00:14:21,111
S GUI mohou lidé
programovat bez psaní.
275
00:14:22,487 --> 00:14:24,907
Nebo mohou kód používat jednodušeji.
276
00:14:25,240 --> 00:14:29,661
Obvykle pracujete
v programovacím prostředí,
277
00:14:30,287 --> 00:14:33,624
jako to, které tak krásně vyrobil
278
00:14:33,916 --> 00:14:36,501
Alan se svými společníky
279
00:14:36,585 --> 00:14:40,464
ve výzkumném středisku Xerox Palo Alto
na začátku 70. let.
280
00:14:40,714 --> 00:14:41,548
Alan.
281
00:14:41,715 --> 00:14:42,633
Tento Alan.
282
00:14:42,883 --> 00:14:46,053
Podle mě je to otec
osobní výpočetní techniky,
283
00:14:46,136 --> 00:14:50,265
protože byl první,
kdo tuto vizi pořádně představil.
284
00:14:50,515 --> 00:14:54,353
Musím přiznat, že tehdy jsem si myslel,
že je to sci-fi.
285
00:14:54,519 --> 00:14:56,730
Když se dějí velké věci,
286
00:14:58,065 --> 00:14:59,608
bývá za tím celá komunita.
287
00:14:59,900 --> 00:15:02,194
Park byl úžasný.
288
00:15:02,653 --> 00:15:04,196
Bylo to jako magie.
289
00:15:04,780 --> 00:15:08,450
Grafické uživatelské rozhraní
umožnilo milionům lidí
290
00:15:08,533 --> 00:15:13,121
používat počítače způsobem,
který je pro ně přirozený.
291
00:15:13,580 --> 00:15:16,750
Když Xerox v roce 1979
GUI poprvé inzeroval,
292
00:15:16,833 --> 00:15:20,170
ukázal, jak kód může změnit běžný život.
293
00:15:20,462 --> 00:15:22,756
Přijdete do kanceláře
a stroj Xerox
294
00:15:22,839 --> 00:15:25,008
vám na obrazovce ukáže ranní poštu.
295
00:15:25,092 --> 00:15:27,344
Brzy vám takové systémy Xerox
296
00:15:27,427 --> 00:15:29,805
pomohou spravovat váš nejcennější zdroj:
297
00:15:30,472 --> 00:15:31,306
informace.
298
00:15:31,848 --> 00:15:36,395
Byli tam lidé jako já a spousta lidí
v této komunitě výzkumníků
299
00:15:36,478 --> 00:15:38,105
chtěla zlepšit svět.
300
00:15:38,438 --> 00:15:41,733
Měli nápad, který byl hluboce spojený
301
00:15:41,858 --> 00:15:43,151
s lidskou augmentací.
302
00:15:43,610 --> 00:15:46,196
Něco, co bude reagovat na nás,
303
00:15:46,697 --> 00:15:47,864
veřejnost,
304
00:15:48,198 --> 00:15:50,784
běžného člověka a umožní nám dělat více
305
00:15:50,867 --> 00:15:53,245
než kdy předtím.
306
00:15:53,662 --> 00:15:56,039
Umožnilo nám to dělat více.
307
00:15:56,331 --> 00:15:58,875
GUI byly velkým skokem vpřed.
308
00:15:59,501 --> 00:16:03,630
A pak přišla další zásadní inovace.
309
00:16:05,382 --> 00:16:07,467
Nový způsob distribuce všeho,
310
00:16:07,551 --> 00:16:09,177
co s kódem můžeme udělat.
311
00:16:10,137 --> 00:16:12,264
Lidé v televizi začali předpovídat,
312
00:16:12,347 --> 00:16:14,433
co náhlý přístup ke kódu udělá.
313
00:16:14,808 --> 00:16:17,519
Představte si,
že si sednete s ranním kafem,
314
00:16:17,602 --> 00:16:20,439
zapnete domácí počítač
a přečtete si noviny.
315
00:16:20,522 --> 00:16:24,985
Představte si svět,
kde si doma okamžitě můžete zobrazit
316
00:16:25,068 --> 00:16:28,697
každé psané slovo,
každý obraz, každý film.
317
00:16:28,780 --> 00:16:33,744
Myslím, že jsme na počátku
něčeho vzrušujícího a děsivého.
318
00:16:33,827 --> 00:16:35,287
Je to jen nástroj, ne?
319
00:16:35,370 --> 00:16:36,204
Ne, není.
320
00:16:36,288 --> 00:16:40,667
Nejproslulejší softwarové produkty dnes
všechny tyto inovace využívají.
321
00:16:40,751 --> 00:16:44,671
Jeden student použil
vysokoúrovňový programovací jazyk PHP
322
00:16:44,755 --> 00:16:47,632
k tomu, aby něco sdíleného na internetu
323
00:16:47,716 --> 00:16:49,760
použil na počítačích s GUI.
324
00:16:50,093 --> 00:16:53,680
Popsal to
ve svém prvním TV rozhovoru v roce 2004.
325
00:16:53,972 --> 00:16:57,267
Je to online adresář,
který spojuje lidi skrz univerzity
326
00:16:57,350 --> 00:16:59,478
a jejich sociální sítě.
327
00:16:59,561 --> 00:17:02,731
Teď je nás 100 000,
takže kdo ví, kam se vydáme dál.
328
00:17:02,814 --> 00:17:05,275
Vydali jsme se k více než
329
00:17:05,358 --> 00:17:08,361
dvěma miliardám
uživatelů Facebooku každý měsíc.
330
00:17:08,695 --> 00:17:11,656
Programátoři dnes ovlivňují
životy miliard lidí.
331
00:17:11,907 --> 00:17:15,869
A to, jak pracují, nakupují,
jedí, randí a relaxují.
332
00:17:16,203 --> 00:17:17,537
Co teď děláte?
333
00:17:17,621 --> 00:17:21,208
Sledujete mě
ve webovém prohlížeči Netflixu.
334
00:17:23,376 --> 00:17:27,255
Netflix je kód,
který běží ve webovém prohlížeči,
335
00:17:27,339 --> 00:17:28,215
který je kód,
336
00:17:28,507 --> 00:17:33,804
který běží na počítači,
který byl vytvořen pomocí kódu.
337
00:17:34,054 --> 00:17:35,680
Jsou tam samé želvy.
338
00:17:37,599 --> 00:17:41,103
Skvělý kód je jako architekt muzea,
339
00:17:41,311 --> 00:17:45,982
o kterém denně miliony lidí přemýšlí
a chodí kolem něj.
340
00:17:46,191 --> 00:17:49,569
Programování se nic nevyrovná.
Je to jako čirá tvorba.
341
00:17:49,653 --> 00:17:52,197
Máte představu, jak by něco mělo fungovat,
342
00:17:52,364 --> 00:17:56,201
posadíte se k počítači
343
00:17:56,284 --> 00:17:58,078
a uskutečníte to.
344
00:17:58,161 --> 00:18:01,039
Je to velká zodpovědnost.
345
00:18:01,164 --> 00:18:04,000
Máte rychlostní limit.
346
00:18:04,167 --> 00:18:05,836
Ne víc než 100 km za hodinu.
347
00:18:06,711 --> 00:18:07,546
V pořádku.
348
00:18:07,712 --> 00:18:11,299
Ale co kdybyste měli auto a počítač říkal:
349
00:18:12,092 --> 00:18:15,053
„Toto auto
nepojede rychleji než 100 km/h?“
350
00:18:15,679 --> 00:18:18,056
Je to způsob,
jak ovládnout vaše chování.
351
00:18:18,140 --> 00:18:23,395
Ovládáním našich voleb
má kód často větší regulační účinek
352
00:18:23,478 --> 00:18:27,941
na naše životy,
než zákony kdy budou schopny.
353
00:18:28,525 --> 00:18:30,819
A to by mohlo být skvělé.
354
00:18:30,944 --> 00:18:35,198
V USA je každý rok
zhruba šest milionů autonehod.
355
00:18:35,282 --> 00:18:39,494
Podle analýzy za 94 % může řidič.
356
00:18:40,370 --> 00:18:43,165
Programování může ušetřit miliony životů.
357
00:18:43,665 --> 00:18:46,960
Ale může také životy
novými způsoby ohrozit.
358
00:18:47,460 --> 00:18:50,922
Mám takzvanou
hypertrofickou kardiomyopatii.
359
00:18:51,173 --> 00:18:56,219
To znamená, že mám velké srdce.
360
00:18:56,511 --> 00:18:58,096
Doslova.
361
00:18:58,180 --> 00:19:01,016
Má trojnásobnou velikost
běžného lidského srdce.
362
00:19:01,141 --> 00:19:05,812
Zjistila jsem to asi ve 30,
takže riziko náhlé smrti do 40 let
363
00:19:05,896 --> 00:19:07,272
se podstatně zvýšilo.
364
00:19:07,439 --> 00:19:10,025
Elektrofyziolog řekl, že to není problém,
365
00:19:10,108 --> 00:19:12,485
protože dostanu kardiostimulátor.
366
00:19:13,028 --> 00:19:15,030
Zařízení řídí kód.
367
00:19:15,697 --> 00:19:20,243
Před pár lety, když jsem byla těhotná,
mi bušilo srdce.
368
00:19:20,744 --> 00:19:24,748
Čtvrtina žen má bušení srdce,
je to naprosto normální.
369
00:19:25,207 --> 00:19:28,418
Ale můj přístroj si myslel,
že mám nebezpečný rytmus
370
00:19:28,501 --> 00:19:29,586
a dal mi šok.
371
00:19:29,669 --> 00:19:34,132
Výrobci přístroje nemají zájem
o elektrošokování těhotných žen.
372
00:19:34,216 --> 00:19:36,426
Je to doslova to poslední, co chtějí.
373
00:19:36,635 --> 00:19:39,262
Jen je to prostě nenapadlo.
374
00:19:39,346 --> 00:19:42,474
Jde o obrovskou řadu rozhodnutí,
375
00:19:43,141 --> 00:19:47,395
která musí udělat programátoři.
376
00:19:48,188 --> 00:19:53,735
Nevyhnutelně dojde
k nějaké kombinaci okolností,
377
00:19:53,818 --> 00:19:55,904
kterou nečekali.
378
00:19:56,238 --> 00:19:58,907
Takže když učíme programování,
379
00:19:59,032 --> 00:20:01,785
snažíme se učit,
380
00:20:02,244 --> 00:20:07,540
jak nad všemi těmi
různými podmínkami přemýšlet.
381
00:20:07,832 --> 00:20:10,168
Jak se snažit nic neopomenout,
382
00:20:10,293 --> 00:20:13,213
aniž by vás množství věcí,
383
00:20:13,380 --> 00:20:16,091
které musíte zvážit, ochromilo.
384
00:20:16,174 --> 00:20:20,011
Bude to o to složitější,
protože jsme začali programovat
385
00:20:20,136 --> 00:20:21,721
úplně novým způsobem.
386
00:20:22,305 --> 00:20:25,517
V tradičním programování
píšete instrukce pro počítač.
387
00:20:26,059 --> 00:20:28,895
Ale teď můžeme dát počítači
spoustu vstupů
388
00:20:28,979 --> 00:20:30,230
a spoustu výstupů
389
00:20:30,313 --> 00:20:33,525
a nechat ho si psát vlastní instrukce.
390
00:20:33,817 --> 00:20:37,404
V podstatě uděláte to, že počítači dáte
391
00:20:38,280 --> 00:20:39,739
spoustu příkladů
392
00:20:40,073 --> 00:20:43,660
a řeknete: „Tohle je párty.“
393
00:20:43,785 --> 00:20:45,328
A pak jsou tu jiné věci.
394
00:20:45,412 --> 00:20:47,163
Zubař: není párty.
395
00:20:47,330 --> 00:20:48,915
Učebna: není párty.
396
00:20:49,374 --> 00:20:52,168
Počítač se na příklady podívá
397
00:20:52,252 --> 00:20:55,005
a pokusí se sestavit klasifikační systém.
398
00:20:55,255 --> 00:20:57,173
To je strojové učení.
399
00:20:57,257 --> 00:20:59,968
Když dnes někdo řekne „umělá inteligence“,
400
00:21:00,552 --> 00:21:01,636
má na mysli tohle.
401
00:21:01,720 --> 00:21:06,641
Je to úplně jiný druh abstrakce
a způsob, jak něčeho dosáhnout,
402
00:21:06,725 --> 00:21:11,438
protože nesedí do způsobu,
jak na sebe všechno vršíme.
403
00:21:11,646 --> 00:21:14,232
Říkáme jim algoritmy strojového učení,
404
00:21:14,357 --> 00:21:17,736
protože počítač si instrukce tvoří sám.
405
00:21:18,069 --> 00:21:21,990
I ty se samozřejmě překládají
406
00:21:22,073 --> 00:21:24,451
do malinkých instrukcí.
407
00:21:25,201 --> 00:21:28,121
Překladač Google býval
více než milion řádků kódu.
408
00:21:28,538 --> 00:21:32,751
To je milion malinkých instrukcí,
které napsali lidé.
409
00:21:32,876 --> 00:21:37,005
V současné době
je překladač asi pět tisíc řádků kódu,
410
00:21:37,130 --> 00:21:40,008
který využívá strojové učení.
411
00:21:40,091 --> 00:21:46,639
Představte si, že v žádné fotce večírků
omylem nebyli černoši nebo Hispánci.
412
00:21:47,140 --> 00:21:50,060
Počítač by mohl usoudit,
že pravidlem večírků je,
413
00:21:50,143 --> 00:21:52,562
že jsou pozváni jen běloši a Asiaté.
414
00:21:52,812 --> 00:21:55,982
Spousta bělochů a Asiatů programuje.
415
00:21:56,733 --> 00:21:59,903
Z milionu důvodů bychom měli rozšířit,
416
00:22:00,028 --> 00:22:02,447
kdo se bude podílet na designu.
417
00:22:02,530 --> 00:22:05,325
Více životních zkušeností
znamená lepší otázky.
418
00:22:05,408 --> 00:22:09,662
Pokud ale stroj krmíte údaji
například z trestního soudního systému,
419
00:22:09,746 --> 00:22:13,208
které v sobě mají zabudovaný
strukturovaný rasismus,
420
00:22:13,291 --> 00:22:17,170
a vaši programátoři
vypadají jako z reklamy na diverzitu...
421
00:22:17,253 --> 00:22:22,384
různé rasy, tváře, společenské zázemí...
422
00:22:22,634 --> 00:22:25,303
stroj se pořád bude učit z vložených dat.
423
00:22:25,387 --> 00:22:28,139
Pokud to lidé nebudou aktivně opravovat,
424
00:22:28,223 --> 00:22:31,726
historické údaje povedou
k opakování chyb z minulosti.
425
00:22:33,812 --> 00:22:36,481
Příběh programování je o lidských ambicích
426
00:22:36,564 --> 00:22:38,358
a kreativitě.
427
00:22:38,566 --> 00:22:41,528
Start rakety Falcon 9.
428
00:22:41,611 --> 00:22:44,114
Viděli jsme,
co jsme považovali za nemožné.
429
00:22:44,697 --> 00:22:45,740
Černou díru.
430
00:22:46,366 --> 00:22:47,742
Stavíme nový svět
431
00:22:48,284 --> 00:22:50,286
se stále intuitivnějšími nástroji,
432
00:22:50,370 --> 00:22:52,122
které k vylepšení světa
433
00:22:52,664 --> 00:22:55,750
může použít více lidí.
434
00:22:56,126 --> 00:22:59,546
Byli jsme na cestě
ke zpřístupnění počítačů lidem
435
00:22:59,629 --> 00:23:02,382
a většímu souboru lidí.
436
00:23:02,507 --> 00:23:07,053
Tato revoluce se nám
posledních 50 let odehrává před očima.
437
00:23:07,262 --> 00:23:09,222
Proto je dnešní doba vzrušující.
438
00:23:09,973 --> 00:23:13,935
Je důležité si pamatovat,
že vše, co na počítači používáte,
439
00:23:14,227 --> 00:23:16,146
vytvořil nějaký člověk.
440
00:23:17,147 --> 00:23:21,317
Můžete být jedním z nich
a je velmi důležité, abyste jím byli.
441
00:23:21,401 --> 00:23:24,154
Můžete zásadním způsobem změnit svět.
442
00:23:24,571 --> 00:23:28,616
Existuje svět, který se bude řídit
pomocí strojového učení,
443
00:23:28,741 --> 00:23:32,162
daty, tradičním programováním
a mnoha jinými způsoby.
444
00:23:32,662 --> 00:23:35,123
Jako společnost musíme říct:
445
00:23:35,206 --> 00:23:37,584
„Máme silnou novou technologii,
446
00:23:38,251 --> 00:23:43,089
která může být skvělá,
ale neudělá se skvělou sama o sobě.“
447
00:24:08,990 --> 00:24:10,992
Překlad titulků: Ema Bícová