1
00:00:09,510 --> 00:00:10,762
911, primo soccorso?
2
00:00:11,679 --> 00:00:13,389
911, qual è la sua emergenza?
3
00:00:13,473 --> 00:00:14,932
911, qual è l'emergenza?
4
00:00:15,058 --> 00:00:16,392
911...
5
00:00:19,854 --> 00:00:24,400
Il 9 aprile 2014 il servizio di emergenza
del 911 si fermò all'improvviso
6
00:00:24,484 --> 00:00:27,111
per milioni di persone negli Stati Uniti.
7
00:00:27,779 --> 00:00:30,031
Rimase fuori uso per più di sei ore.
8
00:00:30,364 --> 00:00:33,367
Più di seimila chiamate
finirono nel vuoto.
9
00:00:33,910 --> 00:00:35,912
Il governo risalì al problema: un PC
10
00:00:35,995 --> 00:00:38,706
in un centralino di Englewood,
in Colorado.
11
00:00:39,082 --> 00:00:41,250
Un semplice errore
di programmazione.
12
00:00:41,918 --> 00:00:43,961
I responsabili di quel computer
13
00:00:44,045 --> 00:00:47,507
decisero di programmarlo
con un limite massimo di chiamate,
14
00:00:47,840 --> 00:00:51,010
un limite che pensavano
non sarebbe mai stato raggiunto.
15
00:00:51,427 --> 00:00:54,222
Ma quella notte del 2014 fu raggiunto.
16
00:00:54,680 --> 00:00:56,933
Il computer seguì le istruzioni.
17
00:00:57,016 --> 00:00:59,310
Raggiunto il limite
smise di smistare le chiamate.
18
00:01:00,061 --> 00:01:01,979
Il problema non era il computer,
19
00:01:02,105 --> 00:01:03,940
o un bug nel programma.
20
00:01:04,482 --> 00:01:06,067
Era il programma stesso,
21
00:01:06,275 --> 00:01:09,362
il processo decisionale
con cui l'uomo comunica
22
00:01:09,445 --> 00:01:10,488
con il computer.
23
00:01:10,571 --> 00:01:14,659
Questo tipo di potere
comporta una grossa responsabilità etica.
24
00:01:14,742 --> 00:01:15,910
Non ha eguali.
25
00:01:15,993 --> 00:01:18,204
Non c'è niente che lo sostituisca.
26
00:01:18,329 --> 00:01:19,747
Proprio come
27
00:01:19,831 --> 00:01:21,290
chi costruisce una città
28
00:01:21,374 --> 00:01:23,751
influenza la vita di quella città,
29
00:01:23,835 --> 00:01:28,840
i programmi controllano la nostra vita
online, quindi la nostra vita in generale.
30
00:01:29,507 --> 00:01:33,719
Non solo quando andiamo su internet,
ma quando contattiamo i soccorsi...
31
00:01:34,554 --> 00:01:35,930
...o andiamo dal dottore...
32
00:01:36,305 --> 00:01:37,765
...o saliamo in macchina.
33
00:01:38,099 --> 00:01:40,643
Siamo circondati da codici,
ogni giorno.
34
00:01:41,602 --> 00:01:45,690
Eppure solo 1/3
dell'1% di noi è in grado di scriverli.
35
00:01:45,773 --> 00:01:47,024
PROGRAMMATORI AL MONDO
36
00:01:47,233 --> 00:01:49,986
La stragrande maggioranza
brancola nel buio.
37
00:01:50,695 --> 00:01:51,988
Ma si può rimediare.
38
00:01:52,446 --> 00:01:55,199
Come funziona davvero la programmazione?
39
00:01:55,658 --> 00:01:58,286
E che nuovo mondo stiamo costruendo?
40
00:01:59,287 --> 00:02:01,122
UNA DOCUSERIE ORIGINALE NETFLIX
41
00:02:01,205 --> 00:02:02,540
Il computer.
42
00:02:03,082 --> 00:02:05,835
Un'ingegnosa raccolta
di componenti elettronici
43
00:02:05,918 --> 00:02:07,879
creata dall'uomo.
44
00:02:08,087 --> 00:02:11,382
Abbiamo i macchiari
per risolvere i problemi
45
00:02:11,465 --> 00:02:14,177
ma mancano descrizioni adeguate
su come risolverli.
46
00:02:14,260 --> 00:02:17,972
Quando si parla di programmazione,
si pensa a qualcosa di complesso.
47
00:02:18,556 --> 00:02:22,685
Ricordiamoci che tutto ciò
che è presente su un computer
48
00:02:22,768 --> 00:02:25,271
è stato creato da un essere umano.
49
00:02:26,230 --> 00:02:27,648
PROGRAMMARE
50
00:02:31,944 --> 00:02:35,907
Immaginiamo un alieno che chiede:
"A che servono i codici? Cosa sono?"
51
00:02:35,990 --> 00:02:41,412
Gli direi: "Mettiamola così:
Sulla Terra, circa 50 anni fa,
52
00:02:41,495 --> 00:02:44,582
un gruppetto di persone ha iniziato
a costruire un altro pianeta.
53
00:02:44,665 --> 00:02:46,876
Non un pianeta fisico, ma uno virtuale.
54
00:02:47,001 --> 00:02:50,213
Se ti guardi intorno, per strada,
vedrai gente camminare
55
00:02:50,296 --> 00:02:52,548
con la testa china sul cellulare.
56
00:02:52,632 --> 00:02:54,091
Immersi in quell'altro mondo.
57
00:02:54,383 --> 00:02:56,093
Ecco cos'è un codice.
58
00:02:56,219 --> 00:02:58,054
Le fondamenta dell'altro mondo.
59
00:03:00,056 --> 00:03:04,393
Questo telaio è l'antenato di ogni
computer e smartphone sulla Terra.
60
00:03:04,852 --> 00:03:06,854
Fu inventato nel 1804,
61
00:03:06,938 --> 00:03:09,232
e la novità furono queste carte.
62
00:03:10,107 --> 00:03:13,194
I buchi di ogni carta
lasciavano passare solo alcuni spilli.
63
00:03:14,237 --> 00:03:16,405
Con migliaia di buchi
su centinaia di carte,
64
00:03:16,489 --> 00:03:19,492
i tessitori potevano riprodurre
molte più fantasie di prima.
65
00:03:20,243 --> 00:03:22,912
Gli scialli elaborati
divennero di moda in Europa.
66
00:03:23,037 --> 00:03:26,666
I ricami potevano essere così complessi
da sembrare dipinti,
67
00:03:26,916 --> 00:03:29,168
come questo, dell'inventore del telaio.
68
00:03:30,169 --> 00:03:33,422
Prima di questi telai,
i fili andavano selezionati a mano
69
00:03:33,547 --> 00:03:34,882
da garzoni specializzati.
70
00:03:34,966 --> 00:03:38,886
Anche i calcoli erano manuali,
fatti con i cosiddetti "calcolatori".
71
00:03:39,095 --> 00:03:41,013
I primi computer erano persone.
72
00:03:41,681 --> 00:03:45,810
Le migliori macchine a disposizione
potevano risolvere un solo problema,
73
00:03:46,227 --> 00:03:48,479
come l'abaco
per l'addizione e la sottrazione.
74
00:03:49,313 --> 00:03:51,857
Il matematico inglese Charles Babbage
voleva una macchina
75
00:03:51,941 --> 00:03:54,694
in grado di risolvere
qualsiasi problema matematico,
76
00:03:54,777 --> 00:03:57,029
essendo "programmato" per questo.
77
00:03:57,780 --> 00:04:00,908
Propose una macchina
chiamata "Motore Analitico".
78
00:04:01,242 --> 00:04:04,662
L'idea di Babbage
lo fece passare alla storia.
79
00:04:05,037 --> 00:04:10,167
I computer sono stati inventati
prima da Babbage,
80
00:04:10,710 --> 00:04:13,879
un eccentrico inventore inglese.
81
00:04:14,046 --> 00:04:16,382
Babbage ebbe l'ispirazione
per il suo funzionamento.
82
00:04:16,966 --> 00:04:19,593
Teneva una copia di questa foto
appesa a casa sua.
83
00:04:20,219 --> 00:04:23,347
Il motore analitico di Babbage,
come il telaio di Jacquard,
84
00:04:23,431 --> 00:04:25,391
aveva parti fisiche: gli hardware.
85
00:04:25,599 --> 00:04:27,101
E, come il telaio,
86
00:04:27,184 --> 00:04:31,272
gli si poteva dare istruzioni
attraverso carte forate.
87
00:04:31,689 --> 00:04:33,774
I fori lasciavano passare degli spilli
88
00:04:33,858 --> 00:04:36,360
e la loro assenza
rimandava indietro gli altri
89
00:04:36,652 --> 00:04:39,113
creando una catena di calcoli meccanici.
90
00:04:39,864 --> 00:04:41,324
Le carte forate
91
00:04:41,615 --> 00:04:42,825
sono i software.
92
00:04:43,701 --> 00:04:46,203
Babbage non portò mai a termine
il suo Motore Analitico,
93
00:04:46,579 --> 00:04:50,624
ma una giovane donna che lavorava con lui
vide che il suo potenziale rivoluzionario
94
00:04:50,750 --> 00:04:52,376
andava oltre la matematica.
95
00:04:52,668 --> 00:04:55,671
Ada Byron, contessa di Lovelace, scrisse:
96
00:04:56,005 --> 00:05:02,011
"I limiti dell'aritmetica furono superati
quando si ricorse alle carte forate..."
97
00:05:02,261 --> 00:05:04,221
Vide ciò che aveva visto Jacquard:
98
00:05:04,347 --> 00:05:06,974
i fori potevano essere
molto più che semplici numeri.
99
00:05:07,058 --> 00:05:08,267
Potevano essere disegni,
100
00:05:08,392 --> 00:05:09,310
musica...
101
00:05:10,644 --> 00:05:12,271
...o intere frasi.
102
00:05:12,772 --> 00:05:15,066
Lo si può considerare
una sorta di codice Morse.
103
00:05:15,274 --> 00:05:19,987
Ogni lettera dell'alfabeto Morse
è un insieme di due segni:
104
00:05:20,071 --> 00:05:21,739
...oppure...
105
00:05:21,906 --> 00:05:22,865
È binario.
106
00:05:23,324 --> 00:05:26,452
E quei semplici bip
permettono di dire qualsiasi cosa,
107
00:05:26,535 --> 00:05:29,330
come questa chiamata d'emergenza
inviata dal Titanic nel 1912.
108
00:05:29,413 --> 00:05:31,374
ABBIAMO COLPITO UN ICEBERG.
AFFONDIAMO...
109
00:05:31,457 --> 00:05:34,502
"SOS" non significa niente.
110
00:05:34,710 --> 00:05:37,880
È solo molto semplice da inviare
con il codice Morse.
111
00:05:38,089 --> 00:05:42,885
Si può pensare ogni lettera
come una combinazione
112
00:05:42,968 --> 00:05:44,512
di 0 e di 1.
113
00:05:44,804 --> 00:05:45,930
Lo riconoscete?
114
00:05:46,138 --> 00:05:47,640
Questo è un codice binario.
115
00:05:47,848 --> 00:05:51,769
Ed è così che colmiamo il divario
tra le macchine e il linguaggio umano.
116
00:05:51,894 --> 00:05:55,773
Ogni 1 o 0 è una cifra binaria,
o "bit".
117
00:05:55,940 --> 00:05:58,359
Sono gli atomi dell'informatica moderna.
118
00:05:58,484 --> 00:06:00,569
Forse li conoscete con un altro nome:
119
00:06:00,653 --> 00:06:02,613
otto bit fanno un byte.
120
00:06:03,239 --> 00:06:07,576
Avete presente la foto sul vostro PC
da 1.1 megabyte?
121
00:06:08,160 --> 00:06:11,956
Sono otto milioni
e ottocentomila zeri e uno.
122
00:06:12,373 --> 00:06:16,919
Così come i punti e le linee Morse
servono a scrivere...
123
00:06:17,002 --> 00:06:20,297
le serie di 0 e 1 del codice binario
sono un modo per scrivere
124
00:06:20,423 --> 00:06:22,508
ciò che accade in un computer:
125
00:06:23,217 --> 00:06:24,802
Carica, sì o no.
126
00:06:25,511 --> 00:06:27,555
Questo è un semplice circuito elettrico.
127
00:06:27,763 --> 00:06:30,599
Immaginate milioni di questi
che lavorano insieme.
128
00:06:31,016 --> 00:06:32,476
Il computer moderno.
129
00:06:33,018 --> 00:06:35,271
Su un circuito elettrico, questo è un bit.
130
00:06:35,604 --> 00:06:37,857
La lampadina è spenta? Zero.
131
00:06:38,107 --> 00:06:39,567
Accesa? Uno.
132
00:06:40,067 --> 00:06:42,194
I computer rispondono solo
a stimoli elettrici
133
00:06:42,278 --> 00:06:44,947
quindi ciò che i programmatori fanno,
134
00:06:45,489 --> 00:06:46,323
alla fin fine,
135
00:06:46,449 --> 00:06:49,368
è solo una serie di on e off.
136
00:06:49,702 --> 00:06:53,205
Funziona perché,
se disposti nella giusta sequenza,
137
00:06:53,414 --> 00:06:56,041
possono rappresentare una sequenza logica.
138
00:06:56,625 --> 00:07:00,754
In pratica, la logica è una serie
prevedibile di fatti o eventi,
139
00:07:01,255 --> 00:07:03,048
come chiudere quest'interruttore...
140
00:07:04,467 --> 00:07:07,136
...e quest'altro
per far suonare la campanella.
141
00:07:09,054 --> 00:07:12,516
Infatti, gli informatici
lo chiamano "Circuito logico AND".
142
00:07:13,476 --> 00:07:15,644
O "porta" logica.
143
00:07:15,769 --> 00:07:18,439
Vediamo se ci riesco
senza bruciare il tavolo.
144
00:07:18,522 --> 00:07:21,567
In una porta AND,
entrambi i circuiti devono essere chiusi
145
00:07:21,650 --> 00:07:22,902
perché si accenda la luce.
146
00:07:23,235 --> 00:07:24,695
Ci sono porte OR,
147
00:07:24,778 --> 00:07:28,282
in cui la luce si accende
se solo uno dei circuiti è chiuso.
148
00:07:28,365 --> 00:07:29,700
Mettiamola in un altro modo.
149
00:07:29,909 --> 00:07:34,371
Se uno di questi circuiti è chiuso,
allora accendi la luce.
150
00:07:34,497 --> 00:07:36,916
Questa sequenza "se allora"
151
00:07:36,999 --> 00:07:38,083
è un algoritmo.
152
00:07:38,292 --> 00:07:42,505
Oggi la parola "algoritmo"
crea un bel po' di confusione.
153
00:07:42,755 --> 00:07:45,925
Gli algoritmi impazziti
non sono una novità!
154
00:07:46,008 --> 00:07:49,094
Il funzionamento degli algoritmi
è un mistero per molti.
155
00:07:49,178 --> 00:07:51,847
Che cavolo è un algoritmo?
156
00:07:51,972 --> 00:07:54,892
Un algoritmo
è solo un insieme di istruzioni.
157
00:07:55,184 --> 00:07:56,810
Immaginate di andare in un negozio.
158
00:07:56,894 --> 00:07:59,522
Si può girare a sinistra e poi a destra.
159
00:07:59,647 --> 00:08:02,525
Oppure prima a destra e poi a sinistra.
160
00:08:02,900 --> 00:08:06,111
O anche girare quattro volte a sinistra,
fare un giro al parco,
161
00:08:06,195 --> 00:08:09,281
attraversare la strada,
e poi girare quattro volte a destra.
162
00:08:09,365 --> 00:08:12,076
Proprio come ci sono modi diversi
per raggiungere un posto,
163
00:08:12,159 --> 00:08:14,578
nella programmazione
ci sono diversi algoritmi
164
00:08:14,662 --> 00:08:16,288
per risolvere lo stesso problema.
165
00:08:16,372 --> 00:08:20,042
L'obiettivo è trovare
quello più elegante ed efficiente.
166
00:08:20,459 --> 00:08:22,795
Un bel codice non si ripete.
167
00:08:22,920 --> 00:08:24,922
È molto elegante. È efficace.
168
00:08:25,631 --> 00:08:29,051
I computer che eseguivano gli algoritmi
facevano quello che gli dicevamo,
169
00:08:29,134 --> 00:08:30,844
ma molto più velocemente,
170
00:08:31,136 --> 00:08:33,764
il che aumentava le potenzialità
per gli esseri umani.
171
00:08:34,223 --> 00:08:37,601
Quando gli scienziati iniziarono
a sviluppare la bomba a fusione,
172
00:08:38,018 --> 00:08:40,437
all'inizio usarono calcolatori umani.
173
00:08:40,896 --> 00:08:42,815
Ma poi passarono a questo:
174
00:08:43,315 --> 00:08:47,152
l'ENIAC fece calcoli termonucleari
per sei settimane.
175
00:08:47,903 --> 00:08:50,197
I risultati contribuirono a questo:
176
00:08:51,323 --> 00:08:53,701
il primo test andato a buon fine nel 1952
177
00:08:54,076 --> 00:08:57,580
di una bomba centinaia di volte
più potente di quella a fissione
178
00:08:57,663 --> 00:09:00,833
lanciata su Hiroshima e Nagasaki
nella Seconda Guerra Mondiale.
179
00:09:01,500 --> 00:09:04,920
La possibilità di programmare
permise agli esseri umani di realizzare
180
00:09:05,212 --> 00:09:06,463
ciò che volevano.
181
00:09:06,547 --> 00:09:07,506
STRATOSFERA
160 KM
182
00:09:07,590 --> 00:09:11,135
Ma negli anni '40
era tutto ancora macchinoso.
183
00:09:11,468 --> 00:09:16,056
La programmazione binaria
non era adattabile.
184
00:09:16,223 --> 00:09:19,226
Le persone volevano
ottenere di più dai codici.
185
00:09:19,310 --> 00:09:21,520
Ma volevano
un modo più semplice di scriverli.
186
00:09:22,438 --> 00:09:27,776
La storia della programmazione da allora
consiste nel renderla più simile possibile
187
00:09:27,860 --> 00:09:29,028
al linguaggio umano
188
00:09:29,403 --> 00:09:32,990
inventando ciò che
quasi tutti i programmatori usano oggi:
189
00:09:33,115 --> 00:09:34,908
i linguaggi di programmazione.
190
00:09:35,200 --> 00:09:39,288
Rispetto al codice binario,
si tratta di linguaggi piuttosto astratti.
191
00:09:39,580 --> 00:09:41,707
Astrazione è una parola difficile.
192
00:09:42,249 --> 00:09:45,669
I linguaggi più astratti
si riducono agli stessi uno e zeri,
193
00:09:45,794 --> 00:09:48,213
semplicemente organizzati
in modo migliore.
194
00:09:48,714 --> 00:09:50,966
Pensiamolo in termini biologici.
195
00:09:51,550 --> 00:09:53,135
Gli essere umani sono complessi,
196
00:09:53,218 --> 00:09:56,972
ma il 99% del corpo umano
è fatto di soli sei elementi.
197
00:09:57,348 --> 00:10:00,184
Da questi
si arriva a molecole più grandi.
198
00:10:00,267 --> 00:10:04,730
Da questo primo livello
al più semplice fra gli esseri viventi,
199
00:10:04,813 --> 00:10:06,273
il salto non è indifferente.
200
00:10:06,357 --> 00:10:07,608
Il cervello umano
201
00:10:07,691 --> 00:10:09,693
fa cose così avanzate
202
00:10:09,777 --> 00:10:12,529
che è difficile credere
sia composto dagli stessi elementi.
203
00:10:12,946 --> 00:10:16,784
È lo stesso nel caso dei computer,
solo che sono molto più semplici.
204
00:10:17,951 --> 00:10:19,203
Questa è la buona notizia.
205
00:10:19,578 --> 00:10:23,040
La storia della programmazione
consiste nel muovere questa casella,
206
00:10:23,165 --> 00:10:25,250
allontanandola dal codice binario
per trovare
207
00:10:25,334 --> 00:10:28,837
modi più facili e veloci di programmare
208
00:10:29,088 --> 00:10:32,049
senza dover fare i conti,
o addirittura comprendere,
209
00:10:32,466 --> 00:10:34,802
le porte logiche e binarie alla base.
210
00:10:35,344 --> 00:10:38,931
Questo permette ai programmatori
di creare i prodotti che conosciamo.
211
00:10:39,306 --> 00:10:41,308
Il primo passo per arrivarci fu...
212
00:10:41,850 --> 00:10:45,813
Il linguaggio assembly,
molto più facile da leggere e scrivere.
213
00:10:46,188 --> 00:10:49,608
Al posto di 0-1-0-0-0-1-1-1,
214
00:10:49,858 --> 00:10:51,318
usiamo "add",
215
00:10:51,694 --> 00:10:58,200
e un programma chiamato assembler
traduce le lettere
216
00:10:58,283 --> 00:11:03,455
A-D-D nei suoi equivalenti
in codice binario.
217
00:11:03,580 --> 00:11:07,459
A questo livello, il codice binario
è organizzato in lettere e numeri,
218
00:11:07,626 --> 00:11:10,379
come gli atomi
alla base delle molecole.
219
00:11:10,921 --> 00:11:15,217
Eppure, programmare in questo modo
restava difficile,
220
00:11:15,843 --> 00:11:19,513
perché computer diversi
usavano diversi linguaggi assembly.
221
00:11:20,097 --> 00:11:24,810
Il programma scritto per un computer
non funzionava per gli altri.
222
00:11:25,102 --> 00:11:27,187
Presto si iniziò a pensare
223
00:11:27,271 --> 00:11:32,818
di voler dare istruzioni al computer
con le parole che si usano tutti i giorni.
224
00:11:33,193 --> 00:11:35,863
Ci sono linguaggi di programmazione
225
00:11:35,946 --> 00:11:39,825
costruiti usando il linguaggio assembly
226
00:11:39,950 --> 00:11:42,911
e poi, da quei linguaggi,
ne abbiamo costruiti altri.
227
00:11:43,370 --> 00:11:44,955
Li avrete sentiti nominare.
228
00:11:45,038 --> 00:11:45,914
- LISP.
- BASIC.
229
00:11:45,998 --> 00:11:47,207
- JAVA.
- C++.
230
00:11:47,291 --> 00:11:49,042
- Python 3.
- HTML 5.
231
00:11:49,126 --> 00:11:51,044
PEARL, PHP, un po' di C...
232
00:11:51,128 --> 00:11:53,756
Proprio come le lingue parlate
sono modi diversi
233
00:11:53,839 --> 00:11:56,717
di esprimere lo stesso concetto
ad altre persone,
234
00:11:57,050 --> 00:12:00,012
i linguaggi di programmazione
sono modi diversi di esprimere
235
00:12:00,137 --> 00:12:01,972
lo stesso concetto ai computer.
236
00:12:02,347 --> 00:12:05,058
Abbiamo più di un linguaggio
di alto livello
237
00:12:05,142 --> 00:12:07,936
perché, prima di tutto, linguaggi diversi
238
00:12:08,020 --> 00:12:10,105
rispondono a bisogni diversi.
239
00:12:10,731 --> 00:12:12,024
Prendiamo questi due.
240
00:12:12,191 --> 00:12:15,944
Questo, COBOL,
fu creato alla fine degli anni '50
241
00:12:16,028 --> 00:12:18,906
per facilitare l'uso del codice
da parte delle aziende.
242
00:12:19,239 --> 00:12:23,410
Assomiglia molto all'inglese,
se non che ogni conversazione
243
00:12:23,494 --> 00:12:25,579
finisce con "STOP RUN".
244
00:12:26,497 --> 00:12:32,753
Questo, CPL, fu sviluppato negli anni '60
e includeva più calcoli scientifici.
245
00:12:33,212 --> 00:12:35,297
È come l'evoluzione biologica.
246
00:12:35,631 --> 00:12:38,425
Gli organismi più complessi
sviluppano caratteristiche
247
00:12:38,509 --> 00:12:41,637
che li rendono
più adatti al loro ambiente.
248
00:12:42,012 --> 00:12:45,933
Francamente,
è anche una questione di gusti.
249
00:12:46,558 --> 00:12:50,521
Alla gente
piace esprimersi in modo diverso.
250
00:12:50,604 --> 00:12:52,397
Ad esempio, il linguaggio C++...
251
00:12:52,481 --> 00:12:54,024
IL C++ FA DAVVERO COSÌ SCHIFO?
252
00:12:54,107 --> 00:12:56,068
Per Elon Musk sì.
253
00:12:56,360 --> 00:12:57,611
Potete inventarne uno voi.
254
00:12:58,028 --> 00:13:02,533
Questo è un linguaggio di alto livello
costituito solo dalla parola "moo".
255
00:13:02,950 --> 00:13:05,160
Dico sul serio. Si chiama COW, mucca.
256
00:13:05,285 --> 00:13:08,956
Questo è composto di citazioni di film
con Arnold Schwarzenegger.
257
00:13:09,164 --> 00:13:13,252
Ogni volta che penso
"Beh, adesso avremo finito",
258
00:13:13,335 --> 00:13:20,050
qualcuno inventa un nuovo linguaggio,
e si crea il suo gruppo di seguaci.
259
00:13:20,175 --> 00:13:24,888
Non vedo un limite
all'invenzione di nuovi linguaggi.
260
00:13:25,472 --> 00:13:29,017
E tutti questi linguaggi
sono basati sulla logica.
261
00:13:29,393 --> 00:13:32,312
Per esempio, un programmatore di Netflix
potrebbe dire
262
00:13:32,396 --> 00:13:35,899
"Se si sta guardando qualcosa
da più di due ore, mostra questo."
263
00:13:36,024 --> 00:13:37,526
CONTINUA A GUARDARE - ESCI
264
00:13:37,609 --> 00:13:40,195
Ma affinché i codici
avessero un impatto sul quotidiano,
265
00:13:40,279 --> 00:13:42,531
la gente doveva usare i computer.
266
00:13:42,739 --> 00:13:46,076
Quindi i computer
dovevano essere più facili, intuitivi,
267
00:13:46,159 --> 00:13:48,370
e questo necessitava
di un altro grande salto.
268
00:13:48,912 --> 00:13:50,497
Che ebbe inizio qui,
269
00:13:50,747 --> 00:13:54,334
in una dimostrazione
tenuta da Doug Englebart nel 1968.
270
00:13:54,459 --> 00:13:56,587
Fra un attimo vedremo lo schermo
271
00:13:56,712 --> 00:14:01,425
e il modo in cui si muove il localizzatore
insieme ai movimenti del mouse.
272
00:14:02,050 --> 00:14:06,346
Oggigiorno le persone
non programmano scrivendo frasi
273
00:14:06,430 --> 00:14:10,309
su un foglio per poi darle a qualcuno
274
00:14:10,392 --> 00:14:11,476
che le inserisca.
275
00:14:11,560 --> 00:14:15,105
Ci si siede davanti allo schermo
con un'interfaccia grafica.
276
00:14:15,564 --> 00:14:17,774
Le cosiddette GUI,
277
00:14:18,025 --> 00:14:21,236
che permettono di programmare
senza dover digitare nulla,
278
00:14:22,487 --> 00:14:24,907
o di impiegare i codici più facilmente.
279
00:14:25,240 --> 00:14:29,661
Generalmente
si lavora in un centro di programmazione
280
00:14:30,287 --> 00:14:36,501
come quello creato così bene
da Alan e i suoi compagni,
281
00:14:36,585 --> 00:14:40,464
al Centro di Ricerca Palo Alto
della Xerox nei primi anni '70.
282
00:14:40,714 --> 00:14:41,548
"Alan."
283
00:14:41,715 --> 00:14:42,633
Eccolo Alan.
284
00:14:42,883 --> 00:14:46,053
Lo considero il padre
del personal computer
285
00:14:46,136 --> 00:14:50,265
perché è stato il primo
a concepirlo in quel modo.
286
00:14:50,515 --> 00:14:54,353
E devo dire che, all'epoca,
pensavo fosse fantascienza.
287
00:14:54,603 --> 00:14:56,772
Quando si fanno grandi cose,
288
00:14:58,106 --> 00:14:59,691
di solito si è più di uno.
289
00:14:59,816 --> 00:15:02,110
E, cavolo, Park è stato fantastico.
290
00:15:02,653 --> 00:15:04,196
È stato magico.
291
00:15:04,780 --> 00:15:08,450
L'interfaccia grafica
ha permesso a milioni di persone
292
00:15:08,533 --> 00:15:12,871
di usare i computer in modo naturale.
293
00:15:13,538 --> 00:15:16,667
Quando la Xerox
pubblicizzò le GUI nel 1979,
294
00:15:17,209 --> 00:15:20,379
mostrò come la programmazione
poteva cambiare la vita quotidiana.
295
00:15:20,462 --> 00:15:22,923
Vai nel tuo ufficio,
e un apparecchio Xerox
296
00:15:23,006 --> 00:15:25,008
ti fornirà la tua posta su uno schermo.
297
00:15:25,092 --> 00:15:27,344
Presto, sistemi Xerox come questo
298
00:15:27,427 --> 00:15:29,721
aiuteranno a gestire
la risorsa più preziosa:
299
00:15:30,472 --> 00:15:31,431
le informazioni.
300
00:15:31,848 --> 00:15:34,893
C'erano persone come me
e molte persone
301
00:15:34,977 --> 00:15:38,105
in questo gruppo di ricerca
che volevano migliorare il mondo.
302
00:15:38,438 --> 00:15:41,733
Avevano un'idea strettamente connessa
303
00:15:41,858 --> 00:15:43,068
all'estensione dell'uomo.
304
00:15:43,610 --> 00:15:46,196
Qualcosa che interagisse con noi,
305
00:15:46,697 --> 00:15:47,864
il pubblico,
306
00:15:48,198 --> 00:15:50,784
la gente comune,
rendendoci in grado
307
00:15:50,867 --> 00:15:53,245
di fare più cose di prima.
308
00:15:53,662 --> 00:15:56,039
Ci ha resi in grado di fare di più.
309
00:15:56,331 --> 00:15:59,084
Le GUI furono un grande salto
in questo schema.
310
00:15:59,501 --> 00:16:03,630
E poi arrivò l'innovazione rivoluzionaria.
311
00:16:05,382 --> 00:16:09,177
Un nuovo modo di distribuire ciò
che potevamo fare con i codici.
312
00:16:10,137 --> 00:16:14,433
In televisione si iniziò a parlare
delle conseguenze di un tale programma.
313
00:16:14,808 --> 00:16:17,519
Immaginate
di essere seduti a bere il caffè,
314
00:16:17,602 --> 00:16:20,439
e di accendere il computer
per leggere le notizie.
315
00:16:20,522 --> 00:16:24,985
Immaginate un mondo in cui ogni
parola scritta, ogni foto di un dipinto,
316
00:16:25,068 --> 00:16:28,697
ogni film girato, possa essere visto
all'istante in casa vostra.
317
00:16:28,780 --> 00:16:33,744
Penso che siamo arrivati alla vetta
di qualcosa di bellissimo e terrificante.
318
00:16:33,827 --> 00:16:35,287
È solo uno strumento, no?
319
00:16:35,370 --> 00:16:36,204
No, non lo è.
320
00:16:36,288 --> 00:16:40,667
Oggi, i software più efficaci
sfruttano tutte queste innovazioni.
321
00:16:40,751 --> 00:16:44,671
Uno studente universitario usò
un linguaggio di programmazione, PHP,
322
00:16:44,755 --> 00:16:47,632
per rendere possibile
la condivisione su internet
323
00:16:47,716 --> 00:16:50,010
attraverso computer
con le interfacce grafiche.
324
00:16:50,093 --> 00:16:53,680
Ne parlò nella sua prima intervista in TV
nel 2004.
325
00:16:53,764 --> 00:16:56,433
È una rubrica virtuale
che permette di rimanere in contatto
326
00:16:56,516 --> 00:16:59,478
all'interno delle università
e nei social network locali.
327
00:16:59,561 --> 00:17:02,731
Ora contiamo 100.000 iscritti,
chissà a quanti arriveremo.
328
00:17:02,814 --> 00:17:08,320
Siamo arrivati a due miliardi di persone
su Facebook al mese.
329
00:17:08,695 --> 00:17:11,656
Oggi i programmatori plasmano
miliardi di vite umane.
330
00:17:11,907 --> 00:17:15,869
Riguardo a lavoro,
acquisti, cibo, affetti, relax.
331
00:17:16,203 --> 00:17:17,537
Che stai facendo ora?
332
00:17:17,621 --> 00:17:21,208
Mi stai guardando
su un web browser Netflix.
333
00:17:23,376 --> 00:17:27,255
Netflix stesso è un programma,
eseguito in un browser,
334
00:17:27,339 --> 00:17:28,381
ovvero un programma,
335
00:17:28,507 --> 00:17:33,804
eseguito su un computer
progettato usando dei programmi.
336
00:17:34,054 --> 00:17:35,680
È una matrioska.
337
00:17:37,599 --> 00:17:40,519
Il codice è come l'architetto di un museo
338
00:17:41,311 --> 00:17:43,355
a cui milioni di persone pensano,
339
00:17:43,480 --> 00:17:45,857
in cui vi camminano
e che usano tutti i giorni.
340
00:17:46,191 --> 00:17:49,569
Programmare non ha eguali,
è pura creazione.
341
00:17:49,653 --> 00:17:52,030
Pensi a come qualcosa
dovrebbe funzionare,
342
00:17:52,364 --> 00:17:56,201
ti siedi davanti al computer
343
00:17:56,284 --> 00:17:58,078
e cerchi di realizzarla.
344
00:17:58,161 --> 00:18:01,039
Penso che sia un ruolo
di grande responsabilità.
345
00:18:01,164 --> 00:18:04,000
Si ha un limite di velocità.
346
00:18:04,167 --> 00:18:05,836
Non più di 100 chilometri orari.
347
00:18:06,545 --> 00:18:07,420
Va bene.
348
00:18:07,712 --> 00:18:11,299
Ma se avessi un'auto
e il computer dicesse:
349
00:18:12,092 --> 00:18:15,053
"Quest'auto non può andare
più veloce di 100 km all'ora"?
350
00:18:15,637 --> 00:18:17,973
È un modo diverso
di controllare il comportamento.
351
00:18:18,056 --> 00:18:23,395
Spesso, controllando le nostre scelte,
i programmi nella nostra vita
352
00:18:23,478 --> 00:18:27,941
hanno un effetto regolatore
maggiore della legge.
353
00:18:28,525 --> 00:18:30,819
E potrebbe essere una bella cosa.
354
00:18:30,944 --> 00:18:35,198
Ci sono circa sei milioni di incidenti
negli Stati Uniti ogni anno,
355
00:18:35,282 --> 00:18:39,494
e un'analisi ha rilevato
che il 94% è causato da chi è alla guida.
356
00:18:40,370 --> 00:18:43,456
I progressi nella programmazione
potrebbero salvare milioni di vite.
357
00:18:43,665 --> 00:18:47,127
Ma possono anche mettere
delle vite in pericolo.
358
00:18:47,460 --> 00:18:50,922
Ho la cosiddetta
cardiomiopatia ipertrofica,
359
00:18:51,006 --> 00:18:56,219
che è il termine medico
per dire che ho un cuore grande.
360
00:18:56,511 --> 00:18:58,096
Letteralmente.
361
00:18:58,180 --> 00:19:00,932
È circa tre volte più grande
di un cuore normale.
362
00:19:01,016 --> 00:19:05,937
L'ho scoperto quando avevo circa 30 anni,
quindi il rischio di morire a 40
363
00:19:06,021 --> 00:19:07,147
era molto alto.
364
00:19:07,439 --> 00:19:10,025
L'elettrofisiologo ha detto
che non era un problema
365
00:19:10,108 --> 00:19:12,485
e potevo mettere un pacemaker.
366
00:19:13,028 --> 00:19:15,030
Questo dispositivo funziona con i codici.
367
00:19:15,697 --> 00:19:20,243
Un paio d'anni fa, quando ero incinta,
il mio cuore ebbe delle palpitazioni.
368
00:19:20,744 --> 00:19:24,748
Circa 1/4 delle donne
ha le palpitazioni, è normale.
369
00:19:25,207 --> 00:19:29,586
Ma il pacemaker pensò fosse sbagliato,
e mi diede la scossa.
370
00:19:29,669 --> 00:19:34,132
L'obiettivo dei produttori di pacemaker
non è farci prendere la scossa incinta.
371
00:19:34,216 --> 00:19:36,426
È l'ultima cosa che vogliono.
372
00:19:36,635 --> 00:19:39,262
Solo che non l'avevano considerato.
373
00:19:39,346 --> 00:19:42,474
Ci sono un sacco di decisioni
374
00:19:43,141 --> 00:19:47,395
che i programmatori dovranno prendere.
375
00:19:48,188 --> 00:19:50,690
E inevitabilmente
376
00:19:51,066 --> 00:19:53,735
ci sarà una combinazione di circostanze
377
00:19:53,818 --> 00:19:55,904
che non avevano previsto.
378
00:19:56,238 --> 00:19:58,198
Quello che cerchiamo di insegnare
379
00:19:58,281 --> 00:20:01,910
quando insegniamo
l'arte della programmazione
380
00:20:02,244 --> 00:20:04,496
è pensare e considerare
381
00:20:04,621 --> 00:20:07,540
tutti i diversi scenari.
382
00:20:07,832 --> 00:20:10,168
Come cercare di essere esaustivo
383
00:20:10,418 --> 00:20:16,091
senza farsi fermare dal numero di cose
che ci sono da considerare.
384
00:20:16,341 --> 00:20:20,011
E sarà sempre di più così
perché ora si programma
385
00:20:20,136 --> 00:20:21,930
in modi completamente diversi.
386
00:20:22,305 --> 00:20:25,517
Nel modo tradizionale si programmano
le istruzioni per un computer.
387
00:20:26,059 --> 00:20:28,895
Ora siamo in grado di dare al computer
una serie di input
388
00:20:28,979 --> 00:20:30,230
e di output
389
00:20:30,313 --> 00:20:33,525
affinché si scriva i programmi da solo.
390
00:20:33,817 --> 00:20:37,404
Ciò che si fa è dare al computer
391
00:20:38,280 --> 00:20:39,739
molteplici esempi
392
00:20:40,073 --> 00:20:43,660
categorizzandoli come:
"questa è una festa."
393
00:20:43,785 --> 00:20:47,247
Poi gli si dà altri input.
L'ufficio di un dentista: non è una festa.
394
00:20:47,330 --> 00:20:49,040
Una classe: non è una festa.
395
00:20:49,374 --> 00:20:53,169
Il computer guarda gli esempi
e cerca di creare
396
00:20:53,253 --> 00:20:55,046
un sistema di classificazione.
397
00:20:55,255 --> 00:20:57,173
Si chiama apprendimento automatico.
398
00:20:57,257 --> 00:20:59,968
Quando si parla
di intelligenza artificiale,
399
00:21:00,552 --> 00:21:01,553
si intende questo.
400
00:21:01,636 --> 00:21:05,390
È un tipo completamente diverso
di astrazione
401
00:21:05,473 --> 00:21:06,641
e di agire
402
00:21:06,725 --> 00:21:11,438
che si discosta dal modo
a cui siamo abituati.
403
00:21:11,646 --> 00:21:15,442
Si chiamano algoritmi di apprendimento
automatico perché il computer
404
00:21:15,525 --> 00:21:17,736
genera le proprie istruzioni da seguire.
405
00:21:18,069 --> 00:21:21,990
Ma, alla fine, anche loro vengono tradotte
406
00:21:22,073 --> 00:21:24,451
in piccole istruzioni.
407
00:21:25,201 --> 00:21:28,204
Google Traduttore prima era fatto
da milioni di linee di codici.
408
00:21:28,538 --> 00:21:32,751
Milioni di istruzioni date da persone.
409
00:21:32,876 --> 00:21:35,378
Al momento, Google Traduttore
410
00:21:35,462 --> 00:21:40,008
è composto da 500 linee
che sfruttano l'apprendimento automatico.
411
00:21:40,300 --> 00:21:44,304
Supponiamo che, a causa di una svista,
nessuna delle foto delle feste inserite
412
00:21:44,387 --> 00:21:46,639
includesse neri o ispanici.
413
00:21:46,765 --> 00:21:49,434
Il computer potrebbe decidere
che ci sia una regola per cui
414
00:21:49,517 --> 00:21:52,562
solo bianchi e asiatici
possono essere invitati.
415
00:21:52,812 --> 00:21:56,232
Ci sono un sacco di bianchi e asiatici
tra i programmatori.
416
00:21:56,733 --> 00:22:01,196
Dovremmo estendere la possibilità
di accedere alle sale di programmazione
417
00:22:01,279 --> 00:22:02,322
per milioni di motivi.
418
00:22:02,405 --> 00:22:05,325
Ne risulteranno domande migliori
grazie alle esperienze diverse.
419
00:22:05,408 --> 00:22:09,037
Ma, alla fine, se i dati forniti
al sistema di apprendimento automatico
420
00:22:09,120 --> 00:22:13,208
sono, ad esempio, il sistema giudiziario
con forti componenti razziste,
421
00:22:13,291 --> 00:22:17,170
anche se i programmatori
sembrano una pubblicità della Benetton,
422
00:22:17,253 --> 00:22:22,384
razze diverse, volti diversi,
diversi contesti sociali...
423
00:22:22,634 --> 00:22:25,303
il sistema imparerà comunque
dai dati forniti.
424
00:22:25,387 --> 00:22:28,139
Senza qualcuno che li corregga,
425
00:22:28,223 --> 00:22:31,226
i dati del passato ci porteranno
a ripetere gli errori del passato.
426
00:22:31,309 --> 00:22:33,728
L'INTELLIGENZA ARTIFICIALE
MANDA INNOCENTI IN PRIGIONE
427
00:22:33,812 --> 00:22:38,358
La storia della programmazione riguarda
l'ambizione e la creatività umana.
428
00:22:38,566 --> 00:22:41,528
Decollo del razzo Falcon 9.
429
00:22:41,611 --> 00:22:44,030
Abbiamo visto
ciò che credevamo impossibile.
430
00:22:44,697 --> 00:22:45,740
Un buco nero.
431
00:22:46,366 --> 00:22:47,867
Stiamo costruendo un nuovo mondo
432
00:22:48,284 --> 00:22:52,122
con strumenti sempre più intuitivi
e utilizzabili sempre più su larga scala
433
00:22:52,664 --> 00:22:55,750
per far sì che quel mondo sia migliore.
434
00:22:56,126 --> 00:22:59,546
Abbiamo intrapreso un percorso
per rendere i computer più accessibili
435
00:22:59,629 --> 00:23:02,382
all'uomo
e a un maggior numero di persone.
436
00:23:02,507 --> 00:23:07,178
Abbiamo visto il cambiamento
con i nostri occhi negli ultimi 50 anni.
437
00:23:07,262 --> 00:23:09,139
Ecco perché è emozionante
quest'epoca.
438
00:23:09,973 --> 00:23:13,935
È importante ricordare
che tutto ciò che usiamo al computer
439
00:23:14,227 --> 00:23:16,187
è stato creato da un essere umano.
440
00:23:17,147 --> 00:23:21,317
Si può essere una di quelle persone,
in realtà, ed è importante diventarlo.
441
00:23:21,401 --> 00:23:24,154
Si può cambiare il mondo
in un modo davvero fondamentale.
442
00:23:24,571 --> 00:23:28,616
C'è un mondo che verrà gestito
usando l'apprendimento automatico,
443
00:23:28,741 --> 00:23:32,162
i dati e la programmazione tradizionale
in modi sempre più disparati.
444
00:23:32,662 --> 00:23:35,123
E come società dobbiamo dire
445
00:23:35,206 --> 00:23:37,750
"Ok, abbiamo
questa tecnologia così avanzata
446
00:23:38,251 --> 00:23:43,089
e potrebbe essere fantastica,
ma non farà tutto da sola."