Aprendí el lenguaje de la programación informática a los 50 años: esto es lo que descubrí | Tecnología

OhUn día de 2017 me di cuenta de algo que ahora parece obvio, pero que en aquel entonces me impactó: casi todo lo que hacía estaba mediado por códigos informáticos. Y a medida que el flujo de código que llegaba a mi mundo se convertía en una inundación, ese mundo no parecía estar mejorando, sino empeorando en una proporción aproximada. Empecé a preguntarme por qué.

Dos posibilidades me vinieron inmediatamente a la mente. Una era la gente que escribió el código –los programadores–, que durante mucho tiempo han sido representados en la cultura pop como un clan de inadaptados vagamente cómicos y adoradores de Tolkien. Otra era el sistema supercapitalista en el que muchos trabajaban, ejemplificado por el profundamente extraño Silicon Valley. ¿Uno o ambos estaban usando el código para reconfigurar el entorno humano y hacerlo más adecuado para ellos?

Había también una tercera posibilidad, que apenas me atrevía a contemplar porque la perspectiva era terrible. ¿Y si había algo en la forma en que calculamos que no coincidía con la forma en que somos los humanos? Nunca había oído a nadie sugerir tal posibilidad, pero en teoría, al menos, existía. Poco a poco, se hizo evidente que la única forma de averiguarlo sería subirme a la máquina aprendiendo a codificar.

Como escritor de cincuenta y tantos años sin formación técnica, no sabía casi nada sobre cómo funcionaba el código, pero me había topado con programadores (y me habían intrigado) cuando escribía un artículo sobre bitcoin en una revista unos años antes. El creador seudónimo de la criptomoneda, Satoshi Nakamoto, había dejado pocas pistas sobre su identidad antes de desaparecer, pero había dejado cien mil líneas de código que, según me pareció, sus compañeros leían como si fueran literatura. Aprendí que se utilizaban miles de lenguajes de programación para comunicarse con las máquinas, incluidas unas pocas docenas de lenguajes importantes cuyos nombres tendían a sugerir rosas o productos de limpieza excesivamente fuertes (Perl, Ruby, Cobol, Go), y que cada uno tenía su propia ética y un grupo de seguidores sectarios, que se convertían en subculturas tan apasionadas y completas como las subculturas juveniles (punks, mods, góticos, skinheads) con las que crecí.

Parecía que podía haber rivalidad, incluso una leve animosidad, entre estas tribus, una fricción a la que los programadores se referían medio en broma como “guerras religiosas” con el argumento de que nadie iba a cambiar nunca de opinión. De repente, el reino de los programadores parecía rico e intrigante. Más tarde, hablé con un físico teórico que había estado estudiando el “comercio de alta frecuencia” en el mercado de valores, en el que algoritmos que funcionan fuera del control humano luchan para engañarse entre sí sobre el estado del mercado. Me quedé horrorizado pero fascinado cuando se refirió a este cosmos de código como “el primer ecosistema verdaderamente creado por el hombre”. El estudio de su equipo se publicó, no en una revista de física o informática, sino en Naturaleza.

Un residuo de curiosidad era todo lo que tenía de mi lado cuando me dispuse a aprender en un dominio que resultó más peculiar (y a menudo más divertido) de lo que me hubiera atrevido a imaginar. Como sucede con todos los ingenuos del código, mi primera tarea fue elegir un lenguaje. Pero ¿en base a qué? Al final, encontré un sitio web extraordinario llamado Campamento de código libredonde aprendí que había un trío clásico de lenguajes detrás de la mayoría de los sitios web y que muchos estudiantes comenzaron con ellos. HTML, para lenguaje de marcado de hipertexto, fue creado en los albores de la red mundial por Tim Berners-Lee y se utiliza para definir la estructura de una página web, mientras que CSS (Cascading Style Sheets) permite dar estilo a los elementos HTML. Opcionalmente, se puede utilizar JavaScript para animar esos elementos. Disfruté de los dos primeros, trabajando en mi primera crisis de código y experimentando la alegría de ver a la máquina hacer algo que yo había planeado. Hasta que alguien señaló que probablemente me gustaba HTML y CSS porque no eran “algorítmicos”: solo estaba moviendo cosas de un lado a otro. En otras palabras, esto era codificación, pero no programación.

