[TIMBRE DEL TELÉFONO]
- [MUJER] 9-1-1, ¿emergencia? - [LLAMA EL TELÉFONO]
[SEGUNDA MUJER] 911. ¿Cuál es su emergencia?
- [HOMBRE] 9-1-1. ¿Cuál es tu emergencia? - [SEGUNDA MUJER] 9-1-1.
[KARLIE KLOSS] El 9 de abril de 2014, el servicio 9-1-1 se detuvo repentinamente
para millones de personas en los Estados Unidos.
Estuvo inactivo durante más de seis horas.
Más de 6.000 llamadas de emergencia no pudieron comunicarse.
El gobierno rastreó el problema hasta una computadora en una instalación de enrutamiento de llamadas
en Englewood, Colorado.
Fue un simple error de codificación.
Las personas a cargo de codificar esa computadora
eligieron hacerlo con un límite superior para la cantidad de llamadas que podía registrar,
un límite que los codificadores pensaban que la computadora nunca alcanzaría.
Pero esa noche de 2014, lo hizo.
La computadora siguió sus instrucciones a la perfección.
Llegó al límite y dejó de enrutar llamadas.
El problema no fue la computadora, y no fue un error en el código.
Fue la codificación, el proceso de toma de decisiones
mediante el cual las personas se comunican con la computadora.
Este tipo de poder conlleva una gran responsabilidad ética.
No hay nada como hacerlo. No hay nada que lo sustituya.
Ya sabes, de la misma manera en que los constructores de una ciudad
determinan cómo se vive tu vida en la ciudad,
creo que el código controla cómo vivimos en línea,
que básicamente es cómo vivimos.
No solo cuando nos conectamos a Internet, sino cuando contactamos con los servicios de emergencia ...
o ir al médico o subir a un coche.
Todos estamos tan cerca del código todos los días.
Sin embargo, solo alrededor de un tercio del uno por ciento de nosotros
sabemos cómo escribirlo.
Para la inmensa mayoría, es una caja negra.
Pero no tiene por qué ser así. Entonces, ¿cómo funciona realmente la codificación?
¿Y qué nuevo mundo estamos construyendo con él?
[HOMBRE] La computadora.
El
hombre creó una ingeniosa colección de hardware electrónico .
[SEGUNDO HOMBRE] No es que no tengamos máquinas adecuadas para resolver nuestros problemas,
sino que carecemos de descripciones adecuadas de cómo resolver nuestros problemas.
[MUJER] Cuando alguien dice codificar, piensas que es muy, muy difícil.
[HOMBRE] Es muy importante recordar realmente
todo lo que usas en tu computadora fue creado por algún ser humano.
Digamos que vino un extraterrestre y pensaste: "Está bien, ¿cuál es la importancia del código?
¿Qué es?". Yo diría: "Bueno, ya sabes, vivimos en este tipo de tierra física,
y unos 50 años hace,
un pequeño grupo de personas comenzó a construir otro planeta.
Pero no fue el planeta físicos, virtuales.
Mire alrededor de la calle. ves todas las personas que caminan por la calle
con su cabeza inclinada hacia abajo y mirando a su teléfono?
Son en realidad en ese otro mundo. Entonces, eso es lo que es el código.
Son los componentes básicos de ese otro mundo ".
Este telar es el antepasado de todas las computadoras y teléfonos inteligentes de la Tierra.
Se inventó en 1804 y la gran innovación fueron estas tarjetas.
Los agujeros en cada tarjeta permitían que solo pasaran ciertos pines.
Con miles de agujeros en cientos de tarjetas, los
tejedores podían hacer patrones más complejos que antes.
Los mantones elaborados se pusieron de moda en Europa.
Y los diseños tejidos podían ser tan intrincados que parecían dibujos,
como este del inventor del telar.
Antes de estos telares, las cuerdas individuales tenían que ser seleccionadas a mano
por "dibujantes".
En aquel entonces, las matemáticas también se realizaban a mano, mediante las llamadas "computadoras".
Las primeras computadoras fueron personas.
Y las mejores máquinas que teníamos para ayudarnos solo podían resolver un tipo de problema matemático,
como el ábaco para sumar y restar.
El matemático británico Charles Babbage
quería una máquina que pudiera resolver cualquier problema matemático que usted eligiera para que lo hiciera
o, más bien, que lo "programara" para que lo hiciera.
Propuso una máquina que llamó "El motor analítico".
La idea de Babbage le haría ganar un lugar en la historia.
Las computadoras fueron inventadas por primera vez por Babbage,
un inventor británico muy excéntrico.
Babbage tuvo la inspiración de cómo funcionaría.
Guardaba una copia de esta imagen colgada en su casa.
El motor analítico de Babbage, como el telar de Jacquard,
tenía partes físicas ... hardware.
Y también al igual que el telar,
podría dar las instrucciones del hardware en forma de tarjetas perforadas con agujeros.
Los agujeros dejan entrar alfileres
y la ausencia de agujeros obligó a otros pasadores a retroceder,
desencadenando una cadena de cálculos mecánicos.
Las cartas con sus diferentes agujeros, eso es software.
Babbage nunca terminó su motor analítico,
pero una joven que trabajaba con él
vio su potencial de cambiar el mundo mucho más allá de las matemáticas.
Ada Byron, condesa de Lovelace, escribió:
"Los límites de la aritmética fueron superados en
el momento en que surgió la idea de aplicar las cartas".
Vio lo que vio Jacquard ...
los agujeros podrían representar más que números.
Pueden ser patrones, música ...
u oraciones completas.
Puedes pensar en ello como un código Morse.
Cada letra del alfabeto en código Morse
se expresa como un conjunto de sólo dos señales ...
[PITIDO CORTO] o [PITIDO LARGO]. Es binario.
Y con solo esos pitidos, podemos decir cualquier cosa,
como esta llamada de socorro enviada por el Titanic en 1912.
SOS no significa nada.
Es increíblemente sencillo enviar código Morse.
[ANDY] También puedes pensar en que cada letra
podría expresarse como una combinación de ceros y unos.
[KLOSS] ¿Te suena familiar? Este es un código binario.
Y así es como cerramos la brecha entre las máquinas y el lenguaje humano.
Cada uno o cero es un dígito binario o "bit".
Estos son los átomos de la informática moderna.
Puede que los conozca por otro nombre ... ocho bits es un byte.
Entonces, ¿conoce esa imagen en su computadora que es de 1.1 megabytes?
Eso es 8.800.000 unos y ceros.
Como los puntos y guiones del código Morse son solo una forma de escribir
[PITIDO LARGO] y [PITIDO CORTO],
los ceros y unos del código binario son la forma en que escribimos
lo que realmente está sucediendo en una computadora moderna ... con
o sin cargo.
Este es un circuito eléctrico simple.
Imagínese a millones de ellos trabajando juntos.
Eso es una computadora hoy.
En un circuito eléctrico, esto es un poco.
¿Está apagada la bombilla? Cero.
¿En? Uno.
Las computadoras solo entienden la electricidad,
por lo que todo lo que los codificadores hacen con las computadoras es, al final,
solo una serie de cargas intermitentes.
Todo funciona porque, unidos de la manera correcta,
esos cargos pueden representar la lógica.
[HOMBRE] Básicamente, la lógica es una serie predecible de hechos o eventos,
como cerrar este interruptor ...
y este para hacer sonar el timbre.
[Suena la campana]
De hecho, los informáticos llaman a esto un circuito Y lógico.
[KLOSS] O una puerta lógica.
Veamos si puedo hacer esto sin hacer un agujero en esta mesa.
En una puerta AND, ambos circuitos deben estar cerrados para que se encienda la luz.
Y hay puertas OR,
donde la luz se enciende si solo uno de los circuitos está cerrado.
Puede decirlo de otra manera.
Si uno de estos circuitos está cerrado, encienda la luz.
Ese tipo de declaración si / entonces, es un algoritmo.
En la cultura pop actual, la palabra "algoritmo"
causa mucha confusión.
Hemos visto esto antes, eh, donde los algoritmos se vuelven locos.
La forma en que funcionan los algoritmos es un misterio para la mayoría de las personas.
¿Qué diablos es un algoritmo, de todos modos?
[KLOSS] Pero un algoritmo es en realidad un conjunto de direcciones.
Imagínese caminando hacia la tienda.
Puede girar a la izquierda y luego a la derecha.
O simplemente puede girar a la derecha y luego girar a la izquierda.
O también puede tomar cuatro izquierdas,
correr alrededor del parque, cruzar una carretera
y luego tomar cuatro a la derecha nuevamente.
Al igual que existen diferentes direcciones para llegar al mismo lugar,
en la codificación, puede haber muchos algoritmos diferentes
para resolver el mismo problema.
El objetivo es encontrar el más elegante y eficaz.
El código hermoso no se repite.
Es muy elegante. Es poderoso.
Las computadoras que ejecutan algoritmos simplemente hicieron lo que les dijimos que hicieran,
pero mucho más rápido, lo que hizo que las personas fueran mucho más poderosas.
Cuando los científicos comenzaron a desarrollar la bomba de fusión,
utilizaron principalmente computadoras humanas.
Pero luego recurrieron a este ...
la computadora ENIAC ejecutó cálculos termonucleares durante seis semanas.
Sus resultados contribuyeron directamente a esto ...
la primera prueba exitosa en 1952
de una bomba cientos de veces más poderosa que las bombas de fisión atómica.
cayó sobre Hiroshima y Nagasaki durante la Segunda Guerra Mundial.
El poder de codificar amplificó la capacidad de las personas para hacer
lo que decidieran hacer.
Pero en la década de 1940, todavía era mucho trabajo.
[ANDY] Escribir programas en ceros y unos claramente no se escala.
[KLOSS] La gente quería más del poder que ofrecía la codificación,
pero querían una forma más fácil de codificar.
La historia de la codificación desde entonces
ha sido la historia de hacer que el código se acerque cada vez más al lenguaje humano
al inventar lo que casi todos los codificadores de hoy en día usan realmente ... lenguajes de programación.
Comparados con unos y ceros, estos lenguajes son bastante abstractos.
Abstracción es una palabra difícil para la gente.
Los lenguajes más abstractos se reducen a los mismos ceros y unos.
Acabamos de encontrar mejores formas de organizarlos.
Puedes pensarlo en términos de biología.
Los seres humanos son increíblemente complejos,
pero el 99% de nuestros cuerpos están compuestos por solo seis elementos.
[ALAN] Y puedes llegar a moléculas grandes.
Entre esa capa de organización
y la que es el ser vivo más simple hay
un pequeño salto.
[KLOSS] Y los humanos tienen cerebros que hacen cosas tan avanzadas
que es difícil creer que todavía estén hechos de la misma materia.
Las computadoras en realidad son así, pero son mucho más simples.
Así que esa es la buena noticia.
La historia de la codificación es la historia de mover este cuadro hacia arriba,
alejarnos del binario para darnos más fácil, más rápido,
formas más poderosas de codificar
sin tener que lidiar con
las puertas binarias y lógicas que se encuentran debajo o incluso comprenderlas .
Eso es lo que permite a los programadores crear los productos con los que todos estamos familiarizados.
El primer paso para llegar allí fue ...
[ANDY] "Lenguaje ensamblador", que es mucho más fácil de leer y escribir,
donde dices en lugar de 0-1-0-0-0-1-1-1,
llamemos "agregar",
y luego hacer que un programa llamado ensamblador
traduzca las letras ADD
a los correspondientes ceros y unos equivalentes.
[KLOSS] En este nivel, el binario se organiza en letras y números,
al igual que los átomos se organizan en moléculas.
Pero codificar en lenguaje ensamblador todavía no era exactamente fácil,
porque todas estas computadoras usaban diferentes lenguajes ensambladores.
Si escribiera un programa para una computadora, no funcionaría en ninguna de las demás.
Muy rápidamente, la gente empezó a pensar:
"Bueno, lo que realmente queremos darle a la computadora
son cosas en términos que realmente usamos todos los días".
Tienes lenguajes de programación
que construimos usando el lenguaje ensamblador,
y luego a partir de esos lenguajes de programación, construimos más lenguajes de programación.
Probablemente hayas escuchado sus nombres.
- LISP. - BÁSICO.
- Java. - C ++.
- [HOMBRE] Python 3. - HTML 5.
PERLA. PHP. Un poco de C.
Al igual que las lenguas habladas son formas diferentes
de expresar la misma idea a otras personas,
Los lenguajes de programación
son solo diferentes formas de expresar la misma idea a las computadoras.
[ANDY] Tenemos más de un idioma de alto nivel
porque, en primer lugar,
diferentes idiomas abordan diferentes necesidades.
[KLOSS] Echa un vistazo a estos dos.
Este, COBOL, se creó a fines de la década de 1950
para facilitar a las empresas el uso del código.
Se parece mucho al inglés,
excepto si cada conversación termina con "STOP RUN".
Este, CPL, se desarrolló en la década de 1960
e incluía más computación científica.
Es como la evolución biológica.
A medida que los organismos se vuelven más complejos, desarrollan características
que los hacen mejor adaptados a sus entornos específicos.
Y, francamente, también es cuestión de gustos.
A la gente le gustan las diferentes herramientas para expresarse.
Por ejemplo, el lenguaje C ++.
Elon Musk ... n-no es un fan.
Podrías inventarte uno.
Este es un verdadero lenguaje de alto nivel compuesto enteramente por la palabra "moo".
Seriamente. Se llama VACA.
Este está hecho de citas de películas de Arnold Schwarzenegger.
Cada vez que pienso, "Está bien, ya tenemos que terminar",
alguien más inventa un nuevo lenguaje
y eso desarrolla un grupo de devotos.
Así que no veo ningún final a la vista para la invención de nuevos lenguajes.
Y todos estos lenguajes todavía se basan en la lógica.
Por ejemplo, un codificador de Netflix podría decir:
"Si tu
luego mostrar esto ".
Pero para que el código impactara la vida de la
mayoría de las personas , la mayoría de la gente tenía que usar computadoras, lo
que significaba que las computadoras tenían que ser más fáciles, más amigables
y eso requirió otro gran salto, que comenzó aquí,
en una demostración ofrecida por Doug Engelbart en 1968.
[DOUG] En un segundo, veremos la pantalla en la que está trabajando
y la forma en que el punto de seguimiento se mueve
junto con los movimientos del mouse. La
gente hoy en día no programa
escribiendo declaraciones en una hoja de papel
y luego entregárselos a alguien que lo escriba .
Te sientas en una pantalla. Tienes una interfaz gráfica de usuario.
Hoy en día, los llamamos GUls.
Con GUls, la gente puede codificar sin escribir nada.
O simplemente pueden usar el código más fácilmente.
Por lo general, está operando en un entorno
de programación del tipo que Alan y sus compañeros
crearon tan maravillosamente
en el Centro de Investigación Xerox Palo Alto a principios de los años setenta.
Alan. Este Alan.
Pienso en él como el padre de la informática personal
porque fue el primero en articular realmente esa visión.
Y tengo que confesar, en ese momento, pensé que era ciencia ficción.
Cuando realmente se hacen cosas importantes ...
suele haber una comunidad completa.
Y, vaya, Park fue fantástico en eso. Fue como magia.
La interfaz gráfica de usuario permitió que millones de personas más
usaran las computadoras de una manera que les resultaba natural.
Cuando Xerox anunció GUls por primera vez en 1979,
mostraron cómo el código podía cambiar la vida diaria.
[HOMBRE] Entras en tu oficina
y una máquina Xerox presenta tu correo matutino en una pantalla.
Pronto, los sistemas Xerox como este
le ayudarán a administrar su recurso más valioso ... la
información.
Había personas como yo,
y muchas personas en esta comunidad de investigación
querían mejorar el mundo.
Tenían una idea que estaba profundamente relacionada con el aumento humano.
Algo que interactuaría con nosotros,
ya sabes, el público, la persona normal,
y nos haría capaces de hacer más de lo que éramos antes.
Nos hizo capaces de hacer más.
Las GUls fueron un gran salto en este espectro.
Y luego vino la siguiente innovación que cambiará el mundo.
[DIAL-UP DRONE]
Una nueva forma de distribuir todo lo que podríamos hacer con código.
En la televisión, la gente comenzó a predecir
lo que significaría el acceso repentino a todo este código.
Imagínese, si lo desea, sentarse a tomar su café de la mañana,
encender la computadora de su casa para leer el periódico del día.
Imagine un mundo en el que cada palabra escrita,
cada imagen pintada,
cada película filmada se pueda ver instantáneamente en su hogar.
Creo que estamos en la cúspide de algo estimulante y aterrador.
- Sin embargo, es solo una herramienta, ¿no? - No, no es.
Los productos de software más impactantes de la actualidad utilizan todas estas innovaciones.
Un estudiante universitario usó un lenguaje de programación de alto nivel, PHP,
para hacer algo compartido a través de Internet,
para usarlo en computadoras con GUls.
Lo describió en su primera entrevista televisiva en 2004.
Es un directorio en línea que conecta a las personas a
través de universidades y colegios a través de sus redes sociales allí.
Ahora estamos en cien mil personas, así que, ¿quién sabe a dónde vamos ahora?
Donde fuimos fueron más de 2,000,000,000 de personas
en Facebook mensualmente.
Hoy en día, los codificadores dan forma literalmente a miles de millones de vidas.
Cómo trabajan, compran, comen, salen y se relajan.
¿Que estas haciendo ahora mismo?
Me estás mirando en un navegador web de Netflix.
Así que Netflix en sí mismo es código,
y se ejecuta en un navegador web que es código,
que se ejecuta en una computadora que fue diseñada usando código.
Son tortugas todo el camino hacia abajo, ¿verdad?
Un buen código es como ser el arquitecto de un museo en el
que millones de personas piensan,
caminan y usan todos los días.
Creo que no hay nada como escribir código, porque se siente como pura creación.
Tienes una idea de cómo debería funcionar algo,
y luego intentas sentarte frente a una computadora
y hacerlo realidad.
Creo que hay mucha responsabilidad en ese papel.
Sabes, tienes un límite de velocidad.
No más de 60 millas por hora.
Multa. Pero, ¿qué
pasaría si tuvieras un automóvil y la computadora dijera ... "Bueno, este automóvil no va a ir a más de 60 millas por hora"?
Esa es una forma diferente de controlar su comportamiento.
A menudo, al controlar nuestras elecciones ... el
código en nuestra vida ejerce un efecto regulador casi más profundo,
eh, de lo que la ley puede esperar.
Y eso podría ser algo grandioso.
Hay alrededor de 6.000.000 de accidentes automovilísticos en los EE. UU. Cada año,
y un análisis encontró que el 94% son causados ​​por el conductor.
Los avances en la codificación podrían salvar millones de vidas.
Pero también pueden poner vidas en peligro de nuevas formas.
Tengo algo que se llama miocardiopatía hipertrófica,
um, que es el término médico para el hecho de que tengo un gran corazón.
Mi corazón es literalmente un gran corazón.
Tiene aproximadamente tres veces el tamaño del corazón de una persona normal.
Me enteré cuando tenía alrededor de 30 años,
por lo que mi riesgo de morir repentinamente a los 40 era simplemente muy grande.
Y el electrofisiólogo dijo: "Bueno, esto no es ningún problema
porque puede conseguir un desfibrilador de marcapasos".
Este dispositivo funciona con código.
Hace un par de años, cuando estaba embarazada,
mi corazón palpitaba.
Aproximadamente una cuarta parte de todas las mujeres tienen palpitaciones.
Es perfectamente normal.
Pero mi dispositivo pensó que estaba en un ritmo peligroso y me sorprendió.
Los fabricantes de dispositivos no tienen interés en que las mujeres embarazadas se sorprendan.
Es literalmente lo último que quieren.
Simplemente ... no lo han considerado.
Existe este enorme conjunto de decisiones ...
y las personas que hacen la programación las tomarán.
E inevitablemente, habrá una combinación de circunstancias
que no habrán anticipado.
Entonces, lo que intentamos enseñar cuando enseñamos el oficio de la programación
es cómo piensas sobre todas estas diferentes condiciones.
Cómo intentas ser exhaustivo sin quedarte paralizado
por la cantidad de cosas que podrías tener que considerar.
Y eso solo se volverá más cierto,
porque hemos comenzado a codificar de una manera completamente nueva.
En la codificación tradicional, escribe instrucciones para una computadora.
Pero ahora podemos darle a una computadora un montón de entradas y un montón de salidas
y conseguir que escriba sus propias instrucciones.
Lo que haces es darle a la computadora ...
muchos ejemplos,
y dices: "Esto es una fiesta, esto es una fiesta, esto es una fiesta". ¿Correcto?
Y luego tienes otras cosas. La oficina de un dentista ... no una fiesta.
Un salón de clases ... no una fiesta.
Entonces, la computadora los examina
e intenta construir un sistema de clasificación.
Esto es aprendizaje automático.
En estos días, si alguien dice inteligencia artificial,
esto es lo que quiere decir.
Ese es un tipo de abstracción
y una forma de hacer las cosas completamente diferente,
porque realmente no encaja en la forma en que apilamos estas cosas.
Los llamamos algoritmos de aprendizaje automático.
porque la computadora está creando su propio conjunto de instrucciones a seguir.
Pero, por supuesto, al final,
también se traducen en pequeñas instrucciones.
Google Translate solía tener más de un millón de líneas de código.
Eso es gente escribiendo millones de pequeñas instrucciones.
Actualmente, Google Translate tiene aproximadamente 500 líneas de código
, que solo llama al aprendizaje automático. - Suponga que, debido a un descuido,
ninguna de las fotos de las fiestas que realizó incluía a personas negras o hispanas.
La computadora podría decidir que una regla de las fiestas
es solo blanca y se invita a los asiáticos.
Hay muchos chicos blancos y asiáticos que programan.
Deberíamos expandir absolutamente quién llega a estar en esa sala de diseño
por un millón de razones.
Harán mejores preguntas si hay más experiencia de vida.
Pero, al final, si está alimentando los datos de su sistema de aprendizaje automático,
digamos, un sistema de justicia penal que tiene racismo estructural integrado en esos datos,
y digamos que sus programadores de aprendizaje automático se
ven como un anuncio de Benetton, de diferentes razas, diferentes tipos de caras,
diferentes orígenes sociales,
ese sistema de aprendizaje automático todavía va a aprender de los datos.
Sin que la gente corrija activamente eso,
los datos históricos nos llevarán a repetir los errores del pasado.
La historia de la codificación es una historia de ambición y creatividad humanas.
[HOMBRE] Despegue del cohete Falcon 9.
Hemos visto lo que pensamos que era invisible.
Un agujero negro.
Estamos construyendo un mundo nuevo con herramientas cada vez más intuitivas
que un mayor número de personas puede utilizar para ayudar a garantizar que el mundo sea mejor.
Hemos emprendido un viaje
para hacer que las computadoras sean más accesibles para los seres humanos
y para un mayor número de seres humanos.
Estamos viendo esta revolución desarrollarse ante nuestros ojos en los últimos 50 años,
y por eso es tan emocionante estar vivo hoy.
Es muy importante recordar realmente que
todo lo que usa en su computadora fue creado por algún ser humano.
De hecho, puedes ser una de esas personas,
y es muy importante que te conviertas en una de esas personas.
De hecho, puedes cambiar el mundo de una manera realmente fundamental.
Hay un mundo que se ejecutará
utilizando el aprendizaje automático y los datos y la codificación tradicional
de más y más formas.
Y lo que tenemos que hacer como sociedad es decir:
"Está bien. Tenemos esta nueva tecnología potente
y , de alguna manera, podría ser excelente, pero no será excelente por sí misma".
[REPRODUCCIÓN DE MÚSICA DE CIERRE]