1
00:00:09,510 --> 00:00:10,762
911, emergência?
2
00:00:11,679 --> 00:00:13,389
911, qual a emergência?
3
00:00:13,473 --> 00:00:14,932
911, qual a emergência?
4
00:00:15,058 --> 00:00:16,392
911, qua...
5
00:00:19,854 --> 00:00:24,400
Em 9 de abril de 2014,
o serviço de emergência de repente parou
6
00:00:24,484 --> 00:00:27,111
para milhões de pessoas
nos Estados Unidos.
7
00:00:27,779 --> 00:00:30,031
Caiu por mais de seis horas.
8
00:00:30,364 --> 00:00:33,367
Mais de 6 mil ligações de emergência
não foram atendidas.
9
00:00:33,910 --> 00:00:35,912
O governo rastreou o problema
a um computador
10
00:00:35,995 --> 00:00:38,873
num centro de encaminhamento
de chamadas em Englewood, Colorado.
11
00:00:39,082 --> 00:00:41,209
Era um simples erro de programação.
12
00:00:41,918 --> 00:00:43,961
O encarregado de programar
aquele computador
13
00:00:44,045 --> 00:00:47,507
escolheu um teto para o número de ligações
que poderia registrar,
14
00:00:47,840 --> 00:00:51,010
um limite que ele achou que o computador
nunca atingiria.
15
00:00:51,427 --> 00:00:54,222
Mas naquela noite em 2014, atingiu.
16
00:00:54,680 --> 00:00:56,933
O computador seguiu
perfeitamente as instruções.
17
00:00:57,016 --> 00:00:59,310
Alcançou o limite
e parou de encaminhar chamadas.
18
00:01:00,061 --> 00:01:01,979
O problema não era o computador,
19
00:01:02,105 --> 00:01:03,940
e não era um problema no programa.
20
00:01:04,482 --> 00:01:06,067
Foi a programação,
21
00:01:06,275 --> 00:01:09,362
o processo de tomada de decisão
pelo qual pessoas se comunicam
22
00:01:09,445 --> 00:01:10,488
com o computador.
23
00:01:10,571 --> 00:01:14,659
Este tipo de poder
vem com grandes responsabilidades éticas.
24
00:01:14,742 --> 00:01:15,910
Não há nada parecido.
25
00:01:15,993 --> 00:01:18,204
Nada substitui isso.
26
00:01:18,329 --> 00:01:19,747
Da mesma forma
27
00:01:19,831 --> 00:01:20,915
em que construtores
28
00:01:21,541 --> 00:01:23,751
determinam como sua vida
é vivida na cidade,
29
00:01:23,835 --> 00:01:28,840
programação controla como vivemos on-line,
o que, basicamente, é como vivemos.
30
00:01:29,507 --> 00:01:31,300
Não só quando entramos na internet,
31
00:01:31,384 --> 00:01:33,594
mas quando ligamos
pra serviços de emergência...
32
00:01:34,554 --> 00:01:35,596
ou vamos ao médico...
33
00:01:36,180 --> 00:01:37,598
ou entramos num carro.
34
00:01:37,890 --> 00:01:40,643
Estamos muito próximos
da programação, todos os dias.
35
00:01:41,602 --> 00:01:47,024
Mesmo assim, só um terço de um por cento
sabe como programar.
36
00:01:47,233 --> 00:01:49,986
Para a imensa maioria, é uma caixa preta.
37
00:01:50,695 --> 00:01:51,988
Mas não precisa ser.
38
00:01:52,446 --> 00:01:55,199
Como programação funciona?
39
00:01:55,658 --> 00:01:58,286
E que mundo novo
estamos construindo com ela?
40
00:01:59,287 --> 00:02:01,122
UMA SÉRIE DOCUMENTAL ORIGINAL NETFLIX
41
00:02:01,205 --> 00:02:02,540
O computador.
42
00:02:03,082 --> 00:02:05,835
Uma coleção engenhosa
de hardware eletrônico
43
00:02:05,918 --> 00:02:07,879
foi criada pelo homem.
44
00:02:08,087 --> 00:02:11,382
Não é que não tenhamos máquinas adequadas
pra resolver problemas,
45
00:02:11,465 --> 00:02:14,177
mas não temos descrições adequadas
de como resolvê-los.
46
00:02:14,260 --> 00:02:17,972
Quando se fala em programação,
parece muito difícil.
47
00:02:18,556 --> 00:02:22,685
É muito importante lembrar
que tudo o que você usa em um computador
48
00:02:22,768 --> 00:02:25,271
foi criado por um ser humano.
49
00:02:26,230 --> 00:02:27,648
CÓDIGO DE PROGRAMAÇÃO
50
00:02:31,944 --> 00:02:35,907
Imagine um alienígena perguntando:
"Qual a importância da programação?"
51
00:02:35,990 --> 00:02:37,283
Eu diria: "Sabe,
52
00:02:37,533 --> 00:02:41,412
vivemos nesta terra física
e, uns 50 anos atrás,
53
00:02:41,495 --> 00:02:44,582
um pequeno grupo de pessoas
começou a construir outro planeta.
54
00:02:44,665 --> 00:02:46,876
Mas não era físico. Um planeta virtual.
55
00:02:47,001 --> 00:02:50,213
Olhe pelas ruas, você vê pessoas andando
56
00:02:50,296 --> 00:02:52,548
com a cabeça abaixada e olhando o celular?
57
00:02:52,632 --> 00:02:54,133
Na verdade, estão em outro mundo.
58
00:02:54,383 --> 00:02:56,093
Programação é isso.
59
00:02:56,219 --> 00:02:58,054
São os alicerces deste outro mundo.
60
00:03:00,056 --> 00:03:03,476
Este tear é o ancestral
de todos os computadores e smartphones
61
00:03:03,559 --> 00:03:04,393
do mundo.
62
00:03:04,852 --> 00:03:06,854
Foi inventado em 1804,
63
00:03:06,938 --> 00:03:09,232
e a grande inovação eram estes cartões.
64
00:03:10,107 --> 00:03:13,194
Os buracos neles permitiam que só alguns
pinos passassem.
65
00:03:14,237 --> 00:03:16,405
Com milhares de buracos
em centenas de cartões,
66
00:03:16,489 --> 00:03:19,492
tecelões podiam fazer
padrões mais complexos que antes.
67
00:03:20,243 --> 00:03:22,620
Xales elaborados ficaram
muito populares na Europa.
68
00:03:23,037 --> 00:03:26,666
E o design dos tecidos podia ser
tão intricado que parecia desenhos,
69
00:03:26,916 --> 00:03:29,168
como este, do inventor do tear.
70
00:03:30,169 --> 00:03:33,422
Antes desses teares, fios individuais
precisavam ser selecionados à mão
71
00:03:33,547 --> 00:03:34,423
por "puxadores".
72
00:03:34,966 --> 00:03:36,801
As contas também eram feitas à mão,
73
00:03:36,884 --> 00:03:38,886
pelos chamados "computadores".
74
00:03:39,095 --> 00:03:40,972
Os primeiros computadores
eram pessoas.
75
00:03:41,681 --> 00:03:43,557
E as melhores máquinas que tínhamos
76
00:03:43,641 --> 00:03:45,518
só faziam um tipo de conta,
77
00:03:46,227 --> 00:03:48,229
como o ábaco, para somar e subtrair.
78
00:03:49,480 --> 00:03:51,857
O matemático britânico Charles Babbage
queria algo
79
00:03:51,941 --> 00:03:54,610
que pudesse fazer qualquer conta
que você quisesse,
80
00:03:54,777 --> 00:03:57,029
ou melhor, que você programasse.
81
00:03:57,780 --> 00:04:00,908
Ele propôs uma máquina
que chamou de "Máquina Analítica".
82
00:04:01,242 --> 00:04:04,662
A ideia de Babbage daria a ele
um lugar na História.
83
00:04:05,037 --> 00:04:10,167
Os computadores foram inventados
primeiro por Babbage,
84
00:04:10,710 --> 00:04:13,879
um inventor muito excêntrico.
85
00:04:14,046 --> 00:04:16,382
Babbage teve uma inspiração
pro funcionamento.
86
00:04:16,966 --> 00:04:19,593
Ele tinha uma cópia desta imagem
na parede de casa.
87
00:04:20,219 --> 00:04:23,347
A Máquina Analítica de Babbage,
como o tear de Jacquard,
88
00:04:23,431 --> 00:04:25,391
tinha partes físicas: "hardware."
89
00:04:25,599 --> 00:04:27,101
E, também como no tear,
90
00:04:27,184 --> 00:04:31,272
podia-se dar instruções ao hardware
na forma de cartões com buracos.
91
00:04:31,689 --> 00:04:33,065
Os pinos entravam,
92
00:04:33,149 --> 00:04:36,193
e a ausência de buracos
forçava outros pinos pra trás,
93
00:04:36,652 --> 00:04:38,988
criando uma cadeia de cálculos mecânicos.
94
00:04:39,864 --> 00:04:41,324
Cartões com buracos diferentes:
95
00:04:41,615 --> 00:04:42,825
são o software.
96
00:04:43,701 --> 00:04:46,203
Babbage nunca terminou
sua Máquina Analítica,
97
00:04:46,579 --> 00:04:50,416
mas uma jovem mulher trabalhando com ele
viu que seu potencial transformador
98
00:04:50,666 --> 00:04:52,126
estava além da Matemática.
99
00:04:52,668 --> 00:04:55,671
Ada Byron, condessa de Lovelace, escreveu:
100
00:04:56,005 --> 00:04:59,675
"Os limites da aritmética
foram ultrapassados quando a ideia
101
00:04:59,759 --> 00:05:02,011
de aplicar os cartões surgiu..."
102
00:05:02,261 --> 00:05:04,221
Ela viu o que Jacquard viu:
103
00:05:04,347 --> 00:05:06,891
os buracos podiam representar
mais que apenas números.
104
00:05:07,058 --> 00:05:08,267
Podiam ser padrões,
105
00:05:08,392 --> 00:05:09,310
música...
106
00:05:10,644 --> 00:05:12,271
ou frases completas.
107
00:05:12,772 --> 00:05:14,982
Você pode pensar nisso
como um código Morse.
108
00:05:15,274 --> 00:05:19,987
Cada letra em código Morse
é feita com apenas dois sinais:
109
00:05:20,071 --> 00:05:21,739
... ou ...
110
00:05:21,906 --> 00:05:22,865
É binário.
111
00:05:23,324 --> 00:05:26,452
E só com esses bipes,
podemos dizer qualquer coisa,
112
00:05:26,952 --> 00:05:30,790
como este pedido de socorro
enviado pelo Titanic em 1912.
113
00:05:31,457 --> 00:05:34,502
"SOS" não significa nada.
114
00:05:34,710 --> 00:05:37,880
É só muito simples de enviar
em código Morse.
115
00:05:38,089 --> 00:05:42,885
Também podemos pensar em cada letra
como uma combinação
116
00:05:42,968 --> 00:05:44,512
de zeros e uns.
117
00:05:44,637 --> 00:05:45,930
Parece familiar?
118
00:05:46,138 --> 00:05:47,640
Isso é código binário.
119
00:05:47,848 --> 00:05:51,769
E é com ele que transpomos a distância
entre a linguagem das máquinas e a humana.
120
00:05:51,894 --> 00:05:55,773
Cada um ou zero é um dígito binário
ou "bit".
121
00:05:55,940 --> 00:05:58,359
São os átomos da computação moderna.
122
00:05:58,484 --> 00:06:00,236
Talvez você conheça por outro nome:
123
00:06:00,653 --> 00:06:02,613
oito bits é um byte.
124
00:06:03,239 --> 00:06:07,576
Sabe aquela imagem no seu computador
que tem 1,1 megabytes?
125
00:06:08,160 --> 00:06:11,956
São oito milhões e oitocentos uns e zeros.
126
00:06:12,373 --> 00:06:16,919
Como os pontos e traços do código Morse
são só um jeito de escrever... e...
127
00:06:17,002 --> 00:06:20,297
os uns e zeros do código binário
são só um jeito de escrever
128
00:06:20,423 --> 00:06:22,508
o que está acontecendo
num computador moderno:
129
00:06:23,217 --> 00:06:24,802
carga ou não carga.
130
00:06:25,511 --> 00:06:27,346
Este é um circuito elétrico simples.
131
00:06:27,763 --> 00:06:30,599
Imagine milhões deles trabalhando juntos.
132
00:06:31,016 --> 00:06:32,476
Um computador hoje é assim.
133
00:06:33,018 --> 00:06:35,271
Em um circuito elétrico, isso é um bit.
134
00:06:35,604 --> 00:06:37,857
A lâmpada está apagada? Zero.
135
00:06:38,107 --> 00:06:39,567
Ligada? Um.
136
00:06:40,067 --> 00:06:42,069
Computadores só entendem eletricidade,
137
00:06:42,278 --> 00:06:44,947
então o que programadores fazem é,
138
00:06:45,489 --> 00:06:46,323
no fim das contas,
139
00:06:46,449 --> 00:06:49,368
só uma série de cargas ligadas
ou desligadas.
140
00:06:49,702 --> 00:06:53,205
Tudo funciona porque, junto,
do jeito certo,
141
00:06:53,414 --> 00:06:56,041
essas cargas podem representar lógica.
142
00:06:56,625 --> 00:07:00,754
Basicamente, lógica é uma série previsível
de fatos ou eventos,
143
00:07:01,255 --> 00:07:03,048
como fechar este interruptor...
144
00:07:04,467 --> 00:07:07,052
e este para tocar um sino.
145
00:07:09,054 --> 00:07:12,516
Na verdade, na computação,
chamamos isto de "Circuito AND Lógico".
146
00:07:13,476 --> 00:07:15,644
Ou "porta" lógica.
147
00:07:15,769 --> 00:07:18,439
Vamos ver se consigo fazer isso
sem queimar a mesa toda.
148
00:07:18,522 --> 00:07:21,567
Em uma porta AND,
ambos os circuitos precisam ser fechados
149
00:07:21,650 --> 00:07:22,818
para a luz acender.
150
00:07:23,235 --> 00:07:24,695
E há portas OR,
151
00:07:24,778 --> 00:07:28,199
em que a luz acende
se apenas um deles estiver fechado.
152
00:07:28,365 --> 00:07:29,700
Expliquemos de outra forma.
153
00:07:29,909 --> 00:07:34,371
Se um desses circuitos estiver fechado,
então, a luz liga.
154
00:07:34,497 --> 00:07:36,916
Esse tipo de frase "se... então"
155
00:07:36,999 --> 00:07:38,083
é um algoritmo.
156
00:07:38,292 --> 00:07:42,505
Na cultura popular de hoje,
a palavra "algoritmo" causa confusão.
157
00:07:42,755 --> 00:07:45,925
Já vimos isso antes,
esses algoritmos enlouquecerem!
158
00:07:46,008 --> 00:07:49,094
A forma como algoritmos funcionam
é um mistério para a maioria.
159
00:07:49,178 --> 00:07:51,847
O que raios é um algoritmo?
160
00:07:51,972 --> 00:07:54,892
Mas um algoritmo é só
um conjunto de orientações.
161
00:07:55,184 --> 00:07:56,644
Imagine ir à loja.
162
00:07:56,894 --> 00:07:59,522
Você pode virar à esquerda,
depois à direita.
163
00:07:59,647 --> 00:08:02,525
Ou só virar à direita e depois à esquerda.
164
00:08:02,900 --> 00:08:04,985
Ou virar à esquerda quatro vezes,
165
00:08:05,069 --> 00:08:06,111
dar a volta no parque,
166
00:08:06,195 --> 00:08:07,029
cruzar a avenida
167
00:08:07,112 --> 00:08:09,031
e virar quatro vezes à direita.
168
00:08:09,365 --> 00:08:12,076
Assim como há orientações diferentes
pra chegar a um lugar,
169
00:08:12,159 --> 00:08:14,578
em programação,
pode haver algoritmos diferentes
170
00:08:14,662 --> 00:08:15,996
pra resolver um problema.
171
00:08:16,372 --> 00:08:20,042
O objetivo é encontrar o mais elegante
e eficiente.
172
00:08:20,459 --> 00:08:22,795
Belos códigos não se repetem.
173
00:08:22,920 --> 00:08:24,922
É muito elegante. Poderoso.
174
00:08:25,631 --> 00:08:28,926
Computadores usando algoritmos
só fizeram o que pedimos,
175
00:08:29,134 --> 00:08:30,844
mas muito mais rápido,
176
00:08:31,136 --> 00:08:33,764
o que deixou as pessoas
muito mais poderosas.
177
00:08:34,223 --> 00:08:37,601
Quando cientistas começaram a desenvolver
a bomba de hidrogênio,
178
00:08:38,018 --> 00:08:40,437
primeiro usaram computadores humanos.
179
00:08:40,896 --> 00:08:42,815
Mas depois usaram este:
180
00:08:43,315 --> 00:08:47,152
o computador ENIAC realizou
cálculos termonucleares por seis semanas.
181
00:08:47,903 --> 00:08:50,197
Os resultados contribuíram diretamente
com isto,
182
00:08:51,323 --> 00:08:53,659
o primeiro teste bem-sucedido em 1952
183
00:08:54,076 --> 00:08:57,580
de uma bomba mil vezes mais poderosa
que as bombas atômicas
184
00:08:57,663 --> 00:09:00,708
jogadas em Hiroshima e Nagasaki
durante a Segunda Guerra.
185
00:09:01,500 --> 00:09:04,920
O poder da programação
amplificou a habilidade de as pessoas
186
00:09:05,421 --> 00:09:06,672
fazerem o que quisessem.
187
00:09:07,590 --> 00:09:11,135
Mas... nos anos 1940,
ainda dava muito trabalho.
188
00:09:11,468 --> 00:09:16,056
Escrever programas em zeros e uns
claramente não avança.
189
00:09:16,223 --> 00:09:19,018
As pessoas queriam mais do poder
que a programação deu.
190
00:09:19,310 --> 00:09:21,520
Mas queriam formas mais fáceis
de programar.
191
00:09:22,438 --> 00:09:27,776
A história desta ciência tem sido
a história de aproximar a programação
192
00:09:27,860 --> 00:09:29,028
da linguagem humana
193
00:09:29,403 --> 00:09:32,990
inventando o que quase todos
os programadores usam hoje:
194
00:09:33,115 --> 00:09:34,617
linguagens de programação.
195
00:09:35,200 --> 00:09:38,996
Comparadas a uns e zeros,
essas linguagens são bem abstratas.
196
00:09:39,580 --> 00:09:41,457
Abstração é algo difícil pra muita gente.
197
00:09:42,249 --> 00:09:45,669
Linguagens mais abstratas
resumem-se aos mesmos zeros e uns,
198
00:09:45,794 --> 00:09:48,213
mas achamos jeitos melhores
de organizá-los.
199
00:09:48,881 --> 00:09:50,966
Você pode pensar em termos de Biologia.
200
00:09:51,550 --> 00:09:53,135
Humanos são muito complexos,
201
00:09:53,218 --> 00:09:56,972
mas 99% de nossos corpos
é feito de apenas seis elementos.
202
00:09:57,348 --> 00:10:00,184
E você pode formar moléculas grandes.
203
00:10:00,267 --> 00:10:02,811
Entre essa camada da organização
204
00:10:02,895 --> 00:10:04,730
e a da forma viva mais simples,
205
00:10:04,813 --> 00:10:06,023
há um grande salto.
206
00:10:06,357 --> 00:10:07,608
E humanos têm cérebros,
207
00:10:07,691 --> 00:10:09,568
que fazem coisas tão avançadas
208
00:10:09,652 --> 00:10:12,488
que é difícil acreditar
que são feitos da mesma coisa.
209
00:10:12,946 --> 00:10:16,784
Computadores são meio assim,
mas muito mais simples.
210
00:10:17,951 --> 00:10:18,952
Essa é a boa notícia.
211
00:10:19,578 --> 00:10:22,915
A história da programação
é a história de subir esta caixa,
212
00:10:23,165 --> 00:10:25,250
afastando-se do binário para nos dar
213
00:10:25,334 --> 00:10:28,837
formas mais fáceis, rápidas
e poderosas de programar,
214
00:10:29,088 --> 00:10:32,049
sem ter de lidar, ou mesmo entender,
215
00:10:32,466 --> 00:10:34,718
as portas lógicas e binárias por trás.
216
00:10:35,344 --> 00:10:38,889
É isso que permite programadores
fazerem produtos que conhecemos bem.
217
00:10:39,306 --> 00:10:41,308
O primeiro passo para isso foi...
218
00:10:41,850 --> 00:10:45,813
"Linguagem assembly",
muito mais fácil de ler e escrever,
219
00:10:46,188 --> 00:10:49,608
em que, em vez de 0-1-0-0-0-1-1-1,
você diz:
220
00:10:49,858 --> 00:10:51,318
"Vamos chamar de 'add'",
221
00:10:51,694 --> 00:10:58,200
e há um programa chamado assembler
que traduz as letras.
222
00:10:58,283 --> 00:11:03,455
A-D-D para o equivalente apropriado
em zeros e uns.
223
00:11:03,580 --> 00:11:07,292
Neste nível, o binário está organizado
em letras e números,
224
00:11:07,626 --> 00:11:10,379
assim como átomos
se organizam em moléculas.
225
00:11:10,921 --> 00:11:15,217
Mas programar em linguagem assembly
ainda não era exatamente fácil
226
00:11:15,843 --> 00:11:19,513
porque todos esses computadores
usavam linguagens assembly diferentes.
227
00:11:20,097 --> 00:11:24,810
Se escrevesse um programa para um,
não funcionaria em nenhum dos outros.
228
00:11:25,102 --> 00:11:27,187
Muito rapidamente, começou-se a pensar
229
00:11:27,271 --> 00:11:29,440
que o que realmente queríamos
dar ao computador
230
00:11:29,523 --> 00:11:32,818
são coisas baseadas
no que usamos todos os dias.
231
00:11:33,193 --> 00:11:35,863
Há linguagens de programação
232
00:11:35,946 --> 00:11:39,825
que construímos usando
a linguagem assembly
233
00:11:39,950 --> 00:11:42,953
e, a partir destas linguagens,
construímos outras linguagens.
234
00:11:43,370 --> 00:11:44,955
Você provavelmente já ouviu falar.
235
00:11:45,038 --> 00:11:45,914
-LISP...
-BASIC...
236
00:11:45,998 --> 00:11:47,207
-Java...
-C++...
237
00:11:47,291 --> 00:11:49,042
-Python 3...
-HTML 5...
238
00:11:49,126 --> 00:11:51,044
PEARL, PHP, um pouco de C...
239
00:11:51,128 --> 00:11:53,756
Assim como linguagens faladas
são formas diferentes
240
00:11:53,839 --> 00:11:56,717
de expressar a mesma ideia
a outras pessoas,
241
00:11:57,050 --> 00:12:00,012
linguagens de programação
são formas diferentes de expressar
242
00:12:00,137 --> 00:12:01,972
a mesma ideia a computadores.
243
00:12:02,347 --> 00:12:05,058
Temos mais de uma linguagem de alto nível
244
00:12:05,142 --> 00:12:07,936
porque, primeiro, linguagens diferentes
245
00:12:08,020 --> 00:12:10,105
respondem a necessidades diferentes.
246
00:12:10,731 --> 00:12:12,024
Olhe essas duas.
247
00:12:12,191 --> 00:12:15,944
Esta, COBOL, foi criada
no fim dos anos 1950
248
00:12:16,028 --> 00:12:18,906
para facilitar que negócios
usassem programação.
249
00:12:19,239 --> 00:12:23,410
Parece bastante o inglês,
mas toda conversação
250
00:12:23,494 --> 00:12:25,579
terminaria em "STOP RUN".
251
00:12:26,497 --> 00:12:32,753
Esta, CPL, foi desenvolvida nos anos 1960
e incluía computação mais científica.
252
00:12:33,212 --> 00:12:35,297
É como evolução biológica.
253
00:12:35,631 --> 00:12:38,425
Um organismo fica mais complexo
e desenvolve características
254
00:12:38,509 --> 00:12:41,637
que o tornam mais adaptado
a seu ambiente específico.
255
00:12:42,012 --> 00:12:45,933
E, francamente, também é questão de gosto.
256
00:12:46,558 --> 00:12:50,521
Pessoas gostam de ferramentas diferentes
para se expressar.
257
00:12:50,604 --> 00:12:53,774
Por exemplo, a linguagem C++...
258
00:12:53,857 --> 00:12:56,068
Elon Musk não é um fã.
259
00:12:56,360 --> 00:12:57,611
Você podia inventar uma.
260
00:12:58,028 --> 00:13:02,533
Esta é uma linguagem de alto nível,
feita toda com a palavra "moo".
261
00:13:02,950 --> 00:13:04,910
É sério. Chama COW, vaca em inglês.
262
00:13:05,285 --> 00:13:08,956
Esta é feita de citações
de filmes do Arnold Schwarzenegger.
263
00:13:09,164 --> 00:13:13,252
Sempre que penso
"Acho que agora já deu",
264
00:13:13,335 --> 00:13:20,050
alguém inventa uma nova linguagem
e ela gera um grupo de devotos.
265
00:13:20,175 --> 00:13:24,888
Não vejo fim para a invenção
de novas linguagens.
266
00:13:25,472 --> 00:13:29,017
E todas essas linguagens
ainda se baseiam em lógica.
267
00:13:29,393 --> 00:13:32,312
Por exemplo, um programador
da Netflix poderia dizer:
268
00:13:32,396 --> 00:13:35,899
"Se estiver assistindo
há mais de duas horas,
269
00:13:36,024 --> 00:13:37,150
mostre isso."
270
00:13:37,609 --> 00:13:40,195
Mas, para programação impactar
a vida da maioria,
271
00:13:40,279 --> 00:13:42,531
a maioria tinha de usar computadores.
272
00:13:42,739 --> 00:13:44,658
Ou seja, eles precisavam ser mais fáceis,
273
00:13:44,783 --> 00:13:46,076
amigáveis,
274
00:13:46,159 --> 00:13:48,370
e, para isso, outro grande salto
era necessário.
275
00:13:48,912 --> 00:13:50,497
Que começou aqui,
276
00:13:50,747 --> 00:13:54,334
em uma demonstração feita
por Doug Engelbart em 1968.
277
00:13:54,459 --> 00:13:56,587
Veremos a tela
na qual ele está trabalhando
278
00:13:56,712 --> 00:13:58,547
e a forma como o ponto se move
279
00:13:58,630 --> 00:14:01,425
em conjunção com o mouse.
280
00:14:02,050 --> 00:14:06,346
Hoje, as pessoas não programam
escrevendo frases
281
00:14:06,430 --> 00:14:10,309
em um pedaço de papel
e depois entregando a alguém,
282
00:14:10,392 --> 00:14:11,476
que digita.
283
00:14:11,560 --> 00:14:15,105
Você senta em frente a uma tela,
há uma interface gráfica do usuário.
284
00:14:15,355 --> 00:14:17,566
Hoje, chamamos de GUIs.
285
00:14:18,025 --> 00:14:21,111
Com GUIs, as pessoas podem programar
sem digitar.
286
00:14:22,487 --> 00:14:24,907
Ou podem só usar programação
mais facilmente.
287
00:14:25,240 --> 00:14:29,661
Você está tipicamente operando
em um ambiente de programação
288
00:14:30,287 --> 00:14:34,958
do tipo que Alan e seus pares
289
00:14:35,042 --> 00:14:36,501
criaram de forma tão bela
290
00:14:36,585 --> 00:14:40,464
no Xerox Palo Alto Reasearch Center
no começo dos anos 1970.
291
00:14:40,714 --> 00:14:41,548
"Alan."
292
00:14:41,715 --> 00:14:42,633
Este Alan.
293
00:14:42,883 --> 00:14:46,053
Acho que ele é o pai
do computador doméstico,
294
00:14:46,136 --> 00:14:50,265
porque ele foi o primeiro
a realmente articular esta visão.
295
00:14:50,515 --> 00:14:54,353
E preciso confessar que, na época,
achei que era ficção científica.
296
00:14:54,436 --> 00:14:56,605
Quando algo grande realmente é feito,
297
00:14:58,106 --> 00:14:59,608
há toda uma comunidade por trás.
298
00:14:59,816 --> 00:15:02,110
E, nossa, Park era fantástico nisso.
299
00:15:02,653 --> 00:15:04,196
Parecia mágica.
300
00:15:04,780 --> 00:15:08,450
A interface gráfica de usuário
permitiu que outras milhões de pessoas
301
00:15:08,533 --> 00:15:12,871
usassem computadores
de um jeito natural para elas.
302
00:15:13,580 --> 00:15:16,750
Quando a Xerox divulgou GUIs
em 1979,
303
00:15:16,833 --> 00:15:20,170
mostraram como programação
podia mudar a rotina.
304
00:15:20,462 --> 00:15:22,923
Você chega ao escritório
e uma máquina Xerox
305
00:15:23,006 --> 00:15:25,008
apresenta uma mensagem de bom dia
na tela.
306
00:15:25,092 --> 00:15:27,344
Logo, sistemas Xerox como este
307
00:15:27,427 --> 00:15:29,721
ajudarão a administrar
seu recursos mais precioso:
308
00:15:30,472 --> 00:15:31,431
informação.
309
00:15:31,848 --> 00:15:34,893
Havia pessoas como eu, e muitas pessoas
310
00:15:34,977 --> 00:15:36,603
nesta comunidade de pesquisa
311
00:15:36,687 --> 00:15:38,105
queriam melhorar o mundo.
312
00:15:38,188 --> 00:15:41,733
Tiveram uma ideia muito relacionada
313
00:15:41,858 --> 00:15:43,026
a acréscimo humano.
314
00:15:43,610 --> 00:15:46,196
Algo que interagisse conosco,
315
00:15:46,697 --> 00:15:47,864
o público,
316
00:15:48,198 --> 00:15:50,784
a pessoa normal, e nos tornaria capazes
317
00:15:50,867 --> 00:15:53,245
de fazer mais do que antes.
318
00:15:53,662 --> 00:15:56,039
Realmente nos tornou capazes
de fazer mais.
319
00:15:56,331 --> 00:15:58,875
GUIs foram um grande salto neste espectro.
320
00:15:59,501 --> 00:16:03,630
Então, veio a próxima
inovação que mudou o mundo.
321
00:16:05,382 --> 00:16:07,467
Uma nova forma de distribuir tudo
322
00:16:07,551 --> 00:16:09,177
que podíamos fazer com programação.
323
00:16:10,137 --> 00:16:12,848
Na TV, pessoas começaram a prever
o que acesso repentino
324
00:16:12,931 --> 00:16:14,433
a tudo isso significaria.
325
00:16:14,808 --> 00:16:17,519
Imagine sentar-se para o café da manhã,
326
00:16:17,602 --> 00:16:20,439
e ligar seu computador
para ler o jornal do dia.
327
00:16:20,522 --> 00:16:24,985
Imagine um mundo em que todas as palavras
já escritas, todas as fotos de pinturas,
328
00:16:25,068 --> 00:16:28,697
todos os filmes já gravados
pudessem ser vistos na hora, de casa.
329
00:16:28,780 --> 00:16:33,744
Acho que estamos à beira
de algo maravilhoso e assustador.
330
00:16:33,827 --> 00:16:35,287
Mas é só uma ferramenta, não é?
331
00:16:35,370 --> 00:16:36,204
Não, não é.
332
00:16:36,288 --> 00:16:40,667
Os produtos de software que mais impactam
hoje usam todas essas inovações.
333
00:16:40,751 --> 00:16:44,671
Um estudante de faculdade usou
uma linguagem de alto nível, PHP,
334
00:16:44,755 --> 00:16:47,632
para fazer algo ser compartilhado
na internet,
335
00:16:47,716 --> 00:16:49,760
para ser usado em computadores com GUIs.
336
00:16:50,093 --> 00:16:53,680
Ele fez uma descrição,
em sua primeira entrevista na TV, em 2004.
337
00:16:53,972 --> 00:16:56,433
É um diretório on-line que conecta pessoas
338
00:16:56,516 --> 00:16:57,976
em universidades e faculdades,
339
00:16:58,060 --> 00:16:59,478
através de suas redes sociais.
340
00:16:59,561 --> 00:17:02,731
Agora temos 100 mil pessoas,
vai saber aonde chegaremos.
341
00:17:02,814 --> 00:17:07,027
Chegaríamos a mais
de dois bilhões de pessoas
342
00:17:07,152 --> 00:17:08,361
mensalmente no Facebook.
343
00:17:08,695 --> 00:17:11,656
Hoje, programadores moldam
a vida de bilhões de pessoas.
344
00:17:11,907 --> 00:17:15,869
Como trabalham, compram, comem,
namoram e relaxam.
345
00:17:16,203 --> 00:17:17,537
O que está fazendo agora?
346
00:17:17,621 --> 00:17:21,208
Está me vendo em um browser da Netflix.
347
00:17:23,376 --> 00:17:27,255
A própria Netflix é uma programação
que está sendo usada em um browser
348
00:17:27,339 --> 00:17:28,215
que é programado,
349
00:17:28,507 --> 00:17:33,804
que está sendo usado em um computador
projetado usando programação.
350
00:17:34,054 --> 00:17:35,680
É infinito.
351
00:17:37,599 --> 00:17:40,519
Programar bem é como ser o arquiteto
de um museu
352
00:17:41,311 --> 00:17:43,355
em que milhões de pessoas pensam,
353
00:17:43,480 --> 00:17:45,857
e visitam e passeiam e usam todo dia.
354
00:17:46,191 --> 00:17:49,569
Acho que não há nada como programar,
porque é como criação pura.
355
00:17:49,653 --> 00:17:51,863
Você tem uma ideia
de como algo deveria funcionar
356
00:17:52,364 --> 00:17:56,201
e senta em frente a um computador
357
00:17:56,284 --> 00:17:58,078
e transforma a ideia em realidade.
358
00:17:58,161 --> 00:18:01,039
Acho que há muita responsabilidade nisso.
359
00:18:01,164 --> 00:18:04,000
Você tem um limite de velocidade.
360
00:18:04,167 --> 00:18:05,669
Não mais de 90 km/h.
361
00:18:06,545 --> 00:18:07,420
Ótimo.
362
00:18:07,712 --> 00:18:11,299
Mas e se tivesse um carro
e o computador dissesse:
363
00:18:12,092 --> 00:18:15,053
"Este carro não passará de 90 km/h"?
364
00:18:15,846 --> 00:18:17,848
É uma forma diferente de controle.
365
00:18:18,056 --> 00:18:23,395
Muitas vezes, controlando nossas escolhas,
a programação cria
366
00:18:23,478 --> 00:18:27,941
um efeito regulatório quase mais profundo
que uma lei jamais conseguiria.
367
00:18:28,525 --> 00:18:30,819
E isso pode ser ótimo.
368
00:18:30,944 --> 00:18:35,198
Há por volta de seis milhões de acidentes
de carro nos EUA todo ano,
369
00:18:35,282 --> 00:18:39,494
e uma análise descobriu que 94%
são causados pelo motorista.
370
00:18:40,370 --> 00:18:43,165
Avanços em programação
poderiam salvar milhões de vidas.
371
00:18:43,665 --> 00:18:46,960
Mas também podem colocar vidas em risco
de novas formas.
372
00:18:47,460 --> 00:18:50,922
Tenho algo chamado
cardiomiopatia hipertrófica
373
00:18:51,006 --> 00:18:56,219
que é um termo médico
para o fato de eu ter um coração grande.
374
00:18:56,511 --> 00:18:58,096
Meu coração é literalmente grande.
375
00:18:58,180 --> 00:19:00,932
É umas três vezes maior
que um coração normal.
376
00:19:01,016 --> 00:19:05,937
Descobri quando tinha 30
e meu risco de morte súbita aos 40
377
00:19:06,021 --> 00:19:07,147
era muito alto.
378
00:19:07,439 --> 00:19:10,025
O eletrofisiologista disse:
"Não é um problema,
379
00:19:10,108 --> 00:19:12,485
porque você pode usar
um desfibrilador marcapasso."
380
00:19:13,028 --> 00:19:15,030
Ele funciona com programação.
381
00:19:15,697 --> 00:19:20,243
Alguns anos atrás, quando estava grávida,
meu coração estava palpitando.
382
00:19:20,744 --> 00:19:24,748
Um quarto das mulheres têm palpitação,
é completamente normal.
383
00:19:25,207 --> 00:19:28,418
Mas meu marcapasso achou
que estava em um ritmo perigoso
384
00:19:28,501 --> 00:19:29,586
e me deu choque.
385
00:19:29,669 --> 00:19:34,132
Os produtores não querem
grávidas levando choques.
386
00:19:34,216 --> 00:19:36,426
É literalmente o que menos querem.
387
00:19:36,635 --> 00:19:39,262
Mas não consideraram isso.
388
00:19:39,346 --> 00:19:42,474
Há uma enorme gama de decisões
389
00:19:43,141 --> 00:19:47,395
e as pessoas que programam
as tomarão.
390
00:19:48,188 --> 00:19:50,690
E, inevitavelmente,
391
00:19:51,066 --> 00:19:53,735
haverá uma combinação de circunstâncias
392
00:19:53,818 --> 00:19:55,904
que eles não anteciparão.
393
00:19:56,238 --> 00:19:58,198
O que tentamos ensinar
394
00:19:58,281 --> 00:20:00,450
quando ensinamos a arte
395
00:20:00,533 --> 00:20:01,910
da programação
396
00:20:02,244 --> 00:20:04,496
é como pensar
397
00:20:04,621 --> 00:20:07,540
em todas essas condições diferentes.
398
00:20:07,832 --> 00:20:10,168
Como tentar ser completo
399
00:20:10,293 --> 00:20:14,673
sem ficar paralisado
pelo número de coisas
400
00:20:14,756 --> 00:20:16,091
que pode ter de considerar.
401
00:20:16,174 --> 00:20:20,011
E isso será cada vez mais verdade,
porque começamos a programar
402
00:20:20,136 --> 00:20:21,721
de uma forma completamente nova.
403
00:20:22,305 --> 00:20:25,517
Na programação tradicional,
você escreve instruções pro computador.
404
00:20:26,059 --> 00:20:28,895
Mas agora somos capazes de dar
a um computador muitos inputs
405
00:20:28,979 --> 00:20:30,230
e muitos outputs
406
00:20:30,313 --> 00:20:33,525
e fazê-lo escrever as próprias instruções.
407
00:20:33,817 --> 00:20:37,404
O que você faz é dar ao computador
408
00:20:38,280 --> 00:20:39,739
vários exemplos
409
00:20:40,073 --> 00:20:43,660
e você diz: "Isso é uma festa."
410
00:20:43,785 --> 00:20:45,328
E há outras coisas.
411
00:20:45,412 --> 00:20:47,163
Escritório de dentista: não é festa.
412
00:20:47,330 --> 00:20:48,915
Sala de aula: não é festa.
413
00:20:49,374 --> 00:20:53,169
Então, o computador olha isso
e tenta construir
414
00:20:53,253 --> 00:20:55,005
um sistema de classificação.
415
00:20:55,255 --> 00:20:57,173
Isso é aprendizado de máquina.
416
00:20:57,257 --> 00:20:59,968
Hoje, se alguém fala
em inteligência artificial,
417
00:21:00,552 --> 00:21:01,469
é isso.
418
00:21:01,636 --> 00:21:05,390
É um tipo totalmente diferente
de abstração
419
00:21:05,473 --> 00:21:06,641
e de fazer as coisas,
420
00:21:06,725 --> 00:21:11,438
porque não se enquadra na forma
como empilhamos as coisas.
421
00:21:11,646 --> 00:21:15,442
São os algoritmos de aprendizado
de máquina, porque o computador cria
422
00:21:15,525 --> 00:21:17,736
as próprias orientações a seguir.
423
00:21:18,069 --> 00:21:21,990
Mas, claro, no fim das contas,
também são traduzidas
424
00:21:22,073 --> 00:21:24,451
em pequenas instruções.
425
00:21:25,201 --> 00:21:27,912
Google Tradutor tinha
mais de um milhão de linhas de código.
426
00:21:28,538 --> 00:21:32,751
São pessoas escrevendo
um milhão de pequenas instruções.
427
00:21:32,876 --> 00:21:38,256
Hoje, ele tem
umas quinhentas linhas de código
428
00:21:38,465 --> 00:21:40,008
de aprendizado de máquina.
429
00:21:40,091 --> 00:21:44,304
Imagine que, por um descuido,
nenhuma das fotos de festa que você pôs
430
00:21:44,387 --> 00:21:46,639
incluía uma pessoa negra ou latina.
431
00:21:47,140 --> 00:21:49,434
O computador podia decidir
como regra para festas
432
00:21:49,517 --> 00:21:52,562
que apenas pessoas brancas ou asiáticas
são convidadas.
433
00:21:52,812 --> 00:21:55,982
Há muitos caras brancos e asiáticos
que programam.
434
00:21:56,733 --> 00:22:01,321
Precisamos ampliar quem pode estar
nesta sala de planejamento,
435
00:22:01,404 --> 00:22:02,447
por milhares de razões.
436
00:22:02,530 --> 00:22:05,325
Haverá perguntas melhores
se houver mais experiência de vida.
437
00:22:05,408 --> 00:22:09,037
Mas, no fim das contas, se alimentar
os dados do sistema de aprendizado
438
00:22:09,120 --> 00:22:13,208
de um sistema de justiça criminal
que tem dados com racismo estrutural,
439
00:22:13,291 --> 00:22:15,668
e digamos que os programadores
do aprendizado
440
00:22:15,752 --> 00:22:17,170
têm todo tipo de aparência...
441
00:22:17,253 --> 00:22:22,384
cores de pele, rostos,
origem social diferentes...
442
00:22:22,634 --> 00:22:25,303
esse sistema de aprendizado
ainda aprenderá com os dados.
443
00:22:25,387 --> 00:22:28,139
Sem pessoas que corrijam isso ativamente,
444
00:22:28,223 --> 00:22:31,726
dados históricos nos levarão
a repetir os erros do passado.
445
00:22:33,812 --> 00:22:38,358
A história da programação
é a da ambição e criatividade humanas.
446
00:22:38,566 --> 00:22:41,528
Decolagem do foguete Falcon 9.
447
00:22:41,611 --> 00:22:44,030
Vimos o que achamos que nunca veríamos.
448
00:22:44,697 --> 00:22:45,740
Um buraco negro.
449
00:22:46,366 --> 00:22:47,742
Construímos um novo mundo,
450
00:22:48,284 --> 00:22:49,953
com mais ferramentas intuitivas
451
00:22:50,286 --> 00:22:52,122
que um maior número de pessoas pode usar
452
00:22:52,664 --> 00:22:55,750
para garantir que o mundo melhore.
453
00:22:56,126 --> 00:22:59,546
Estamos em uma jornada
para tornar computadores mais acessíveis
454
00:22:59,629 --> 00:23:02,382
a seres humanos e para mais seres humanos.
455
00:23:02,507 --> 00:23:07,053
Estamos vendo uma revolução diante
dos nossos olhos nos últimos 50 anos.
456
00:23:07,262 --> 00:23:09,139
Por isso é tão empolgante
estar vivo hoje.
457
00:23:09,973 --> 00:23:13,935
É muito importante lembrar
que tudo o que você usa no computador
458
00:23:14,227 --> 00:23:16,146
foi criado por um ser humano.
459
00:23:17,147 --> 00:23:19,816
Você pode ser um deles, na verdade,
e é muito importante
460
00:23:19,899 --> 00:23:21,317
que se torne um deles.
461
00:23:21,401 --> 00:23:24,154
Você pode mudar o mundo
de um jeito muito signifcativo.
462
00:23:24,571 --> 00:23:28,616
Há um mundo que será feito
usando aprendizado de máquina,
463
00:23:28,741 --> 00:23:32,162
e dados e programação tradicional,
cada vez mais.
464
00:23:32,662 --> 00:23:35,123
E o que fazemos como sociedade
é dizer:
465
00:23:35,206 --> 00:23:37,584
"Certo! Temos esta nova tecnologia potente
466
00:23:38,251 --> 00:23:43,089
e poder ser ótimo, mas não chegará lá
sozinha."
467
00:24:08,990 --> 00:24:10,992
Legendas: Thamires Araujo