Entonces se oyeron algunas palabrotas, pero en el fondo sabía que mi elección no había sido aleatoria. Los algoritmos son escurridizos y difíciles de controlar en un entorno esencialmente binario, ajeno e implacable, donde una coma mal colocada puede provocar que un avión se estrelle o que un satélite explote. Obviamente, una parte de mí había querido evitarlos. Entonces miré JavaScript, el poderoso pilar algorítmico de la tríada web, y lo odié.

En esencia, los algoritmos son cosas simples, que consisten principalmente en declaraciones “si” (si sucede “x”, haz “y”; si no, haz “z”) y “bucles while” (mientras se cumpla “x”, sigue haciendo “y”; cuando “x” ya no se cumpla, deja de hacer “y”). Por su naturaleza, los algoritmos concentran y refuerzan lo que se les da. En principio, si esas cosas son buenas, el mundo mejora; si son malas, el mundo empeora. De hecho, no es tan simple. Sin embargo, mi consternación por JavaScript se debía a algo más que a mi incomodidad con los algoritmos. Por extraño que pareciera para lo que siempre había considerado un reino hiperracional, el problema principal era estético. Emocional. Solo mirar JavaScript, con sus feas filas de corchetes y llaves y montones de puntos y comas aparentemente innecesarios, me hacía sentir miserable. También parecía haber 25 formas diferentes de realizar cada tarea y estas cambiaban constantemente, convirtiendo el lenguaje en una especie de salvaje oeste de codificación. Cuanto más tiempo pasaba con él, más pensaba:No puedo hacer esto; la codificación no es para mí; no tengo el tipo de mentalidad adecuada (y nunca me gustó). La guerra de las galaxias).”

En ese momento, tuve un golpe de suerte cuando un amigo de un amigo, un programador profesional, me sugirió que probara otro lenguaje antes de rendirme. Me puso en contacto con un hombre llamado Nicholas Tollervey, que era prominente dentro de la comunidad del lenguaje Python. Antes de llamar a Tollervey, eché un vistazo a Python y al instante me sentí más a gusto con él. Lo primero que noté fue la sencillez de su sintaxis, que utilizaba sangrías en lugar de símbolos feos para delinear las instrucciones a la máquina. El lenguaje fue diseñado por un holandés naturalmente colaborativo llamado Guido van Rossum, que valoraba la comunicación, la comunidad y la preocupación por cómo se comportaría su lenguaje en la naturaleza –en otras palabras, la empatía– por encima de todo lo demás. Bautizó su lenguaje Python en honor a Monty Python, un toque humano y caprichoso que parecía prometedor. Cuando Tollervey me sugirió que viajara a Cleveland, Ohio, para asistir a la conferencia PyCon, con 4.000 asistentes, me encontré a mí mismo aceptando, sin tener idea de a qué estaba accediendo.

El primer día no se parecía tanto a la reunión rígida que había imaginado como al primer día de vuelta en Hogwarts. Me encontré con Tollervey, que se había graduado en el Royal College of Music como tubista antes de pasarse a la programación, el tipo de historia de fondo que oía a menudo en PyCon. Me enteré de que Python apareció por primera vez a principios de los años 90, pero tardó casi dos décadas en ponerse de moda: Van Rossum cuenta que convocó una reunión en una gran conferencia informática a principios de este siglo y que solo acudió un puñado de entusiastas. Sin embargo, a medida que los programas crecían en tamaño y complejidad, sus prioridades para el lenguaje empezaron a notarse. Cuando le pregunté a la entonces presidenta de la Python Software Foundation, Naomi Ceder, cómo había previsto Guido (para los “Pythonistas”, siempre es simplemente Guido) la forma en que cambiaría el entorno de la programación, me dijo que no.

“¡Nadie podría! Puede que esto suene raro viniendo de un programador, pero creo que lo que Guido aporta es un sentido estético… su gran atención a la estética del lenguaje le dio una forma y una estructura que se prestaban a la adaptación y al escalamiento, como un edificio clásico”.

Saltar la promoción del boletín informativo

