1 00:00:09,510 --> 00:00:10,762 911, ¿emergencias? 2 00:00:11,679 --> 00:00:13,389 911, ¿cuál es su emergencia? 3 00:00:13,473 --> 00:00:14,932 911, emergencias. 4 00:00:15,058 --> 00:00:16,559 Novecientos once... 5 00:00:19,854 --> 00:00:23,066 El 9 de abril de 2014, el servicio de emergencias 911 6 00:00:23,149 --> 00:00:24,567 se detuvo de repente 7 00:00:24,650 --> 00:00:27,528 para millones de personas en todo Estados Unidos. 8 00:00:27,779 --> 00:00:30,156 Estuvo fuera de servicio más de 6 horas. 9 00:00:30,239 --> 00:00:33,534 Más de 6000 llamadas de emergencia no pudieron comunicarse. 10 00:00:33,910 --> 00:00:36,162 El gobierno rastreó el problema a una computadora 11 00:00:36,245 --> 00:00:38,831 en un centro de llamadas en Englewood, Colorado. 12 00:00:38,998 --> 00:00:41,250 Fue un simple error de programación. 13 00:00:41,918 --> 00:00:43,961 La gente a cargo de programar esa computadora 14 00:00:44,045 --> 00:00:47,840 eligió hacerlo con un límite máximo de llamadas que podía registrar, 15 00:00:47,924 --> 00:00:51,385 un límite que los programadores pensaban que la computadora nunca alcanzaría. 16 00:00:51,469 --> 00:00:54,305 Pero esa noche en 2014, lo hizo. 17 00:00:54,388 --> 00:00:56,933 La computadora siguió sus instrucciones a la perfección. 18 00:00:57,016 --> 00:00:59,894 Llegó al límite y dejó de enrutar llamadas. 19 00:01:00,061 --> 00:01:03,940 El problema no fue la computadora, y no fue un error en el código. 20 00:01:04,398 --> 00:01:07,610 Fue la programación, el proceso de toma de decisiones 21 00:01:07,693 --> 00:01:10,488 mediante el cual se comunica la gente con la computadora. 22 00:01:10,571 --> 00:01:14,659 Este tipo de poder viene con una gran responsabilidad ética. 23 00:01:14,742 --> 00:01:15,910 No hay nada igual. 24 00:01:15,993 --> 00:01:18,246 No hay nada que lo sustituya. 25 00:01:18,329 --> 00:01:21,374 De la misma manera en que los constructores de una ciudad 26 00:01:21,457 --> 00:01:23,668 determinan cómo se vive en la ciudad, 27 00:01:23,751 --> 00:01:26,838 creo que los códigos controlan cómo vivimos en línea, 28 00:01:26,921 --> 00:01:28,881 que básicamente es cómo vivimos. 29 00:01:29,507 --> 00:01:31,300 No solo cuando entramos a Internet, 30 00:01:31,384 --> 00:01:33,970 sino cuando contactamos a los servicios de emergencia 31 00:01:34,053 --> 00:01:35,721 o vamos al doctor... 32 00:01:36,180 --> 00:01:37,807 ...o nos subimos a un auto. 33 00:01:37,890 --> 00:01:41,269 Todos estamos tan cerca de la programación todos los días. 34 00:01:41,602 --> 00:01:47,024 Pero solo un tercio del uno por ciento de nosotros sabe cómo escribirlo. 35 00:01:47,233 --> 00:01:50,111 Para la abrumadora mayoría, es una caja negra. 36 00:01:50,194 --> 00:01:51,988 Pero no tiene que serlo. 37 00:01:52,446 --> 00:01:55,199 ¿Cómo funciona realmente la programación? 38 00:01:55,533 --> 00:01:58,619 ¿Y qué mundo nuevo estamos construyendo con ella? 39 00:01:59,287 --> 00:02:01,122 UNA SERIE DOCUMENTAL ORIGINAL DE NETFLIX 40 00:02:01,205 --> 00:02:02,415 La computadora. 41 00:02:03,082 --> 00:02:05,835 Una colección ingeniosa de hardware electrónico 42 00:02:05,918 --> 00:02:07,879 fue creada por el hombre. 43 00:02:08,087 --> 00:02:11,382 No es que no tengamos máquinas para resolver problemas, 44 00:02:11,465 --> 00:02:14,177 carecemos de las descripciones para resolver problemas. 45 00:02:14,260 --> 00:02:18,472 Cuando alguien dice programación, piensas que es muy difícil. 46 00:02:18,556 --> 00:02:22,685 Es muy importante recordar que todo lo que usas en una computadora 47 00:02:22,768 --> 00:02:25,730 fue creado por un ser humano. 48 00:02:25,855 --> 00:02:31,652 LA PROGRAMACIÓN 49 00:02:31,861 --> 00:02:35,948 Un extraterrestre nos dice: "¿Qué importancia tiene la programación?". 50 00:02:36,032 --> 00:02:41,329 Yo diría: "Bueno... vivimos en una tierra física y hace unos 50 años, 51 00:02:41,412 --> 00:02:44,582 un pequeño grupo de personas comenzó a construir otro planeta. 52 00:02:44,665 --> 00:02:46,918 Pero no era físico, sino virtual". 53 00:02:47,001 --> 00:02:50,213 Miren por la calle. ¿Ven a la gente caminando 54 00:02:50,296 --> 00:02:52,548 con la cabeza inclinada y viendo sus teléfonos? 55 00:02:52,715 --> 00:02:54,175 Están en ese otro mundo. 56 00:02:54,383 --> 00:02:56,093 Eso es la programación. 57 00:02:56,177 --> 00:02:59,096 Son los bloques de construcción de ese otro mundo. 58 00:03:00,056 --> 00:03:02,642 Este telar es el ancestro de todas las computadoras 59 00:03:02,725 --> 00:03:04,685 y los teléfonos inteligentes en la Tierra. 60 00:03:04,769 --> 00:03:06,854 Fue inventado en 1804, 61 00:03:06,938 --> 00:03:09,523 y la gran innovación fueron estas tarjetas. 62 00:03:09,607 --> 00:03:13,152 Las perforaciones permitían que solo pasaran ciertos ganchos. 63 00:03:13,736 --> 00:03:16,405 Con miles de perforaciones en cientos de tarjetas, 64 00:03:16,489 --> 00:03:19,742 los tejedores podían hacer patrones más complejos. 65 00:03:20,117 --> 00:03:23,037 Chales elaborados se volvieron la furia de la moda en Europa. 66 00:03:23,120 --> 00:03:26,832 Y los diseños tejidos podían ser tan intrincados que parecían dibujos, 67 00:03:26,916 --> 00:03:29,168 como este del inventor del telar. 68 00:03:30,169 --> 00:03:32,296 Antes de estos telares, los hilos individuales 69 00:03:32,380 --> 00:03:34,882 debían ser seleccionados a mano por "niños dibujantes". 70 00:03:34,966 --> 00:03:36,801 Las matemáticas también se hacían a mano 71 00:03:36,884 --> 00:03:38,928 por las llamadas "computadoras". 72 00:03:39,053 --> 00:03:41,305 Las primeras computadoras eran personas. 73 00:03:41,681 --> 00:03:43,557 Y las mejores máquinas que teníamos 74 00:03:43,641 --> 00:03:46,143 solo podían hacer un tipo de problema matemático, 75 00:03:46,227 --> 00:03:48,562 como el ábaco para sumar y restar. 76 00:03:49,272 --> 00:03:51,857 El matemático británico Charles Babbage quería una máquina 77 00:03:51,941 --> 00:03:54,694 que resolviera cualquier problema matemático que le dieras, 78 00:03:54,777 --> 00:03:57,280 o mejor dicho, le programaras que hiciera. 79 00:03:57,780 --> 00:04:00,908 Propuso una máquina que llamó "la máquina analítica". 80 00:04:01,242 --> 00:04:04,662 La idea de Babbage le haría ganar un lugar en la historia. 81 00:04:05,037 --> 00:04:10,501 Las computadoras fueron inventadas por Babbage, 82 00:04:10,710 --> 00:04:13,963 un inventor británico muy excéntrico. 83 00:04:14,046 --> 00:04:16,590 Babbage tenía inspiración para cómo funcionaría. 84 00:04:16,841 --> 00:04:19,802 Tenía una copia de esta foto colgada en su casa. 85 00:04:20,219 --> 00:04:23,347 El motor analítico de Babbage, como el telar de Jacquard, 86 00:04:23,431 --> 00:04:25,474 tenía partes físicas: "hardware". 87 00:04:25,599 --> 00:04:27,101 Y así como con el telar, 88 00:04:27,184 --> 00:04:31,397 podías darle instrucciones al hardware en forma de tarjetas perforadas. 89 00:04:31,522 --> 00:04:33,065 Los hoyos dejaban pasar pasadores, 90 00:04:33,149 --> 00:04:36,068 y la ausencia de hoyos forzaba a los demás hacia atrás, 91 00:04:36,152 --> 00:04:39,196 activando una cadena de cálculos mecánicos. 92 00:04:39,780 --> 00:04:42,867 Las tarjetas con sus diferentes perforaciones, eso es software. 93 00:04:43,701 --> 00:04:45,995 Babbage nunca terminó su máquina analítica, 94 00:04:46,078 --> 00:04:50,541 pero una joven que trabajaba con él vio su potencial para cambiar al mundo 95 00:04:50,666 --> 00:04:52,460 más allá de las matemáticas. 96 00:04:52,668 --> 00:04:55,796 Ada Byron, condesa de Lovelace, escribió: 97 00:04:56,005 --> 00:04:58,716 "Los límites de la aritmética fueron superados 98 00:04:58,799 --> 00:05:02,094 en cuanto ocurrió la idea de aplicar las tarjetas". 99 00:05:02,261 --> 00:05:03,763 Vio lo mismo que Jacquard: 100 00:05:03,846 --> 00:05:06,891 las perforaciones podían representar más que solo números. 101 00:05:07,058 --> 00:05:09,310 Podían ser patrones, música... 102 00:05:10,561 --> 00:05:12,438 ...o frases completas. 103 00:05:12,772 --> 00:05:15,191 Puedes pensarlo como el código Morse. 104 00:05:15,274 --> 00:05:17,276 Cada letra en el alfabeto del código morse 105 00:05:17,360 --> 00:05:20,029 se expresa como un conjunto de solo 2 señales: 106 00:05:20,112 --> 00:05:20,946 O sea... 107 00:05:21,822 --> 00:05:23,115 ...es binario. 108 00:05:23,240 --> 00:05:26,660 Y con esos pitidos podemos decir cualquier cosa, 109 00:05:26,827 --> 00:05:30,790 como esta llamada de auxilio enviada por el Titanic en 1912. 110 00:05:31,415 --> 00:05:34,502 Las letras "SOS" no son siglas. 111 00:05:34,585 --> 00:05:37,963 Simplemente es muy fácil enviarlas en código Morse. 112 00:05:38,047 --> 00:05:42,885 También se puede pensar que cada letra se puede expresar como una combinación 113 00:05:42,968 --> 00:05:44,512 de ceros y unos. 114 00:05:44,595 --> 00:05:45,888 ¿Te parece familiar? 115 00:05:45,971 --> 00:05:47,681 Esto es el código binario. 116 00:05:47,807 --> 00:05:51,769 Y con él cerramos la brecha entre las máquinas y el lenguaje humano. 117 00:05:51,852 --> 00:05:55,731 Cada uno o cero es un dígito binario o "bit". 118 00:05:55,898 --> 00:05:58,317 Son los átomos de la informática moderna. 119 00:05:58,442 --> 00:06:00,528 Quizá los conozcas con otro nombre: 120 00:06:00,611 --> 00:06:02,696 ocho bits son un byte. 121 00:06:03,197 --> 00:06:07,660 ¿Ves esa foto en tu computadora que es de 1,1 megabytes? 122 00:06:08,119 --> 00:06:11,914 Son ocho millones, ochocientos mil unos y ceros. 123 00:06:12,373 --> 00:06:15,626 Así como los puntos y rayas del código morse son la forma de escribir... 124 00:06:16,043 --> 00:06:16,877 ...y... 125 00:06:16,961 --> 00:06:20,297 ...los unos y ceros del código binario son la forma en la que escribimos 126 00:06:20,381 --> 00:06:22,925 lo que pasa en una computadora moderna: 127 00:06:23,217 --> 00:06:25,302 con carga o sin carga. 128 00:06:25,386 --> 00:06:27,596 Este es un circuito eléctrico simple. 129 00:06:27,763 --> 00:06:30,599 Imagina millones de ellos trabajando juntos. 130 00:06:30,850 --> 00:06:32,476 Eso hoy es una computadora. 131 00:06:32,893 --> 00:06:35,479 En un circuito eléctrico, esto es un bit. 132 00:06:35,604 --> 00:06:37,857 ¿La bombilla está apagada? Cero. 133 00:06:38,107 --> 00:06:39,692 ¿Encendida? Uno. 134 00:06:40,067 --> 00:06:42,194 Las computadoras solo entienden la electricidad, 135 00:06:42,278 --> 00:06:44,947 así que todo lo que hacen los programadores con ellas, 136 00:06:45,489 --> 00:06:46,323 al final, 137 00:06:46,449 --> 00:06:49,493 solo es una serie de cargas encendidas o apagadas. 138 00:06:49,702 --> 00:06:53,205 Todo funciona porque, conectadas de la manera correcta, 139 00:06:53,414 --> 00:06:56,041 esas cargas pueden representar lógica. 140 00:06:56,625 --> 00:07:00,796 Básicamente, la lógica es una serie predecible de hechos o eventos, 141 00:07:01,255 --> 00:07:03,591 tales como cerrar este interruptor... 142 00:07:04,508 --> 00:07:07,136 ...y este para tocar la campana. 143 00:07:09,054 --> 00:07:12,516 De hecho, los informáticos lo llaman "Lógica Y Circuito". 144 00:07:13,476 --> 00:07:15,644 O una "compuerta" lógica. 145 00:07:15,769 --> 00:07:18,439 Veamos si puedo hacerlo sin agujerear la mesa. 146 00:07:18,564 --> 00:07:21,525 En una compuerta "Y", ambos circuitos deben estar cerrados 147 00:07:21,609 --> 00:07:22,818 para encender la luz. 148 00:07:23,152 --> 00:07:24,737 Y hay compuertas "O", 149 00:07:24,820 --> 00:07:28,240 donde la luz se enciende si solo uno de los circuitos está cerrado. 150 00:07:28,324 --> 00:07:29,867 Se puede explicar de otra manera. 151 00:07:29,950 --> 00:07:34,413 "Si" uno de estos circuitos está cerrado, "entonces" enciende la luz. 152 00:07:34,538 --> 00:07:36,957 Ese tipo de declaración "SI... ENTONCES", 153 00:07:37,041 --> 00:07:38,125 es un algoritmo. 154 00:07:38,292 --> 00:07:42,671 En la cultura pop actual, la palabra "algoritmo" causa mucha confusión. 155 00:07:42,755 --> 00:07:45,925 Ya vimos esto, donde los algoritmos se descontrolan. 156 00:07:46,008 --> 00:07:49,094 La forma en que funcionan es un misterio para la mayoría de la gente. 157 00:07:49,178 --> 00:07:51,889 ¿Qué demonios es un algoritmo? 158 00:07:51,972 --> 00:07:55,184 Pero un algoritmo solo es un conjunto de instrucciones. 159 00:07:55,267 --> 00:07:56,810 Imagínate caminando a la tienda. 160 00:07:56,894 --> 00:07:59,647 Puedes girar a la izquierda y luego a la derecha. 161 00:07:59,730 --> 00:08:02,816 O puedes girar a la derecha y luego a la izquierda. 162 00:08:02,900 --> 00:08:04,902 O girar a la izquierda 4 veces, 163 00:08:04,985 --> 00:08:07,029 dar la vuelta al parque, cruzar una carretera 164 00:08:07,112 --> 00:08:09,156 y girar 4 veces a la derecha otra vez. 165 00:08:09,240 --> 00:08:12,159 Como hay diferentes instrucciones para llegar al mismo lugar, 166 00:08:12,243 --> 00:08:16,247 puede haber muchos algoritmos diferentes para resolver el mismo problema. 167 00:08:16,330 --> 00:08:20,167 El objetivo es encontrar el más elegante y eficiente. 168 00:08:20,459 --> 00:08:22,836 La programación hermosa no se repite. 169 00:08:22,920 --> 00:08:25,506 Es muy elegante, es poderosa. 170 00:08:25,589 --> 00:08:29,051 Las computadoras de algoritmos solo hacían lo que les ordenábamos, 171 00:08:29,134 --> 00:08:30,928 pero mucho más rápido, 172 00:08:31,136 --> 00:08:34,056 lo que hizo a la gente mucho más poderosa. 173 00:08:34,223 --> 00:08:38,060 Cuando los científicos empezaron a desarrollar la bomba de fusión, 174 00:08:38,143 --> 00:08:40,729 usaron principalmente computadoras humanas. 175 00:08:40,896 --> 00:08:42,982 Pero luego recurrieron a esta: 176 00:08:43,190 --> 00:08:47,403 la computadora ENIAC hizo cálculos termonucleares durante seis semanas. 177 00:08:47,903 --> 00:08:50,447 Sus resultados contribuyeron directamente a esto, 178 00:08:50,823 --> 00:08:53,701 la primera prueba exitosa en 1952 179 00:08:54,076 --> 00:08:57,580 de una bomba cientos de veces más potente que las bombas de fisión atómica 180 00:08:57,663 --> 00:09:01,083 lanzadas en Hiroshima y Nagasaki en la II Guerra Mundial. 181 00:09:01,458 --> 00:09:05,087 El poder de codificar amplificaba la capacidad de las personas 182 00:09:05,254 --> 00:09:06,922 de hacer lo que eligieran hacer. 183 00:09:07,590 --> 00:09:11,218 Pero en la década de 1940, aún era mucho trabajo. 184 00:09:11,468 --> 00:09:16,140 Escribir programas en ceros y unos claramente no escala. 185 00:09:16,223 --> 00:09:19,101 La gente quería más del poder que daba la programación. 186 00:09:19,184 --> 00:09:21,937 Pero quería una manera más fácil de programar. 187 00:09:22,438 --> 00:09:25,107 Desde entonces, la historia de la programación 188 00:09:25,190 --> 00:09:29,028 ha sido la historia de acercarla más y más al lenguaje humano 189 00:09:29,361 --> 00:09:33,032 inventando lo que hoy usan casi todos los programadores: 190 00:09:33,115 --> 00:09:34,908 los lenguajes de programación. 191 00:09:35,159 --> 00:09:39,079 Comparados con unos y ceros, estos lenguajes son muy abstractos. 192 00:09:39,580 --> 00:09:41,707 La abstracción es una palabra difícil. 193 00:09:42,207 --> 00:09:45,836 Los lenguajes más abstractos se reducen a los mismos unos y ceros, 194 00:09:45,919 --> 00:09:48,672 solo que encontramos mejores formas de organizarlos. 195 00:09:48,756 --> 00:09:51,133 Se puede pensar en términos de biología. 196 00:09:51,258 --> 00:09:53,135 Los humanos son increíblemente complejos, 197 00:09:53,218 --> 00:09:57,222 pero el 99 % de nuestros cuerpos está compuesto de solo 6 elementos. 198 00:09:57,389 --> 00:10:00,184 Y puedes escalar hasta las grandes moléculas. 199 00:10:00,267 --> 00:10:02,770 Entre esa capa de organización 200 00:10:02,853 --> 00:10:06,106 y la del ser vivo más sencillo hay una enorme distancia. 201 00:10:06,190 --> 00:10:09,693 Y los humanos tienen cerebros que hacen cosas tan avanzadas, 202 00:10:09,777 --> 00:10:12,863 que es difícil creer que estén hechos de las mismas cosas. 203 00:10:12,946 --> 00:10:16,909 Las computadoras son así, pero mucho más sencillas. 204 00:10:17,951 --> 00:10:19,203 Esa es la buena noticia. 205 00:10:19,453 --> 00:10:22,915 La historia de la programación es la historia de subir esta caja, 206 00:10:23,082 --> 00:10:25,876 alejándonos del binario para darnos formas más fáciles, 207 00:10:25,959 --> 00:10:28,962 rápidas y potentes de programar, 208 00:10:29,088 --> 00:10:32,132 sin tener que lidiar, o siquiera entender, 209 00:10:32,299 --> 00:10:34,802 las compuertas binarias y lógicas de abajo. 210 00:10:35,344 --> 00:10:38,931 Es lo que permite a los programadores hacer los productos que conocemos. 211 00:10:39,264 --> 00:10:41,392 El primer paso para llegar allí fue... 212 00:10:41,725 --> 00:10:45,938 El "lenguaje ensamblador", que es mucho más fácil de leer y escribir, 213 00:10:46,188 --> 00:10:49,733 donde en vez de decir 0-1-0-0-0-1-1-1, 214 00:10:49,858 --> 00:10:51,443 lo podemos llamar "sumar", 215 00:10:51,694 --> 00:10:55,114 y luego tenemos un programa llamado el ensamblador 216 00:10:55,489 --> 00:10:59,451 que traduce las letras S-U-M-A-R 217 00:10:59,535 --> 00:11:03,497 a los ceros y unos equivalentes correspondientes. 218 00:11:03,580 --> 00:11:07,418 A este nivel, el binario está organizado en letras y números, 219 00:11:07,543 --> 00:11:10,504 así como los átomos están organizados en moléculas. 220 00:11:10,796 --> 00:11:15,342 Pero programar en lenguaje ensamblador no era exactamente fácil 221 00:11:15,843 --> 00:11:19,805 porque todas estas computadoras usaban lenguajes ensambladores distintos. 222 00:11:19,972 --> 00:11:22,474 Si escribías un programa para una computadora, 223 00:11:22,558 --> 00:11:24,977 no funcionaba para ninguna de las demás. 224 00:11:25,102 --> 00:11:27,104 Rápidamente, la gente empezó a pensar 225 00:11:27,187 --> 00:11:29,440 que lo que realmente quería darle a la computadora 226 00:11:29,523 --> 00:11:32,818 son elementos en términos que usamos todos los días. 227 00:11:33,193 --> 00:11:35,863 Tenemos lenguajes de programación 228 00:11:35,946 --> 00:11:40,033 que construimos usando el lenguaje ensamblador, 229 00:11:40,117 --> 00:11:42,911 y de esos lenguajes construimos más lenguajes de programación. 230 00:11:43,287 --> 00:11:44,955 Quizá los hayan escuchado. 231 00:11:45,038 --> 00:11:45,914 - LISP. - BASIC. 232 00:11:45,998 --> 00:11:47,207 - Java. - C ++. 233 00:11:47,291 --> 00:11:49,042 - Python 3. - HTML 5. 234 00:11:49,126 --> 00:11:51,044 PEARL, PHP, un poco de C... 235 00:11:51,128 --> 00:11:53,756 Así como las lenguas habladas son formas diferentes 236 00:11:53,839 --> 00:11:56,842 de expresarle la misma idea a otras personas, 237 00:11:57,050 --> 00:11:59,511 los lenguajes de programación son formas diferentes 238 00:11:59,595 --> 00:12:02,306 de expresarle la misma idea a las computadoras. 239 00:12:02,389 --> 00:12:05,058 Tenemos más de un lenguaje de alto nivel 240 00:12:05,142 --> 00:12:07,936 porque, en primer lugar, diferentes lenguajes 241 00:12:08,020 --> 00:12:10,647 abordan necesidades distintas. 242 00:12:10,731 --> 00:12:12,024 Mira estos dos. 243 00:12:12,191 --> 00:12:15,944 Este, COBOL, se creó a finales de los años 50 244 00:12:16,028 --> 00:12:19,156 para facilitarle a las empresas el uso de la programación. 245 00:12:19,239 --> 00:12:23,410 Se parece mucho al inglés, excepto si cada conversación 246 00:12:23,494 --> 00:12:25,579 terminara con "STOP RUN". 247 00:12:26,497 --> 00:12:30,375 Este, CPL, se desarrolló en la década de 1960 248 00:12:30,459 --> 00:12:33,128 e incluía más computación científica. 249 00:12:33,212 --> 00:12:35,297 Es como la evolución biológica. 250 00:12:35,422 --> 00:12:37,591 Al volverse más complejos, los organismos 251 00:12:37,674 --> 00:12:41,929 desarrollaron características mejor adaptadas a sus ambientes específicos. 252 00:12:42,012 --> 00:12:46,099 Y francamente, también es cuestión de gustos. 253 00:12:46,558 --> 00:12:50,521 A la gente le gustan distintas herramientas para expresarse. 254 00:12:50,604 --> 00:12:53,774 Por ejemplo, el lenguaje C ++... 255 00:12:53,857 --> 00:12:56,068 Elon Musk no es fanático. 256 00:12:56,360 --> 00:12:57,945 Tú podrías inventar uno. 257 00:12:58,028 --> 00:13:02,658 Este es un lenguaje de alto nivel hecho enteramente de la palabra "moo". 258 00:13:02,950 --> 00:13:05,202 En serio. Se llama COW. 259 00:13:05,285 --> 00:13:09,081 Este está hecho de citas de películas de Arnold Schwarzenegger. 260 00:13:09,164 --> 00:13:13,252 Cada vez que pienso: "Bien, seguramente ya terminamos", 261 00:13:13,335 --> 00:13:20,050 alguien inventa un nuevo lenguaje y desarrolla un grupo de devotos. 262 00:13:20,133 --> 00:13:24,888 Así que no veo ningún fin a la invención de nuevos idiomas. 263 00:13:25,472 --> 00:13:29,184 Y todos estos lenguajes aún se basan en la lógica. 264 00:13:29,351 --> 00:13:32,354 Por ejemplo, un programador en Netflix podría decir: 265 00:13:32,437 --> 00:13:37,526 "Si has estado mirando más de dos horas, entonces muestra esto en pantalla". 266 00:13:37,609 --> 00:13:40,237 Pero para que la programación afectara la vida de la gente, 267 00:13:40,320 --> 00:13:42,656 la mayoría tenía que usar computadoras. 268 00:13:42,739 --> 00:13:46,076 Lo que significaba que tenían que ser más fáciles y amigables, 269 00:13:46,159 --> 00:13:48,370 y eso requería otro gran salto. 270 00:13:48,912 --> 00:13:50,539 Que comenzó aquí, 271 00:13:50,622 --> 00:13:54,334 en una demostración de Doug Englebart en 1968. 272 00:13:54,459 --> 00:13:56,461 En un segundo, veremos la pantalla 273 00:13:56,545 --> 00:14:01,717 y cómo se mueve el punto de rastreo junto con los movimientos de ese ratón. 274 00:14:02,050 --> 00:14:07,764 La gente de hoy en día no programa escribiendo declaraciones en un papel 275 00:14:07,848 --> 00:14:11,476 y entregándoselas a alguien que las escribe. 276 00:14:11,560 --> 00:14:15,272 Te sientas frente a una pantalla, tienes una interfaz gráfica de usuario. 277 00:14:15,355 --> 00:14:17,858 Hoy las llamamos GUIs. 278 00:14:18,025 --> 00:14:21,445 Con las GUIs, la gente puede codificar sin escribir nada. 279 00:14:22,487 --> 00:14:25,157 O simplemente usar código más fácilmente. 280 00:14:25,240 --> 00:14:29,912 Típicamente, operas en un entorno de programación 281 00:14:30,287 --> 00:14:36,501 del tipo que Alan y sus compañeros crearon tan maravillosamente 282 00:14:36,585 --> 00:14:40,631 en el Centro de Investigación Xerox Palo Alto a principios de los 70. 283 00:14:40,714 --> 00:14:41,548 "Alan". 284 00:14:41,715 --> 00:14:42,633 Este Alan. 285 00:14:42,883 --> 00:14:46,053 Lo considero el padre de la computación personal 286 00:14:46,136 --> 00:14:50,349 porque fue el primero en articular esa visión. 287 00:14:50,557 --> 00:14:54,353 Y debo confesar que en ese momento pensé que era ciencia ficción. 288 00:14:54,519 --> 00:14:56,688 Cuando se hacen cosas grandes, 289 00:14:57,981 --> 00:14:59,733 generalmente hay toda una comunidad. 290 00:14:59,816 --> 00:15:02,235 Y Park fue fantástico. 291 00:15:02,653 --> 00:15:04,529 Era como magia. 292 00:15:04,780 --> 00:15:08,742 La interfaz gráfica de usuario permitió que millones de personas más 293 00:15:08,825 --> 00:15:13,080 usaran las computadoras de forma natural. 294 00:15:13,413 --> 00:15:17,334 Cuando Xerox anunció las GUIs por primera vez en 1979, 295 00:15:17,417 --> 00:15:20,295 mostraron cómo el código podía cambiar la vida diaria. 296 00:15:20,379 --> 00:15:21,630 Llegas a tu oficina 297 00:15:21,713 --> 00:15:25,008 y una máquina Xerox presenta tu correo matutino en una pantalla. 298 00:15:25,092 --> 00:15:27,344 Pronto, sistemas Xerox como este 299 00:15:27,427 --> 00:15:31,431 te ayudarán a administrar tu recurso más valioso: la información. 300 00:15:31,848 --> 00:15:36,520 Había gente como yo y mucha gente en esta comunidad de investigación 301 00:15:36,603 --> 00:15:38,105 quería mejorar al mundo. 302 00:15:38,188 --> 00:15:41,483 Tenían una idea que estaba profundamente relacionada 303 00:15:41,566 --> 00:15:43,068 con el perfeccionamiento humano. 304 00:15:43,610 --> 00:15:46,238 Algo que interactuaría con nosotros, 305 00:15:46,697 --> 00:15:47,864 el público, 306 00:15:48,198 --> 00:15:53,370 la persona normal, y hacernos capaces de hacer más de lo que hacíamos antes. 307 00:15:53,662 --> 00:15:56,164 Sí nos hizo capaces de hacer más. 308 00:15:56,331 --> 00:15:59,042 Las GUIs fueron un gran salto en este espectro. 309 00:15:59,501 --> 00:16:03,630 Y luego llegó la próxima innovación que cambiaría al mundo. 310 00:16:05,257 --> 00:16:09,428 Una nueva forma de distribuir todo lo que pudiéramos hacer con programación. 311 00:16:09,970 --> 00:16:11,763 En la TV, se empezó a predecir 312 00:16:11,847 --> 00:16:14,433 qué significaría el acceso repentino a todo esto. 313 00:16:14,808 --> 00:16:17,519 Imagínense sentados con su café matutino, 314 00:16:17,602 --> 00:16:20,439 encendiendo la computadora para leer el periódico del día. 315 00:16:20,522 --> 00:16:23,233 Imaginen un mundo donde cada palabra escrita, 316 00:16:23,316 --> 00:16:24,943 cada imagen de una pintura, 317 00:16:25,027 --> 00:16:28,697 cada película filmada pueda verse al instante desde su hogar. 318 00:16:28,780 --> 00:16:33,744 Creo que estamos en la cúspide de algo excitante y aterrador. 319 00:16:33,827 --> 00:16:36,204 - Solo es una herramienta, ¿no? - No, no lo es. 320 00:16:36,288 --> 00:16:38,498 Los productos de software más impactantes de hoy 321 00:16:38,582 --> 00:16:40,667 usan todas estas innovaciones. 322 00:16:40,751 --> 00:16:44,713 Un universitario usó un lenguaje de programación de alto nivel, PHP, 323 00:16:44,796 --> 00:16:49,885 para compartir en Internet, para ser usado en computadoras con GUIs. 324 00:16:50,010 --> 00:16:53,764 Lo describió en su primera entrevista televisiva en 2004. 325 00:16:53,930 --> 00:16:56,433 Es un directorio en línea que conecta gente 326 00:16:56,516 --> 00:16:59,478 en colegios y universidades a través de sus redes sociales. 327 00:16:59,561 --> 00:17:02,731 Ahora somos 100 000 personas, quién sabe a dónde llegaremos. 328 00:17:02,814 --> 00:17:07,027 Adonde llegamos fue a más de dos mil millones de personas 329 00:17:07,110 --> 00:17:08,612 en Facebook mensualmente. 330 00:17:08,695 --> 00:17:11,907 Hoy, los programadores dan forma a miles de millones de vidas. 331 00:17:11,990 --> 00:17:15,952 Cómo trabajan, compran, comen, conquistan y se relajan. 332 00:17:16,203 --> 00:17:17,537 ¿Qué estás haciendo? 333 00:17:17,621 --> 00:17:21,625 Me estás viendo en un navegador web de Netflix. 334 00:17:23,251 --> 00:17:25,378 Netflix es un código en sí 335 00:17:25,462 --> 00:17:28,423 y se ejecuta en un navegador web conformado de códigos, 336 00:17:28,507 --> 00:17:33,804 en una computadora que fue diseñada usando programación. 337 00:17:34,054 --> 00:17:36,306 Son tortugas hasta abajo, ¿no? 338 00:17:37,599 --> 00:17:41,228 La buena programación es como ser el arquitecto de un museo 339 00:17:41,311 --> 00:17:46,066 en el que millones de personas piensan, caminan y usan todos los días. 340 00:17:46,191 --> 00:17:49,569 No hay nada como programar, porque se siente como creación pura. 341 00:17:49,653 --> 00:17:52,197 Tienes una idea de cómo debe funcionar algo 342 00:17:52,280 --> 00:17:56,201 y luego intentas sentarte frente a una computadora 343 00:17:56,284 --> 00:17:58,078 y hacerlo realidad. 344 00:17:58,161 --> 00:18:01,081 Creo que esa función conlleva mucha responsabilidad. 345 00:18:01,164 --> 00:18:04,126 Ya saben, hay un límite de velocidad, 346 00:18:04,209 --> 00:18:06,002 no más de 100 km por hora. 347 00:18:06,545 --> 00:18:07,420 Bien. 348 00:18:07,712 --> 00:18:11,633 ¿Y si tuvieras un auto y la computadora dijera: 349 00:18:12,092 --> 00:18:15,053 "Este auto no va a ir a más de 95 km por hora"? 350 00:18:15,762 --> 00:18:17,973 Es otra forma de controlar tu conducta. 351 00:18:18,056 --> 00:18:20,559 A menudo, al controlar nuestras decisiones, 352 00:18:20,809 --> 00:18:22,519 la programación en nuestras vidas 353 00:18:22,936 --> 00:18:25,730 ejerce un efecto regulador casi más profundo 354 00:18:26,022 --> 00:18:27,941 de lo que la ley puede esperar. 355 00:18:28,441 --> 00:18:30,819 Y eso podría ser algo genial. 356 00:18:30,944 --> 00:18:35,198 Hay 6 millones de accidentes de auto en los Estados Unidos cada año, 357 00:18:35,282 --> 00:18:39,786 y un análisis descubrió que el 94 % son causados por el conductor. 358 00:18:39,870 --> 00:18:43,582 Los avances en la programación podrían salvar millones de vidas. 359 00:18:43,665 --> 00:18:47,210 Pero también pueden poner vidas en peligro de nuevas maneras. 360 00:18:47,460 --> 00:18:50,922 Tengo algo llamado cardiomiopatía hipertrófica, 361 00:18:51,006 --> 00:18:56,219 que es el término médico de tener un corazón agrandado. 362 00:18:56,428 --> 00:18:58,180 Literalmente tengo un corazón enorme. 363 00:18:58,263 --> 00:19:00,932 Es 3 veces más grande que el de una persona normal. 364 00:19:01,016 --> 00:19:03,185 Me enteré cuando tenía 30 años, 365 00:19:03,268 --> 00:19:07,147 así que el riesgo de muerte súbita antes de los 40 era muy grande. 366 00:19:07,439 --> 00:19:10,025 El electrofisiólogo dijo: "No es ningún problema, 367 00:19:10,108 --> 00:19:12,485 puedo ponerte un desfibrilador de marcapasos". 368 00:19:12,861 --> 00:19:15,113 Este dispositivo funciona con programación. 369 00:19:15,197 --> 00:19:20,160 Hace un par de años, estaba embarazada y mi corazón palpitaba. 370 00:19:20,243 --> 00:19:24,581 Casi una cuarta parte de las mujeres tienen palpitaciones, es normal. 371 00:19:24,664 --> 00:19:28,418 Pero mi dispositivo pensó que tenía un ritmo peligroso 372 00:19:28,501 --> 00:19:29,586 y me dio una descarga. 373 00:19:29,669 --> 00:19:34,049 A los fabricantes no les interesa que embarazadas reciban descargas. 374 00:19:34,132 --> 00:19:36,551 Literalmente es lo último que quieren. 375 00:19:36,635 --> 00:19:39,262 Solo que no lo habían considerado. 376 00:19:39,471 --> 00:19:42,474 Hay un gran conjunto de decisiones 377 00:19:43,141 --> 00:19:47,395 y la gente que hace la programación será quien las tome. 378 00:19:48,188 --> 00:19:50,690 E inevitablemente, 379 00:19:51,066 --> 00:19:56,154 habrá una combinación de circunstancias que no habrá anticipado. 380 00:19:56,238 --> 00:19:58,198 Lo que tratamos de enseñar 381 00:19:58,281 --> 00:20:01,910 cuando enseñamos el arte de la programación 382 00:20:02,244 --> 00:20:04,496 es cómo pensar 383 00:20:04,621 --> 00:20:07,540 todas estas distintas condiciones. 384 00:20:07,832 --> 00:20:10,001 Cómo intentar ser exhaustivo 385 00:20:10,293 --> 00:20:13,088 sin paralizarte 386 00:20:13,296 --> 00:20:16,091 por la cantidad de cosas que debes considerar. 387 00:20:16,258 --> 00:20:18,301 Y eso solo será aún más cierto, 388 00:20:18,385 --> 00:20:22,013 porque empezamos a programar de una forma completamente nueva. 389 00:20:22,305 --> 00:20:25,892 En la programación tradicional, escribes instrucciones para una computadora. 390 00:20:25,976 --> 00:20:30,355 Pero ahora podemos darle a una computadora un montón de entradas y salidas, 391 00:20:30,438 --> 00:20:33,775 y hacer que escriba sus propias instrucciones. 392 00:20:33,900 --> 00:20:37,404 Lo que haces es darle a la computadora 393 00:20:38,280 --> 00:20:39,739 muchos ejemplos 394 00:20:40,073 --> 00:20:43,576 y le dices: "Esto es una fiesta". 395 00:20:43,660 --> 00:20:45,287 Y luego tienes otras cosas. 396 00:20:45,370 --> 00:20:47,289 Un consultorio de dentista: no una fiesta. 397 00:20:47,372 --> 00:20:49,291 Un salón de clases: no una fiesta. 398 00:20:49,374 --> 00:20:51,584 Entonces, la computadora los ve 399 00:20:51,668 --> 00:20:55,046 y trata de construir un sistema de clasificación. 400 00:20:55,130 --> 00:20:57,173 Esto es aprendizaje computacional. 401 00:20:57,257 --> 00:21:00,051 Hoy, si alguien dice inteligencia artificial, 402 00:21:00,427 --> 00:21:01,553 a esto se refiere. 403 00:21:01,636 --> 00:21:06,641 Es una forma totalmente diferente de abstracción y de hacer las cosas, 404 00:21:06,725 --> 00:21:11,521 porque no encaja en la forma en que apilamos estas cosas. 405 00:21:11,604 --> 00:21:13,857 Los llamamos algoritmos de aprendizaje automático 406 00:21:13,940 --> 00:21:17,986 porque la computadora crea su propio conjunto de instrucciones. 407 00:21:18,069 --> 00:21:24,576 Pero claro, al final, también se traducen en pequeñas instrucciones. 408 00:21:25,201 --> 00:21:28,204 Google Translate solía ser más de un millón de líneas de código. 409 00:21:28,538 --> 00:21:32,792 Es gente escribiendo un millón de pequeñas instrucciones. 410 00:21:32,876 --> 00:21:38,256 Actualmente, Google Translate tiene unas 500 líneas de código 411 00:21:38,340 --> 00:21:40,008 que usan el aprendizaje automático. 412 00:21:40,216 --> 00:21:44,429 Supongamos que, por un descuido, ninguna de las fotos de fiestas ingresadas 413 00:21:44,512 --> 00:21:46,639 incluyó a gente negra o hispana. 414 00:21:47,015 --> 00:21:49,601 La computadora podría decidir que una regla de las fiestas 415 00:21:49,684 --> 00:21:52,562 es que solo blancos y asiáticos están invitados. 416 00:21:52,812 --> 00:21:55,982 Hay muchos blancos y asiáticos que programan. 417 00:21:56,232 --> 00:21:58,360 Deberíamos expandir 418 00:21:59,069 --> 00:22:02,447 quién está en esa sala de diseño por un millón de razones. 419 00:22:02,530 --> 00:22:05,325 Harán preguntas mejores si hay más experiencia. 420 00:22:05,533 --> 00:22:09,037 Pero, al final, si alimentas datos a tu sistema de aprendizaje automático, 421 00:22:09,120 --> 00:22:13,208 digamos del sistema de justicia criminal, con un racismo estructural incorporado, 422 00:22:13,291 --> 00:22:17,170 y digamos que tus programadores parecen un anuncio de Benetton, 423 00:22:17,253 --> 00:22:22,384 de diferentes razas, diferentes caras, diferentes niveles sociales, 424 00:22:22,467 --> 00:22:25,303 el sistema automático aún aprenderá de los datos. 425 00:22:25,387 --> 00:22:28,139 Sin gente que los corrija activamente, 426 00:22:28,223 --> 00:22:32,143 los datos históricos nos llevarán a repetir los errores del pasado. 427 00:22:33,812 --> 00:22:38,358 La historia de la programación es la de la ambición y creatividad humana. 428 00:22:38,566 --> 00:22:41,528 Despegue del cohete Falcon 9. 429 00:22:41,611 --> 00:22:44,030 Hemos visto lo que creíamos invisible... 430 00:22:44,823 --> 00:22:45,782 ...un agujero negro. 431 00:22:45,865 --> 00:22:49,702 Estamos construyendo un mundo nuevo con herramientas cada vez más intuitivas 432 00:22:49,786 --> 00:22:52,122 que más personas pueden usar 433 00:22:52,664 --> 00:22:55,834 para ayudar a asegurar que ese mundo sea mejor. 434 00:22:56,126 --> 00:22:59,546 Ha sido todo un recorrido que las computadoras sean más accesibles 435 00:22:59,629 --> 00:23:02,424 a los humanos y para un mayor número de humanos. 436 00:23:02,507 --> 00:23:07,178 Vimos a esta revolución desarrollarse ante nuestros ojos en los últimos 50 años. 437 00:23:07,262 --> 00:23:09,764 Por eso es tan emocionante estar vivo hoy. 438 00:23:09,889 --> 00:23:14,144 Es muy importante recordar que todo lo que usas en tu computadora 439 00:23:14,227 --> 00:23:16,771 fue creado por un ser humano. 440 00:23:16,855 --> 00:23:18,815 Puedes ser una de esas personas, 441 00:23:18,898 --> 00:23:21,317 y es muy importante que te conviertas en una de ellas. 442 00:23:21,401 --> 00:23:24,154 Puedes cambiar al mundo de una manera fundamental. 443 00:23:24,446 --> 00:23:28,616 Hay un mundo que se controlará usando aprendizaje automático, 444 00:23:28,741 --> 00:23:32,287 datos y programación tradicional de más y más maneras. 445 00:23:32,537 --> 00:23:35,123 Y lo que tenemos que hacer como sociedad es decir: 446 00:23:35,206 --> 00:23:37,834 "Bien. Tenemos esta nueva tecnología potente. 447 00:23:38,209 --> 00:23:43,089 En cierto sentido, podría ser genial, pero no será genial por sí sola". 448 00:24:07,989 --> 00:24:10,992 Subtítulos: Fernanda Avalos B.