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á