1
00:00:09,510 --> 00:00:10,762
112, Urgențe!
2
00:00:11,679 --> 00:00:13,389
112, ce urgență aveți?
3
00:00:15,058 --> 00:00:16,392
112, ce...
4
00:00:19,854 --> 00:00:24,400
Brusc, pe 9 aprilie 2014,
serviciul Urgențe n-a mai funcționat
5
00:00:24,484 --> 00:00:27,111
pentru milioane de oameni din SUA.
6
00:00:27,779 --> 00:00:30,031
N-a funcționat mai mult de șase ore.
7
00:00:30,364 --> 00:00:33,367
Peste 6.000 de apeluri de urgență
n-au putut fi realizate.
8
00:00:33,910 --> 00:00:35,912
Guvernul a găsit cauza problemei,
un computer
9
00:00:35,995 --> 00:00:38,706
dintr-o locație de direcționare
a apelurilor în Englewood, Colorado.
10
00:00:39,040 --> 00:00:41,209
A fost o simplă greșeală de programare.
11
00:00:41,918 --> 00:00:43,961
Programatorii sistemului acelui computer
12
00:00:44,045 --> 00:00:47,507
au ales să definească o limită
a jurnalului de apeluri,
13
00:00:47,840 --> 00:00:51,010
o limită care ei credeau
că nu va fi atinsă.
14
00:00:51,427 --> 00:00:54,222
Dar ea a fost atinsă,
în acea noapte din 2014.
15
00:00:54,555 --> 00:00:56,933
Computerul a executat
instrucțiunea perfect.
16
00:00:57,016 --> 00:00:59,310
A atins limita
și nu a mai direcționat apelurile.
17
00:01:00,061 --> 00:01:01,979
Nu era o problemă de computer
18
00:01:02,105 --> 00:01:04,065
și nici o greșeală în program.
19
00:01:04,482 --> 00:01:06,067
Ci programul în sine,
20
00:01:06,275 --> 00:01:09,362
procesul decizional
prin care oamenii comunică
21
00:01:09,445 --> 00:01:10,488
cu un computer.
22
00:01:10,571 --> 00:01:14,659
Genul acesta de putere
vine cu o responsabilitate etică uriașă.
23
00:01:14,742 --> 00:01:15,910
Nimic nu se compară cu asta.
24
00:01:15,993 --> 00:01:18,204
Nu există înlocuitor.
25
00:01:18,329 --> 00:01:19,747
Așa cum
26
00:01:19,831 --> 00:01:21,207
constructorii unui oraș
27
00:01:21,541 --> 00:01:23,751
definesc cum se va desfășura
activitatea în oraș,
28
00:01:23,835 --> 00:01:28,881
așa definesc programele de computer
activitatea online, practic viața noastră.
29
00:01:29,507 --> 00:01:31,300
Nu doar când intrăm pe Internet,
30
00:01:31,384 --> 00:01:33,594
ci și când sunăm
la serviciile de urgență,
31
00:01:34,053 --> 00:01:36,013
când mergem la doctor
32
00:01:36,180 --> 00:01:37,723
sau când urcăm în mașină.
33
00:01:37,890 --> 00:01:40,643
Permanent suntem aproape
de programele de computer.
34
00:01:41,602 --> 00:01:47,024
Însă doar 0,33% dintre noi
știu să programeze.
35
00:01:47,358 --> 00:01:50,194
Pentru majoritatea, e un mister.
36
00:01:50,695 --> 00:01:51,988
Dar nu trebuie să fie așa.
37
00:01:52,446 --> 00:01:55,199
Deci, ce înseamnă programarea?
38
00:01:55,658 --> 00:01:58,286
Și ce nouă lume construim cu ea?
39
00:01:59,287 --> 00:02:01,122
UN SERIAL DOCUMENTAR ORIGINAL NETFLIX
40
00:02:01,205 --> 00:02:02,540
Computerul.
41
00:02:03,082 --> 00:02:05,835
O combinație ingenioasă
de componente electronice
42
00:02:05,918 --> 00:02:07,879
creată de om.
43
00:02:08,087 --> 00:02:11,382
Avem mașinile corespunzătoare
pentru a ne rezolva problemele,
44
00:02:11,465 --> 00:02:14,177
dar nu avem descrierea
modului de rezolvare a problemelor.
45
00:02:14,260 --> 00:02:17,972
Când cineva vorbește despre programare,
te gândești că e dificilă.
46
00:02:18,556 --> 00:02:22,685
E important să reținem
că toate programele de computer
47
00:02:22,768 --> 00:02:25,271
au fost create de o ființă umană.
48
00:02:26,230 --> 00:02:28,191
PROGRAMAREA
49
00:02:31,944 --> 00:02:34,947
Dacă ne întreabă un extraterestru:
„Cât de importantă e programarea?
50
00:02:35,031 --> 00:02:35,907
Ce înseamnă?”
51
00:02:35,990 --> 00:02:37,283
I-aș spune: „Știi,
52
00:02:37,533 --> 00:02:41,412
noi trăim pe acest Pământ real,
iar acum 50 de ani,
53
00:02:41,495 --> 00:02:44,582
un mic grup de oameni au început
să construiască altă planetă.
54
00:02:44,665 --> 00:02:46,876
Dar nu una reală. Ci una virtuală.
55
00:02:47,001 --> 00:02:50,213
Dacă privești în jurul tău pe stradă
vezi oamenii mergând
56
00:02:50,296 --> 00:02:52,548
cu capul aplecat și cu ochii în telefon.
57
00:02:52,632 --> 00:02:54,300
Ei chiar sunt pe altă planetă.
58
00:02:54,383 --> 00:02:56,093
Asta înseamnă programarea.
59
00:02:56,219 --> 00:02:58,054
Sunt elementele
care alcătuiesc cealaltă lume.
60
00:03:00,056 --> 00:03:03,476
Acest război de țesut e predecesorul
computerelor și telefoanelor
61
00:03:03,559 --> 00:03:04,393
existente în lume.
62
00:03:04,852 --> 00:03:06,854
A fost inventat în 1804,
63
00:03:06,938 --> 00:03:09,482
iar cartelele constituie marea inovație.
64
00:03:10,107 --> 00:03:13,194
Găurile din fiecare cartelă
permiteau trecerea unui anume ac.
65
00:03:14,237 --> 00:03:16,405
Având mii de găuri în sute de cartele,
66
00:03:16,489 --> 00:03:19,492
se puteau țese modele
mai complexe ca oricând.
67
00:03:20,243 --> 00:03:22,828
Șalurile complexe erau la modă în Europa.
68
00:03:23,037 --> 00:03:26,832
Modelul țesăturii era uneori așa complex,
încât părea un desen,
69
00:03:26,916 --> 00:03:29,210
ca acesta,
care-l reprezintă pe inventator.
70
00:03:30,169 --> 00:03:33,422
Înainte de aceste războaie,
firele individuale erau selectate manual
71
00:03:33,547 --> 00:03:34,423
de „ajutoarele de țesut”.
72
00:03:34,966 --> 00:03:36,801
Atunci și matematica se făcea manual
73
00:03:36,884 --> 00:03:38,886
de persoane numite „computer”.
74
00:03:39,095 --> 00:03:41,138
Primele computere erau oameni.
75
00:03:41,681 --> 00:03:43,557
Și cei mai performanți oameni
76
00:03:43,641 --> 00:03:45,768
puteau rezolva doar un tip de problemă,
77
00:03:46,227 --> 00:03:48,562
ca și abacul folosit
la adunări și scăderi.
78
00:03:49,438 --> 00:03:51,857
Matematicianul britanic Charles Babbage
voia o mașină
79
00:03:51,941 --> 00:03:54,610
care să rezolve orice problemă doreai,
80
00:03:54,777 --> 00:03:57,029
sau, mai degrabă,
pe care o programai să o rezolve.
81
00:03:57,780 --> 00:04:00,908
A proiectat o mașină
numită „Motor analitic”.
82
00:04:01,242 --> 00:04:04,662
Această idee îi va asigura
locul în istorie.
83
00:04:05,037 --> 00:04:10,167
Computerele au fost inventate de Babbage,
84
00:04:10,710 --> 00:04:13,879
un inventator britanic excentric.
85
00:04:14,046 --> 00:04:16,549
Babbage își imaginase și cum va funcționa.
86
00:04:16,882 --> 00:04:19,760
Ținea o copie a acestei picturi în casă.
87
00:04:20,219 --> 00:04:23,347
Motorul analitic al lui Babbage,
ca și războiul lui Jacquard,
88
00:04:23,431 --> 00:04:25,391
aveau componente fizice, hardware-ul.
89
00:04:25,599 --> 00:04:27,101
Ca la războiul de țesut,
90
00:04:27,184 --> 00:04:31,272
puteai da comenzi hardware-ului
prin cartelele perforate.
91
00:04:31,689 --> 00:04:33,065
Găurile permiteau intrarea acelor,
92
00:04:33,149 --> 00:04:36,193
iar absența lor făcea acele să se retragă,
93
00:04:36,652 --> 00:04:39,196
declanșând o serie de calcule
efectuate mecanic.
94
00:04:39,822 --> 00:04:41,282
Cartelele perforate
95
00:04:41,615 --> 00:04:42,825
reprezintă software-ul.
96
00:04:43,701 --> 00:04:46,203
Babbage n-a finalizat Motorul analitic,
97
00:04:46,579 --> 00:04:50,583
dar o tânără care colabora cu el
a înțeles potențialul imens al acesteia,
98
00:04:50,791 --> 00:04:52,251
dincolo de problemele matematice.
99
00:04:52,668 --> 00:04:55,671
Ada Byron, contesă de Lovelace a scris:
100
00:04:56,005 --> 00:04:59,675
„Am trecut dincolo de aritmetică
în momentul în care
101
00:04:59,759 --> 00:05:02,011
a apărut ideea folosirii
cartelelor perforate.”
102
00:05:02,261 --> 00:05:04,221
Ea și Jacquard au înțeles același lucru:
103
00:05:04,347 --> 00:05:06,891
găurile puteau reprezenta
și altceva, nu doar numere.
104
00:05:07,058 --> 00:05:08,267
Puteau fi tipare,
105
00:05:08,392 --> 00:05:09,310
muzică...
106
00:05:10,644 --> 00:05:12,271
sau întregi fraze.
107
00:05:12,772 --> 00:05:14,982
E similar cu codul Morse.
108
00:05:15,274 --> 00:05:19,987
În codul Morse, fiecare literă
este reprezentată de două semne,
109
00:05:20,071 --> 00:05:21,739
adică...
110
00:05:21,906 --> 00:05:22,865
în cod binar.
111
00:05:23,324 --> 00:05:26,452
Cu acele două sunete
putem exprima tot,
112
00:05:26,952 --> 00:05:30,790
cum ar fi acest semnal de urgență
trimis de Titanic în 1912.
113
00:05:31,457 --> 00:05:34,502
„SOS” nu înseamnă nimic.
114
00:05:34,710 --> 00:05:37,880
Dar e foarte ușor de trimis
în codul Morse.
115
00:05:38,089 --> 00:05:42,885
Vă puteți imagina că fiecare literă
poate fi reprezentată de combinație
116
00:05:42,968 --> 00:05:44,512
de zero și unu.
117
00:05:44,637 --> 00:05:45,930
Pare familiar?
118
00:05:46,138 --> 00:05:47,640
Acesta e codul binar.
119
00:05:47,848 --> 00:05:51,769
Acesta face tranziția între limbajul
oamenilor și cel al mașinilor.
120
00:05:51,894 --> 00:05:55,773
Fiecare unu sau zero
reprezintă o cifră binară sau un „bit.”
121
00:05:55,940 --> 00:05:58,359
Aceștia sunt atomii programării moderne.
122
00:05:58,484 --> 00:06:00,236
Poate îi știți și sub alt nume:
123
00:06:00,653 --> 00:06:02,613
opt biți alcătuiesc un octet.
124
00:06:03,239 --> 00:06:07,576
Știți poza aia din computer
care are 1,1 megaocteți?
125
00:06:08,160 --> 00:06:11,956
Are 8.800.000 de zero și unu.
126
00:06:12,373 --> 00:06:16,919
Așa cum codul morse folosește
puncte și linii ca să scrie...
127
00:06:17,002 --> 00:06:20,297
codul binar folosește zero și unu
ca să reprezinte
128
00:06:20,423 --> 00:06:22,716
ce se întâmplă în computerele moderne:
129
00:06:23,217 --> 00:06:25,052
cu sau fără sarcina electrică.
130
00:06:25,428 --> 00:06:27,555
Acesta e un circuit electric simplu.
131
00:06:27,763 --> 00:06:30,599
Imaginați-vă milioane lucrând în tandem.
132
00:06:30,975 --> 00:06:32,476
Acesta e un computer.
133
00:06:32,935 --> 00:06:35,438
Într-un circuit electric, acesta e un bit.
134
00:06:35,604 --> 00:06:37,857
Lumina stinsă înseamnă „zero”.
135
00:06:38,107 --> 00:06:39,567
Lumina aprinsă înseamnă „unu”.
136
00:06:40,067 --> 00:06:42,194
Computerele înțeleg doar electricitatea,
137
00:06:42,278 --> 00:06:44,947
deci tot ce fac programatorii,
138
00:06:45,489 --> 00:06:46,323
până la urmă,
139
00:06:46,449 --> 00:06:49,368
e să deschidă
și să închidă niște circuite.
140
00:06:49,702 --> 00:06:53,205
Totul funcționează pentru că,
dacă le conectăm corect,
141
00:06:53,414 --> 00:06:56,041
acele sarcini electrice
reprezintă operațiuni logice.
142
00:06:56,625 --> 00:07:00,754
Operațiunile logice sunt
serii predictibile de evenimente,
143
00:07:01,255 --> 00:07:03,257
cum ar fi închiderea acestui întrerupător
144
00:07:04,467 --> 00:07:07,136
și a acestuia,
ca să facem clopoțelul să sune.
145
00:07:09,054 --> 00:07:12,516
Programatorii numesc această operație,
„circuit logic ȘI”.
146
00:07:13,476 --> 00:07:15,644
Sau o „poartă logică”.
147
00:07:15,769 --> 00:07:18,439
Să vedem dacă pot face asta
fără să ard masa.
148
00:07:18,522 --> 00:07:21,567
Într-o poartă ȘI,
ambele circuite trebuie să fie închise
149
00:07:21,650 --> 00:07:22,818
ca să se aprindă lumina.
150
00:07:23,235 --> 00:07:24,695
Avem și porți SAU,
151
00:07:24,778 --> 00:07:28,199
în care lumina se aprinde
dacă unul dintre circuite e închis.
152
00:07:28,365 --> 00:07:29,700
Vă puteți gândi așa.
153
00:07:29,909 --> 00:07:34,371
Dacă unul dintre circuite e închis,
atunci lumina se aprinde.
154
00:07:34,497 --> 00:07:36,916
Această secvență
„if - then” (dacă - atunci)
155
00:07:36,999 --> 00:07:38,083
e un algoritm.
156
00:07:38,292 --> 00:07:42,505
În cultura pop de azi, cuvântul „algoritm”
creează multă confuzie.
157
00:07:42,755 --> 00:07:45,925
Am mai văzut asta,
algoritmii au luat-o razna!
158
00:07:46,008 --> 00:07:49,094
Modul de lucru al algoritmilor
e un mister pentru majoritatea oamenilor.
159
00:07:49,178 --> 00:07:51,847
Dar ce naiba e un algoritm?
160
00:07:51,972 --> 00:07:55,017
Un algoritm e ca un traseu.
161
00:07:55,184 --> 00:07:56,769
Imaginați-vă că mergeți la magazin.
162
00:07:56,894 --> 00:07:59,522
O puteți lua la stânga, apoi la dreapta.
163
00:07:59,647 --> 00:08:02,733
Sau invers.
164
00:08:02,900 --> 00:08:04,985
Sau puteți face de patru ori stânga,
165
00:08:05,069 --> 00:08:06,111
apoi fugiți prin parc,
166
00:08:06,195 --> 00:08:07,029
traversați strada,
167
00:08:07,112 --> 00:08:09,031
apoi faceți de patru ori la dreapta.
168
00:08:09,365 --> 00:08:12,076
Așa cum puteți ajunge într-un loc
pe mai multe trasee,
169
00:08:12,159 --> 00:08:14,578
în programare pot exista
mai mulți algoritmi
170
00:08:14,662 --> 00:08:16,121
pentru aceeași problemă.
171
00:08:16,288 --> 00:08:20,084
Scopul e de a-l găsi
pe cel mai eficient și elegant.
172
00:08:20,459 --> 00:08:22,795
Programele elegante nu sunt repetitive.
173
00:08:22,920 --> 00:08:24,922
Sunt frumoase, sunt performante.
174
00:08:25,548 --> 00:08:28,926
Computerele care rulează algoritmii
fac doar ce le-am spus noi să facă,
175
00:08:29,134 --> 00:08:30,844
dar mult mai repede,
176
00:08:31,136 --> 00:08:33,764
ceea ce i-a făcut mai puternici pe oameni.
177
00:08:34,223 --> 00:08:37,768
Când savanții au creat
prima bombă cu fuziune,
178
00:08:38,018 --> 00:08:40,563
inițial au folosit computere umane.
179
00:08:40,896 --> 00:08:42,815
Apoi au apelat la acesta,
180
00:08:43,232 --> 00:08:47,236
computerul ENIAC a făcut calcule nucleare
timp de șase săptămâni.
181
00:08:47,903 --> 00:08:50,197
A contribuit direct la asta,
182
00:08:51,323 --> 00:08:53,659
primul test reușit din 1952,
183
00:08:54,076 --> 00:08:57,580
o bombă de sute de ori mai puternică
decât bombele cu fisiune
184
00:08:57,663 --> 00:09:00,874
aruncate la Hiroshima și Nagasaki
în Al Doilea Război Mondial.
185
00:09:01,500 --> 00:09:04,920
Puterea de realiza programe de computer
a amplificat capacitatea oamenilor
186
00:09:05,421 --> 00:09:06,839
de a face ce-și doreau.
187
00:09:07,590 --> 00:09:11,135
Dar, în anii '40, încă era mult de muncă.
188
00:09:11,468 --> 00:09:16,056
Scrierea programelor cu zero și unu
nu e scalabilă.
189
00:09:16,223 --> 00:09:19,184
Oamenii voiau să scoată
și mai mult din programare.
190
00:09:19,310 --> 00:09:21,520
Dar voiau un mod mai ușor de a programa.
191
00:09:22,521 --> 00:09:27,776
De atunci, istoria programării a însemnat
transformarea codului de computer
192
00:09:27,860 --> 00:09:29,028
în limbajul uman,
193
00:09:29,403 --> 00:09:32,990
inventând ceea ce folosesc
azi programatorii,
194
00:09:33,115 --> 00:09:34,617
limbajele de programare.
195
00:09:35,200 --> 00:09:38,996
Comparat cu scrierea de zero și unu,
aceste limbaje sunt destul de abstracte.
196
00:09:39,580 --> 00:09:41,457
„Abstract” e un cuvânt dificil
pentru oameni.
197
00:09:42,249 --> 00:09:45,669
Majoritatea limbajelor abstracte
folosesc tot zero și unu,
198
00:09:45,794 --> 00:09:48,380
doar că organizate mai bine.
199
00:09:48,797 --> 00:09:51,008
Vă puteți gândi ca la biologie.
200
00:09:51,425 --> 00:09:53,135
Oamenii sunt ființe complexe,
201
00:09:53,218 --> 00:09:57,097
dar 99% din corpul nostru
e alcătuit din doar șase elemente.
202
00:09:57,348 --> 00:10:00,184
Poți continua spre moleculele mari.
203
00:10:00,267 --> 00:10:02,811
Între modul acesta de organizare
204
00:10:02,895 --> 00:10:04,730
și cel următor, cel mai simplu organism,
205
00:10:04,813 --> 00:10:06,023
e un salt important.
206
00:10:06,273 --> 00:10:07,608
Iar oamenii au creier,
207
00:10:07,691 --> 00:10:09,568
care face lucruri atât de avansate,
208
00:10:09,652 --> 00:10:12,488
încât e greu de crezut
că e alcătuit din aceleași elemente.
209
00:10:12,946 --> 00:10:16,784
Și computerele sunt așa,
doar că mult mai simple.
210
00:10:17,951 --> 00:10:19,078
Ăsta e un lucru bun.
211
00:10:19,536 --> 00:10:22,873
Povestea programării
este cea a ridicării acestei casete,
212
00:10:23,165 --> 00:10:25,250
a desprinderii de limbajul binar,
213
00:10:25,334 --> 00:10:28,962
pentru ca programarea să fie mai ușoară,
mai rapidă și mai performantă,
214
00:10:29,088 --> 00:10:32,049
fără să avem de-a face sau să înțelegem
215
00:10:32,424 --> 00:10:34,677
logica binară din spate.
216
00:10:35,344 --> 00:10:38,889
Asta permite programatorilor
să creeze produsele ce ne sunt familiare.
217
00:10:39,306 --> 00:10:41,308
Primul pas spre asta a fost...
218
00:10:41,850 --> 00:10:45,813
Limbajul de asamblare,
care era mai ușor de scris și de citit,
219
00:10:46,188 --> 00:10:49,608
unde în loc să scrii în cod-mașină
220
00:10:49,858 --> 00:10:51,443
scriai funcția „add” (adunare),
221
00:10:51,694 --> 00:10:55,197
iar un program, asamblorul,
222
00:10:55,489 --> 00:10:58,200
traducea literele scrise,
223
00:10:58,283 --> 00:11:03,455
A, D, D în echivalentele lor în cod binar.
224
00:11:03,580 --> 00:11:07,292
La acest nivel, codul binar
e organizat în litere și cifre,
225
00:11:07,626 --> 00:11:10,379
ca atomii care alcătuiesc moleculele.
226
00:11:10,921 --> 00:11:15,217
Dar programarea în limbaj de asamblare
încă nu era suficient de ușoară.
227
00:11:15,843 --> 00:11:19,680
Pentru că toate computerele
folosesc limbaje de asamblare diferite.
228
00:11:20,097 --> 00:11:24,810
Un program pentru un computer
nu funcționa pe altele.
229
00:11:25,102 --> 00:11:27,187
Oamenii au înțeles repede
230
00:11:27,271 --> 00:11:29,440
că comenzile introduse în computere
231
00:11:29,523 --> 00:11:32,818
trebuie să aibă legătură
cu activitățile noastre obișnuite.
232
00:11:33,193 --> 00:11:35,863
Avem limbajele de programare
233
00:11:35,946 --> 00:11:39,825
construite pe baza limbajelor de asamblare
234
00:11:39,950 --> 00:11:42,953
și apoi, din aceste limbaje de programare
am construit altele.
235
00:11:43,370 --> 00:11:44,955
Probabil le știți numele.
236
00:11:45,038 --> 00:11:45,914
- LISP.
- BASIC.
237
00:11:45,998 --> 00:11:47,207
- Java.
- C++.
238
00:11:47,291 --> 00:11:49,042
- Python 3.
- HTML 5.
239
00:11:49,126 --> 00:11:51,044
PEARL, PHP, puțin C...
240
00:11:51,128 --> 00:11:53,756
Așa cum le putem exprima celorlalți o idee
241
00:11:53,839 --> 00:11:56,717
folosind mai multe limbi vorbite,
242
00:11:57,050 --> 00:12:00,012
așa folosim limbajele de programare
ca moduri diferite de a exprima
243
00:12:00,137 --> 00:12:01,972
aceeași idee computerelor.
244
00:12:02,347 --> 00:12:05,058
Avem mai multe limbaje de nivel înalt
245
00:12:05,142 --> 00:12:07,936
pentru că fiecare limbaj
246
00:12:08,020 --> 00:12:10,272
se pliază pe nevoi diferite.
247
00:12:10,731 --> 00:12:12,024
Uitați-vă la acestea două.
248
00:12:12,191 --> 00:12:15,944
COBOL, creat la sfârșitul anilor '50,
249
00:12:16,028 --> 00:12:18,906
a facilitat utilizarea
programării de către companii.
250
00:12:19,239 --> 00:12:23,410
Seamănă cu engleza,
doar că fiecare conversație
251
00:12:23,494 --> 00:12:25,579
se termină cu „STOP RUN” (oprire rulare).
252
00:12:26,497 --> 00:12:32,753
CPL a fost dezvoltat în anii '60
și a inclus elemente de știință.
253
00:12:33,212 --> 00:12:35,464
E ca evoluția organismelor.
254
00:12:35,631 --> 00:12:38,425
Pe măsură ce organismele devin
mai complexe, capătă caracteristici
255
00:12:38,509 --> 00:12:41,804
care le fac mai bine adaptate
la diverse medii.
256
00:12:42,012 --> 00:12:45,933
Sincer, e și o chestie de preferință.
257
00:12:46,558 --> 00:12:50,521
Oamenii folosesc instrumente diferite
pentru a se exprima.
258
00:12:50,604 --> 00:12:53,774
De exemplu, limbajul de programare C++.
259
00:12:53,857 --> 00:12:56,068
Lui Elon Musk nu-i place.
260
00:12:56,360 --> 00:12:57,736
Oricine poate inventa unul.
261
00:12:58,028 --> 00:13:02,533
Acesta e un limbaj de nivel înalt
alcătuit numai din cuvântul „mu”.
262
00:13:02,950 --> 00:13:04,910
Serios. Se numește VACĂ.
263
00:13:05,285 --> 00:13:08,956
Acesta e alcătuit din citate
din filmele lui Arnold Schwarzenegger.
264
00:13:09,164 --> 00:13:13,252
De fiecare dată când cred că am terminat,
265
00:13:13,335 --> 00:13:20,050
cineva inventează un limbaj nou
care capătă admiratori.
266
00:13:20,175 --> 00:13:24,888
Nu cred se va termina vreodată
cu inventarea limbajelor de programare.
267
00:13:25,472 --> 00:13:29,017
Toate aceste limbaje au la bază logica.
268
00:13:29,393 --> 00:13:32,312
De exemplu, un programator Netflix
poate spune:
269
00:13:32,396 --> 00:13:35,899
„Dacă te-ai uitat mai mult de două ore,
270
00:13:36,024 --> 00:13:37,150
afișează asta.”
271
00:13:37,609 --> 00:13:40,195
Pentru ca programarea
să afecteze viețile oamenilor,
272
00:13:40,279 --> 00:13:42,531
aceștia trebuie să folosească computerele.
273
00:13:42,739 --> 00:13:44,658
Iar ele trebuiau să devină
mai ușor de folosit,
274
00:13:44,783 --> 00:13:46,076
mai prietenoase,
275
00:13:46,159 --> 00:13:48,370
iar pentru asta
era nevoie de o evoluție mare.
276
00:13:48,912 --> 00:13:50,497
Care a avut loc aici.
277
00:13:50,747 --> 00:13:54,334
Într-o demonstrație făcută
de Doug Engelbart în 1968.
278
00:13:54,459 --> 00:13:56,587
Imediat vor vedea ecranul de lucru
279
00:13:56,712 --> 00:13:58,547
și modul în care cursorul se mișcă
280
00:13:58,630 --> 00:14:01,425
imitând mișcările mouse-ului.
281
00:14:02,050 --> 00:14:06,346
Oamenii nu mai scriu programe
scriind instrucțiuni pe hârtie
282
00:14:06,430 --> 00:14:10,309
și apoi dând hârtia cuiva
283
00:14:10,392 --> 00:14:11,476
pentru a le tasta.
284
00:14:11,560 --> 00:14:15,272
Stai în fața unui ecran
și ai o interfață grafică de utilizator.
285
00:14:15,355 --> 00:14:17,566
Astăzi le denumim GUI.
286
00:14:18,025 --> 00:14:21,111
Cu GUI putem programa
fără să tastăm deloc.
287
00:14:22,487 --> 00:14:24,907
Iar programele pot fi folosite mai ușor.
288
00:14:25,240 --> 00:14:29,661
De obicei lucrați într-un mediu informatic
289
00:14:30,287 --> 00:14:34,958
de tipul celui creat cu ingeniozitate
290
00:14:35,042 --> 00:14:36,501
de Alan și de colegii lui
291
00:14:36,585 --> 00:14:40,464
la Centrul de Cercetări Xerox
din Palo Alto, la începutul anilor '70.
292
00:14:40,714 --> 00:14:41,548
„Alan.”
293
00:14:41,715 --> 00:14:42,633
Acest Alan.
294
00:14:42,883 --> 00:14:46,053
Îl consider părintele
computerului personal,
295
00:14:46,136 --> 00:14:50,265
pentru că el a fost cel ce a definit
prima imagine clară a conceptului.
296
00:14:50,515 --> 00:14:54,353
Mărturisesc, atunci credeam
că e ceva științifico-fantastic.
297
00:14:54,436 --> 00:14:56,605
La crearea lucrurilor
cu adevărat deosebite
298
00:14:58,023 --> 00:14:59,733
participă de obicei mulți oameni.
299
00:14:59,816 --> 00:15:02,277
Iar Park se pricepea de minune la asta.
300
00:15:02,653 --> 00:15:04,196
Era ca un vrăjitor.
301
00:15:04,780 --> 00:15:08,450
Interfața grafică de utilizator
a permis mult mai multor oameni
302
00:15:08,533 --> 00:15:12,996
să folosească computerele
așa cum li se pare natural.
303
00:15:13,580 --> 00:15:16,750
Când Xerox a prezentat
interfețele grafice în 1979,
304
00:15:16,833 --> 00:15:20,170
au arătat cum programele de computer
vă pot schimba viața de zi cu zi.
305
00:15:20,462 --> 00:15:22,923
Veniți la birou și un computer Xerox
306
00:15:23,006 --> 00:15:25,008
vă afișează pe ecran corespondența.
307
00:15:25,092 --> 00:15:27,344
În curând, sisteme Xerox ca acesta
308
00:15:27,427 --> 00:15:29,721
vă vor ajuta să gestionați
cea mai prețioasă resursă,
309
00:15:30,472 --> 00:15:31,431
informația.
310
00:15:31,848 --> 00:15:34,893
În această comunitate de cercetare
311
00:15:34,977 --> 00:15:36,603
erau oameni ca mine, care voiau
312
00:15:36,687 --> 00:15:38,105
să facă lumea un loc mai bun.
313
00:15:38,188 --> 00:15:41,733
Aveau o idee destul de bună
cum să îmbunătățească
314
00:15:41,858 --> 00:15:43,026
abilitățile oamenilor.
315
00:15:43,610 --> 00:15:46,196
Ceva ce ar interacționa cu noi,
316
00:15:46,697 --> 00:15:47,864
cu publicul,
317
00:15:48,198 --> 00:15:50,784
cu oamenii obișnuiți
și care ne-ar face capabili
318
00:15:50,867 --> 00:15:53,245
să realizăm mai mult decât până atunci.
319
00:15:53,662 --> 00:15:56,039
Ne-au făcut capabili de mai multe.
320
00:15:56,331 --> 00:15:58,875
Interfețele grafice au fost
un pas important.
321
00:15:59,501 --> 00:16:03,630
Apoi a apărut altă inovație radicală.
322
00:16:05,382 --> 00:16:07,467
Noul mod de a distribui tot
323
00:16:07,551 --> 00:16:09,302
ce se poate realiza prin programare.
324
00:16:10,137 --> 00:16:12,848
La TV, oamenii au început
să prezică ce ar însemna accesul
325
00:16:12,931 --> 00:16:14,433
la aceste programe informatice.
326
00:16:14,808 --> 00:16:17,519
Imaginați-vă că stați dimineața
cu cafeaua în față,
327
00:16:17,602 --> 00:16:20,439
apoi porniți computerul
și citiți un cotidian.
328
00:16:20,522 --> 00:16:24,985
O lume în care toate cuvintele scrise
vreodată, toată tablourile,
329
00:16:25,068 --> 00:16:28,697
toate filmele pot fi văzute
instantaneu acasă la dvs.
330
00:16:28,780 --> 00:16:33,744
Cred că suntem pe cale să realizăm
ceva extraordinar și îngrozitor.
331
00:16:33,827 --> 00:16:35,287
Dar e doar un instrument, nu?
332
00:16:35,370 --> 00:16:36,204
Nu.
333
00:16:36,288 --> 00:16:40,667
Cele mai importante programe software
profită de toate aceste inovații.
334
00:16:40,751 --> 00:16:44,671
Un student a folosit un limbaj
de programare de nivel înalt, PHP,
335
00:16:44,755 --> 00:16:47,632
pentru a partaja informația
prin Internet,
336
00:16:47,716 --> 00:16:49,760
pentru a fi folosită pe computere cu GUI.
337
00:16:50,093 --> 00:16:53,680
A descris aplicația în primul său
interviu la TV, în 2004.
338
00:16:53,972 --> 00:16:56,433
E un registru online
care conectează oamenii
339
00:16:56,516 --> 00:16:57,976
din universități și colegii
340
00:16:58,060 --> 00:16:59,478
prin rețelele lor sociale de acolo.
341
00:16:59,561 --> 00:17:02,731
Avem 100.000 de utilizatori
și cine știe unde putem ajunge.
342
00:17:02,814 --> 00:17:07,027
A ajuns la mai mult
de două miliarde de vizitatori
343
00:17:07,152 --> 00:17:08,361
Facebook pe lună.
344
00:17:08,695 --> 00:17:11,656
Azi, programatorii influențează
viețile a miliarde de oameni.
345
00:17:11,907 --> 00:17:15,952
Cum muncesc, fac cumpărături,
mănâncă, ies la întâlniri și se relaxează.
346
00:17:16,203 --> 00:17:17,537
Ce faceți acum?
347
00:17:17,621 --> 00:17:21,458
Mă priviți pe Netflix, în browser.
348
00:17:23,293 --> 00:17:27,172
Netflix e un program
care e rulat într-un browser web,
349
00:17:27,339 --> 00:17:28,381
care e tot un program
350
00:17:28,507 --> 00:17:33,804
proiectat pentru a rula pe un computer
proiectat tot printr-un program.
351
00:17:34,054 --> 00:17:36,098
Totul se reduce la asta.
352
00:17:37,599 --> 00:17:40,519
Un programator excelent
e ca arhitectul unui muzeu
353
00:17:41,311 --> 00:17:43,355
la care se gândesc milioane de oameni,
354
00:17:43,480 --> 00:17:45,857
pe care-l vizitează
și-l folosesc în fiecare zi.
355
00:17:46,191 --> 00:17:49,569
Nu se compară nimic cu programarea,
e creație pură.
356
00:17:49,653 --> 00:17:51,863
Ai idee cum ar trebui să funcționeze ceva,
357
00:17:52,364 --> 00:17:56,201
apoi te așezi la computer
358
00:17:56,284 --> 00:17:58,078
și transformi ideea în realitate.
359
00:17:58,161 --> 00:18:01,039
Acest rol implică
o enormă responsabilitate.
360
00:18:01,164 --> 00:18:04,000
Știți că există limită de viteză.
361
00:18:04,167 --> 00:18:05,669
Nu depășiți 96 km/h.
362
00:18:06,545 --> 00:18:07,420
Bine.
363
00:18:07,712 --> 00:18:11,299
Dar dacă ai avea o mașină
și computerul ar zice:
364
00:18:12,092 --> 00:18:15,053
„Mașina asta n-o să meargă
mai repede de 96 km/h.”
365
00:18:15,846 --> 00:18:17,848
E un mod de a-ți controla comportamentul.
366
00:18:18,056 --> 00:18:23,395
Controlându-ne alegerile,
programele din viața noastră
367
00:18:23,478 --> 00:18:27,941
au un efect mai profund
decât speră vreodată legislația să aibă.
368
00:18:28,525 --> 00:18:30,819
Și asta poate fi un lucru minunat.
369
00:18:30,944 --> 00:18:35,198
Sunt aproximativ șase milioane
de accidente rutiere în fiecare an în SUA,
370
00:18:35,282 --> 00:18:39,494
iar o analiză a descoperit
că 94% sunt din vina șoferilor.
371
00:18:40,370 --> 00:18:43,165
Evoluțiile în programare
pot salva milioane de vieți.
372
00:18:43,665 --> 00:18:47,169
Dar, în alte moduri,
pot periclita viața oamenilor.
373
00:18:47,460 --> 00:18:50,922
Eu sufăr de cardiomiopatie hipertrofică,
374
00:18:51,006 --> 00:18:56,219
adică denumirea medicală care descrie
o îngroșare anormală a miocardului.
375
00:18:56,428 --> 00:18:58,096
Inima mea e mare la propriu.
376
00:18:58,180 --> 00:19:00,932
E aproape de trei ori mai mare
decât în mod obișnuit.
377
00:19:01,016 --> 00:19:05,937
Am aflat la 30 de ani,
iar riscul ca eu să mor subit la 40
378
00:19:06,021 --> 00:19:07,147
e foarte mare.
379
00:19:07,439 --> 00:19:10,025
Medicul a zis că nu-i nicio problemă,
380
00:19:10,108 --> 00:19:12,485
pentru că-mi vor introduce
un stimulator cardiac defibrilator.
381
00:19:12,986 --> 00:19:14,988
Dispozitivul e controlat de un program.
382
00:19:15,697 --> 00:19:20,243
Acum câțiva ani, când eram însărcinată,
aveam palpitații.
383
00:19:20,744 --> 00:19:24,873
Aproape un sfert dintre femei
au palpitații, e ceva normal.
384
00:19:25,165 --> 00:19:28,376
Dar dispozitivul meu a crezut
că ritmul cardiac e anormal
385
00:19:28,501 --> 00:19:29,586
și m-a curentat.
386
00:19:29,669 --> 00:19:34,132
Producătorii dispozitivelor n-au interes
să curenteze doamnele gravide.
387
00:19:34,216 --> 00:19:36,426
E ultimul lucru pe care l-ar dori.
388
00:19:36,635 --> 00:19:39,262
Doar că nu s-au gândit la asta.
389
00:19:39,346 --> 00:19:42,474
Există un set de decizii foarte importante
390
00:19:43,141 --> 00:19:47,395
ce vor fi luate de programatori.
391
00:19:48,188 --> 00:19:50,690
Și, inevitabil,
392
00:19:51,066 --> 00:19:53,735
vor apărea situații
393
00:19:53,818 --> 00:19:55,904
pe care nu le-au anticipat.
394
00:19:56,238 --> 00:19:58,198
De aceea încercăm să-i învățăm
395
00:19:58,281 --> 00:20:01,910
atunci când predăm arta programării,
396
00:20:02,244 --> 00:20:04,496
cum să evalueze
397
00:20:04,621 --> 00:20:07,540
aceste situații diferite.
398
00:20:07,832 --> 00:20:09,918
Cum să fii foarte riguros
399
00:20:10,293 --> 00:20:14,673
fără să fi blocat de numărul factorilor
400
00:20:14,756 --> 00:20:16,091
ce trebuie luați în considerare.
401
00:20:16,174 --> 00:20:20,011
Acest lucru se va adeveri mai mult,
pentru că am început să scriem programe
402
00:20:20,136 --> 00:20:21,721
într-un mod absolut nou.
403
00:20:22,305 --> 00:20:25,642
În programarea tradițională
se scriu instrucțiuni pentru computer.
404
00:20:26,059 --> 00:20:28,895
Acum introducem în computer variabilele
405
00:20:28,979 --> 00:20:30,230
și rezultatul dorit,
406
00:20:30,313 --> 00:20:33,525
iar acesta își scrie
singur instrucțiunile.
407
00:20:33,817 --> 00:20:37,404
Introduci în computer
408
00:20:38,280 --> 00:20:39,739
multe exemple
409
00:20:40,073 --> 00:20:43,660
și-i spui: „Asta e o petrecere.”
410
00:20:43,785 --> 00:20:45,328
Apoi îi arăți alte lucruri.
411
00:20:45,412 --> 00:20:47,163
La dentist, nu-i o petrecere.
412
00:20:47,330 --> 00:20:48,915
În școală, nu-i o petrecere.
413
00:20:49,374 --> 00:20:53,169
Apoi computerul analizează situațiile
și încearcă să creeze
414
00:20:53,253 --> 00:20:55,005
un sistem de clasificare.
415
00:20:55,255 --> 00:20:57,173
În acest fel, computerul învață automat.
416
00:20:57,257 --> 00:21:00,051
Dacă auziți cuvintele
„inteligență artificială”,
417
00:21:00,468 --> 00:21:01,469
la asta se referă.
418
00:21:01,636 --> 00:21:05,390
Un mod complet diferit de abstractizare
419
00:21:05,473 --> 00:21:06,641
și de a face lucrurile
420
00:21:06,725 --> 00:21:11,438
pentru că nu seamănă
cu modul în care clasificăm noi obiectele.
421
00:21:11,646 --> 00:21:15,442
Îi numim algoritmi de învățare automată
pentru că, computerul își creează
422
00:21:15,525 --> 00:21:17,736
propriul set de indicații
pe care le urmărește.
423
00:21:18,069 --> 00:21:21,990
La final, și acestea sunt traduse
424
00:21:22,073 --> 00:21:24,451
în instrucțiunile de bază.
425
00:21:25,201 --> 00:21:27,912
Programul Google Translate conținea
peste 1.000.000 de linii.
426
00:21:28,538 --> 00:21:32,751
Oamenii au scris
peste 1.000.000 de linii de program.
427
00:21:32,876 --> 00:21:38,256
Acum, programul Google Translate
are aproximativ 500 de linii,
428
00:21:38,465 --> 00:21:40,008
care apelează la învățare automată.
429
00:21:40,091 --> 00:21:44,304
Să presupunem că, din întâmplare,
niciuna din fotografiile cu petreceri
430
00:21:44,387 --> 00:21:46,639
nu includea afro-americani sau hispanici.
431
00:21:47,140 --> 00:21:49,434
Computerul ar putea decide
că regula petrecerii
432
00:21:49,517 --> 00:21:52,562
e să fie invitați doar albi și asiatici.
433
00:21:52,812 --> 00:21:55,982
Sunt foarte mulți programatori
albi și asiatici.
434
00:21:56,733 --> 00:22:01,321
Trebuie să extindem grupul
celor care participă la creație
435
00:22:01,404 --> 00:22:02,447
din mai multe motive.
436
00:22:02,530 --> 00:22:05,325
Cu o experiență mai extinsă,
întrebările vor fi mai complexe.
437
00:22:05,408 --> 00:22:09,037
Dar dacă în programul de învățare automată
introduci date,
438
00:22:09,120 --> 00:22:13,208
să zicem, de la sistemul de justiție
care au rasism structural integrat în ele,
439
00:22:13,291 --> 00:22:15,668
iar programatorii învățării automate
440
00:22:15,752 --> 00:22:17,170
sunt o echipă diversă,
441
00:22:17,253 --> 00:22:22,384
provenind din rase,
genuri și medii sociale diferite,
442
00:22:22,634 --> 00:22:25,303
atunci sistemul învățare automată
tot va reuși să învețe ceva.
443
00:22:25,387 --> 00:22:28,139
Fără ca oamenii să corecteze
aceste probleme,
444
00:22:28,223 --> 00:22:31,726
datele istorice vor cauza
repretarea greșelilor din trecut.
445
00:22:31,851 --> 00:22:33,686
INTELIGENȚA ARTIFICIALĂ
TRIMITE AIUREA OAMENI LA ÎNCHISOARE
446
00:22:33,812 --> 00:22:36,481
Povestea programării
e una care arată ambiția
447
00:22:36,564 --> 00:22:38,358
și creativitatea umană.
448
00:22:38,566 --> 00:22:41,528
Racheta Falcon 9 a decolat.
449
00:22:41,611 --> 00:22:44,030
Am văzut ce nu credeam
că vom vedea vreodată.
450
00:22:44,697 --> 00:22:45,740
O gaură neagră.
451
00:22:46,366 --> 00:22:47,742
Construim o lume nouă
452
00:22:48,284 --> 00:22:49,953
cu instrumente mai noi și intuitive
453
00:22:50,286 --> 00:22:52,122
pe care tot mai mulți oameni le pot folosi
454
00:22:52,664 --> 00:22:55,750
pentru a crea o lume mai bună.
455
00:22:56,126 --> 00:22:59,546
Intenționăm să facem
computerele mai accesibile oamenilor,
456
00:22:59,629 --> 00:23:02,382
unui grup mai larg de oameni.
457
00:23:02,507 --> 00:23:07,053
În ultimii 50 de ani,
în fața noastră a avut loc o revoluție.
458
00:23:07,262 --> 00:23:09,139
De asta prezentul e atât de incitant.
459
00:23:09,973 --> 00:23:13,935
E foarte important să reținem
că toate programele de computer
460
00:23:14,227 --> 00:23:16,146
au fost create de o ființă umană.
461
00:23:17,021 --> 00:23:19,816
Și voi vă puteți afla printre ei,
și e important
462
00:23:19,899 --> 00:23:21,317
să faceți asta.
463
00:23:21,401 --> 00:23:24,154
Puteți revoluționa lumea.
464
00:23:24,571 --> 00:23:28,616
Lumea va fi condusă folosind
computerele cu învățare automată,
465
00:23:28,741 --> 00:23:32,162
datele și programarea
în moduri din ce în ce mai variate.
466
00:23:32,662 --> 00:23:35,123
Iar noi, ca societate, trebuie să spunem:
467
00:23:35,206 --> 00:23:37,584
„Avem o nouă tehnologie performantă
468
00:23:38,251 --> 00:23:43,089
care poate fi minunată,
dar nu fără ajutorul nostru.”