Esto puede parecer poco destacable en el mundo exterior, pero en código no lo es. Larry Wall, el fascinante polímata que creó Perl (que parecía eclipsar a Python y a la mayoría de sus pares en los años 90), definió específicamente su lenguaje en oposición a Python. Este último, dijo, era una creación modernista, que imponía su propia estética y limitaba la libertad de elección o interpretación, despriorizando al individuo. Perl, afirmó, era explícitamente posmoderno, brindando al individuo tantas opciones como fuera posible y dejándole decidir qué usar. Creo que Wall tiene razón en ambos aspectos, incluso si esta es una discusión que nunca esperé tener en relación con el código. Sin embargo, hay un punto serio que comencé a vislumbrar en PyCon: que los valores y supuestos contenidos en los lenguajes de programación informan el software que está escrito con ellos y cambian el mundo en consecuencia. Cuando me enteré de que Brendan Eich, autor de JavaScript, es un antivacunas y partidario de una campaña para que se aprobaran las nuevas tecnologías, ya había perdido la noción de que los lenguajes de programación eran una fuente de información para el software que se escribe con ellos. El matrimonio entre personas del mismo sexo queda prohibido en CaliforniaNo me sorprendió.

Me sorprendió lo mucho que me divertí con las Pythonistas. La programación tiene un problema de género y raza, ya que solo un 5% de los profesionales se identifican como mujeres o como negros, africanos o caribeños. Me llevaría varios años llegar al fondo de la cuestión, pero se estaban haciendo grandes esfuerzos para abordar el problema dentro de las comunidades Python de todo el mundo, especialmente en África. Una organización que intenta revertir este desequilibrio es PyLadies, que tradicionalmente realiza una subasta para recaudar fondos el sábado por la noche de la conferencia. Conseguí una entrada y tuve una primera sensación real, en microcosmos, de una comunidad que, aunque todavía demasiado limitada en términos de género y raza, es fácilmente el grupo cultural y neurológicamente más diverso que he visto.

Para mí, lo más destacado de la subasta fue un cuadro de una de las PyLadies más jóvenes. El subastador me explicó que, el año anterior, Lynn había sufrido un agotamiento severo, algo habitual en un campo en el que las pequeñas acciones pueden tener efectos enormes. Se había apartado del código y había empezado a pintar acuarelas en su búsqueda de la paz. Las otras PyLadies habían trabajado duro para convencerla de que ofreciera un cuadro de sus gatos, pero desde donde yo estaba sentada podía ver que temblaba de ansiedad, aferrándose a un colega tras bambalinas. El cuadro había significado mucho para ella, pero ¿qué podría significar para los demás?

Observé con asombro cómo la subasta comenzaba lentamente y luego se aceleraba hasta un pico de $1,410, mientras el joven codificador se deshacía en lágrimas y luego en torrentes de lágrimas con la liberación visceral de un acantilado desmoronándose en el mar, y me fui pensando que esta era una de las cosas más hermosas que había visto en mi vida; sabiendo que esta era una comunidad que quería conocer mejor.

Dos años después, estaría escribiendo mi primer nervioso Python como voluntario en la brigada de San Francisco de Code for America, el equivalente en codificación sin fines de lucro del Cuerpo de Paz, trabajando en un panel de control de pandemia para el Área de la Bahía y sintiéndome como el converso más improbable del mundo a la cultura del código.

Aun así, a medida que me adentraba más en Silicon Valley y en lo que llegué a considerar el “microcosmos”, encontré un problema oculto en la forma en que calculamos, algo intrínseco al código mismo, que no concuerda con la forma en que hemos evolucionado. Algo que ha estado concentrando poder, desgastando la sociedad y lanzando un hechizo algorítmico sobre nosotros como especie, y seguirá haciéndolo hasta que lo controlemos. Justo cuando pensaba que mi trabajo estaba terminado, estaba a punto de comenzar en serio.

El diablo en la pila: una odisea de codificación Por Andrew Smith es publicado por Grove Press (£16,99). Para apoyar la Guardián y Observador Pide tu copia en tiendadelibrosguardianes.comPueden aplicarse cargos por envío.

Fuente