Show logo
Explora todos los episodios

Press Start

  |  Command Line Heroes Team  
DevOps
Open source

Command Line Heroes • • Command Line Heroes: segunda temporada: Presiona Start

Command Line Heroes: segunda temporada: Presiona Start

About the episode

Todos los lenguajes de programación se crearon para lograr algo que antes era imposible. Actualmente existen muchísimos, ¿pero cuáles realmente necesitas conocer?

En este episodio nos sumergiremos en la historia de los lenguajes de programación. Hablaremos de la genialidad de "Amazing Grace", también conocida como la Contralmirante Grace Hopper. A ella le debemos el que los desarrolladores no necesiten un doctorado en matemáticas para escribir sus programas en código informático. Nos acompañarán Carol Willing de Project Jupyter, exdirectora de la Python Software Foundation, y Clive Thompson, colaborador de la revista The New York Times Magazine y Wired, y que actualmente está escribiendo un libro sobre la manera de pensar de los programadores.

Command Line Heroes Team Red Hat original show

Suscribir

Subscribe here:

Listen on Apple Podcasts Listen on Spotify Subscribe via RSS Feed

Transcripción

Un grupo de amigos juega Calabozos y Dragones. Se acercan y escuchan al amo del calabozo. Sí, entonces tomas el báculo para canalizar las fuerzas de la naturaleza. Y ahí vas a ver que salen enredaderas, y el báculo simplemente se adhiere a ti. Al tocarlo notas que su peso cambió, y ahora te sientes mucho más poderoso. Así es que eso es lo que haces, un hechizo que rodea... Bueno, haces eso y todavía te queda un movimiento. ¿Qué vas a hacer? Para muchos desarrolladores, Calabozos y Dragones o los juegos de computadora, fueron la puerta de entrada a la programación. Con ellos aprendieron sobre computadoras y por primera vez pudieron hablar libre y orgullosamente sobre su pasión por la informática. Fue el amor por los juegos el que los llevó a querer desarrollar uno ellos mismos. Y después ya simplemente querían dedicarse al desarrollo. Y eso es algo que me interesa mucho. En nuestra primera temporada analizamos los orígenes del código abierto y la manera en que define cada parte del mundo de los desarrolladores. Esta temporada nos vamos directamente a la línea de comando: lo que implica ser desarrollador hoy en día. Y para eso, lo primero que necesitamos es encontrar a los nuestros. Que comiencen los juegos. Antes de que se acuñaran los términos código abierto e Internet, ya había jugadores. Y esos jugadores querían estar en contacto. Cuando el mundo comenzó a conectarse en línea, ellos iban a la cabeza. Y desarrollaban lo que se necesitara para poder conectarse y compartir… Ah, y sube. Qué bien. Y se vuelve loco. Sí, el daño del arma se convierte en 8. Sí, tenías razón. Apuñálalo entonces, sí. A cuál, al druida… ¡Lo logré! Sí, y a jugar. Esta es la segunda temporada de Command Line Heroes en español, un podcast original de Red Hat. En el episodio de hoy, Press Start, las comunidades de juegos y el código abierto. You are standing at the end of a road before a small, brick building. Around you is a forest. A small stream flows out of the building and down a gully. ¿Reconoces esas palabras? Si es así, ganas diez puntos por conocer de historia. Si eres como yo y no te suenan para nada, esas son las líneas con las que comienza Colossal Cave Adventure. ¿Qué es Colossal Cave Adventure? Eso, es el juego de 1976 que cambió todo. Ese camino, ese edificio de ladrillos junto al bosque, ese arroyo que fluye hacia una quebrada... Nadie lo sabía en ese momento, pero ese juego de texto… sí, sin ninguna imagen en absoluto… sería la puerta de entrada hacia las nuevas formas de comunidad y colaboración. Colossal Cave Adventure es uno de los juegos a los que se los conoce como de aventuras en texto. Para interactuar con la computadora escribes comandos: ir al oeste, tomar espada, escalar montaña. Ese es Jon-Paul Dyson. Es vicepresidente de The Strong, el Museo Nacional del Juego, y director del Centro para la Historia de los Juegos Electrónicos. Así que sí, un trabajo muy divertido. Colossal Cave Adventure era un tipo de juego muy diferente. Era más bien un juego exploratorio y libre, como Calabozos y Dragones, que salió al mismo tiempo. Así que abre la imaginación. Fue un juego muy revolucionario. No es casualidad que a mediados de la década de los 70 haya aparecido un nuevo tipo de juego. En ese momento, el abuelo de Internet, el ARPANET, cobraba vida. Lo que sucedió fue que a uno de los chicos que trabajaba en ARPANET, que se llamaba Will Crowther, se le ocurrió desarrollar un juego de exploración de cuevas. Para crearlo, se inspiró ligeramente en una parte de la Mammoth Cave de Kentucky que había explorado. Y lo que fue realmente revolucionario fue la forma en que les daba a los jugadores la oportunidad de explorar ese entorno. Pero lo interesante es que, como ahora existía ARPANET, él se fue de vacaciones y llegó otra persona, Don Woods, que descubrió el juego e hizo muchos ajustes. Así que casi desde el principio, el juego fue resultado de una colaboración. Ahí está. Casi desde el principio, Colossal Cave Adventure fue resultado de una colaboración. Will Crowther programó la primera versión en 1975. Don Woods encontró el código fuente un año después y lo amplió significativamente. Y después todos lo compartieron libremente por ARPANET. Los principios fundamentales del código abierto estaban ahí mismo, desde el principio: transparencia, colaboración y acceso abierto. Pero en esa época, a nadie se le habría ocurrido llamarlo "código abierto". Era, simplemente, la forma de trabajar de la gente que estaba en las redes. Ahora volvamos un poco hacia adelante en el tiempo. En la década de los 80, los juegos habían evolucionado mucho. Habían salido de las universidades y los laboratorios de investigación para llegar a las salas recreativas y las consolas domésticas. Pero también siguieron siendo un vehículo para la experimentación y la colaboración. Dennis Jerz es profesor de inglés en la Universidad Seton Hill y ha estudiado extensamente la historia de los juegos de aventura de texto. En los 80, hubo una explosión de juegos de aventura de texto, tanto comerciales como no comerciales. Y muchos de estos juegos no comerciales se crearon y distribuyeron libremente a través de tablones de anuncios electrónicos y las primeras redes en línea. Los tablones de anuncios electrónicos, o BBS por sus siglas en inglés, eran sistemas de computadora que la gente podía llamar usando un módem para descargar archivos, enviar mensajes, y sí, jugar juegos. Eran los precursores de Internet tal como lo conocemos hoy. Lo que es fascinante sobre este período es cómo los juegos fueron uno de los principales impulsores de la adopción de estas nuevas tecnologías de red. La gente quería jugar, quería compartir sus propios juegos, y quería colaborar en proyectos de juegos. Y aquí es donde las cosas se ponen realmente interesantes desde una perspectiva de código abierto. Porque a medida que más gente empezó a crear juegos, también empezaron a compartir las herramientas para crear juegos. En los 90, aparecieron sistemas como TADS (Text Adventure Development System) y Inform, que permitían a cualquiera crear sus propios juegos de aventura de texto sin tener que empezar desde cero. Estos sistemas no solo eran herramientas; eran ecosistemas completos con documentación, bibliotecas de código reutilizable, y comunidades activas de desarrolladores que compartían consejos, trucos, y fragmentos de código. Y aquí vemos otro patrón que se repetiría una y otra vez en la historia del código abierto: cuando las herramientas son abiertas y accesibles, florecen las comunidades creativas. Pero los juegos de texto no fueron los únicos que adoptaron estos principios. En los 90, cuando Internet se hizo más accesible, vimos el surgimiento de algo completamente nuevo: los juegos en línea masivos multijugador. Los MUD, o Multi-User Dungeons, fueron los precursores de los MMORPGs modernos como World of Warcraft. Pero a diferencia de los juegos comerciales de hoy, muchos MUDs fueron proyectos de código abierto dirigidos por la comunidad. Saku Panditharatne es fundadora de Asteroid, una startup que fabrica herramientas de realidad aumentada para desarrolladores de juegos. Pero antes de eso, fue una jugadora ávida de MUDs. Los MUDs fueron mi primera introducción real a las comunidades en línea y a la idea de que los jugadores podrían ser también creadores. En muchos MUDs, podías no solo jugar, sino también construir: crear nuevas áreas, escribir nuevas historias, incluso programar nuevas funcionalidades. Esto era revolucionario. Imagínense: en un momento en que la mayoría de los juegos comerciales eran productos completamente terminados que no podías modificar, los MUDs estaban invitando a los jugadores a ser co-creadores. Y porque muchos MUDs usaban software de código abierto, también podías aprender viendo cómo estaban construidos. Fue donde muchos desarrolladores, incluyéndome a mí, aprendimos realmente a programar. Aquí hay algo importante: los juegos no solo fueron consumidores de tecnología de código abierto; también fueron uno de sus principales impulsores. La necesidad de crear mundos virtuales complejos, de manejar múltiples jugadores simultáneamente, de crear sistemas de física realistas - todos estos desafíos empujaron los límites de lo que era posible con el software. Y cuando esos desafíos se resolvían con herramientas de código abierto, esas soluciones se compartían con toda la comunidad, acelerando la innovación para todos. Josh Berkus, quien ha trabajado en PostgreSQL durante años, vio esto de primera mano. Muchas de las mejoras de rendimiento que hemos hecho en PostgreSQL a lo largo de los años han sido impulsadas por las necesidades de los juegos. Los juegos necesitan bases de datos que puedan manejar miles de consultas por segundo, que puedan escalar horizontalmente, que puedan manejar picos de carga masivos. Y cuando PostgreSQL se mejoró para satisfacer estas necesidades, todos se beneficiaron: aplicaciones de comercio electrónico, sistemas de análisis, aplicaciones financieras. Los juegos habían empujado la tecnología hacia adelante para todos. Pero quizás el impacto más importante de los juegos en el código abierto no fue tecnológico, sino cultural. Los juegos enseñaron a la gente que la tecnología podía ser divertida, que podía ser una forma de expresión creativa, que podía construir comunidades. Ann Barcomb, que estudia comunidades de código abierto, ha observado cómo muchos de los patrones de participación en proyectos de código abierto son similares a los que vemos en las comunidades de jugadores. Tanto en los juegos como en el código abierto, ves este patrón donde la gente empieza como consumidores, luego se convierten en contribuyentes ocasionales, y eventualmente algunos se convierten en líderes y mantenedores. Es una progresión muy similar. Y tanto en los juegos como en el código abierto, ves la importancia de la reputación, del reconocimiento por las contribuciones, de la idea de que cualquiera puede participar si está dispuesto a aprender y contribuir. Justin Flory, que lidera la iniciativa de diversidad e inclusión en Fedora, ve conexiones aún más profundas. Los juegos fueron una de las primeras formas en que la gente experimentó realmente lo que significa ser parte de una comunidad global en línea. Estabas colaborando con personas de todo el mundo, trabajando hacia objetivos comunes, aprendiendo unos de otros. Y esas habilidades - comunicación remota, colaboración asíncrona, resolución de problemas en grupo - son exactamente las habilidades que necesitas para tener éxito en proyectos de código abierto. Ahora avancemos hasta el día de hoy. La industria de los juegos ha cambiado dramáticamente desde los días de Colossal Cave Adventure y los MUDs de texto. Es una industria de miles de millones de dólares dominada por grandes estudios y plataformas comerciales. Pero el espíritu de colaboración y código abierto no ha desaparecido. De hecho, en muchos sentidos, está más fuerte que nunca. Uno de los ejemplos más obvios es el motor de juegos Godot, que es completamente de código abierto y está ganando popularidad rápidamente entre desarrolladores independientes e incluso algunos estudios más grandes. Pero también vemos principios de código abierto en lugares menos obvios. Muchos juegos modernos incluyen herramientas de modificación robustas que permiten a los jugadores crear contenido completamente nuevo. Juegos como Minecraft, Kerbal Space Program, y Cities: Skylines han construido ecosistemas enormes de contenido generado por usuarios. Y aunque estos juegos en sí mismos no son de código abierto, adoptan muchos de los principios del código abierto: transparencia, extensibilidad, y empoderamiento de la comunidad. Jared Sprague es un desarrollador que trabaja en Red Hat y también crea juegos independientes en su tiempo libre. Lo que me parece emocionante sobre la escena actual de desarrollo de juegos independientes es que muchas de las herramientas son gratuitas y de código abierto. Puedes descargar Blender para hacer arte en 3D, usar GIMP para texturas, Godot para el motor del juego, Audacity para audio. Eso significa que la barrera de entrada para crear juegos es la más baja que ha sido nunca. No necesitas un presupuesto masivo o licencias de software costosas. Solo necesitas ideas y la voluntad de aprender. Y cuando creas algo con herramientas de código abierto, hay una especie de reciprocidad natural. Quieres devolver algo a las comunidades que hicieron posible tu trabajo. Jared ha visto esto de primera mano. Su juego independiente más exitoso, un pequeño juego de puzzle, se convirtió en uno de los éxitos más grandes de la historia. Pero es solo un ejemplo de que los juegos independientes realmente se han convertido en una fuerza importante en la industria de los juegos. Jared y su amigo de Red Hat, Michael Clayton, se juntaron para organizar sesiones creativas o "Game Jams" donde un grupo de desarrolladores independientes se reúne para diseñar juegos en poco tiempo. Como un hackatón, pero para los juegos. GitHub organiza una que se llama Game Off. La sesión de Jared se llama Open Jam. Si le preguntas a él, forma parte del futuro del desarrollo comunitario de juegos, y podría crecer mucho más. Puedes usar Linux, por ejemplo. Porque era de código abierto y toda esta gente podía contribuir y agregar herramientas, parches y cosas así. Eso es lo que la hizo tan grande. Mucho mejor de lo que una sola persona podía hacer por su cuenta. Y creo que todavía existe la posibilidad de diseñar un juego o algún tipo de sistema de juegos o mundo virtual que sea de código abierto, al que puedan contribuir miles de personas para desarrollar algo más grande de lo que puede hacer una sola persona. Ya empieza a verse un cambio hacia las costumbres del código abierto en los estudios de juegos. Creo que nadie pone en tela de juicio el poder de darle a tu comunidad la posibilidad de desarrollar sus propias creaciones. Jordan Weisman es cofundador de Harebrained Schemes. Crimson Skies, Battle Tech, Mech Warrior... todos son suyos. Durante mucho tiempo ha encabezado el desarrollo de los juegos. Y lo que ve ahora es un cambio hacia las costumbres del código abierto a medida que los estudios se dan cuenta de las ventajas. Incluso los juegos como Battle Tech, que tienen una gran cantidad de... Hemos intentado abrir al público la mayor cantidad posible de datos del juego. Y hemos visto que al público se le ocurren modificaciones increíbles para el juego. Y para nosotros es muy emocionante ver a dónde los lleva su creatividad y todo lo que han logrado. Además atrae a los jugadores de maneras diferentes que nuestro contenido original. Y eso es solo un ejemplo de lo que se puede lograr. Y a medida que avanzamos con nuestros juegos, nos abrimos cada vez más para permitir que los jugadores expresen su creatividad. Jordan cree que una cultura donde puedan modificarse los juegos ayuda a que estos alcancen su mayor potencial. Pero, como dijimos en nuestra introducción de Calabozos y Dragones, esa tendencia a la comunidad siempre estuvo ahí. El origen está en los juegos de mesa, donde la narración de la historia era una experiencia colectiva entre los participantes, entre el jugador principal y los demás en un juego de actuación. Y conforme avanzamos hacia las formas digitales de ese tipo de juegos, durante cierto tiempo eso estaba muy separado. Y yo creo que, a medida que las herramientas de modificación y los motores accesibles se democratizan y se mueven hacia el código abierto, volvemos a acercarnos a esa naturaleza colectiva de generar una forma muy social de entretenimiento. A mí me parece muy emocionante. A mí también. Volviendo a Jared Sprague, otra vez empezó a colaborar con Michael Clayton para crear un nuevo juego de código abierto desarrollado por la comunidad. Y se llama... Command Line Heroes: BASH. Sí, es oficial: somos multiplataforma. Y, naturalmente, el juego Command Line Heroes: BASH será un proyecto de código abierto. Y estamos invitando a la comunidad, lo cual te incluye a ti, ¡sí, a ti!, para que desarrolles este juego con nosotros. Un dato curioso: ¿recuerdas Colossal Cave Adventure? Bueno, aunque el código siempre fue accesible, Colossal finalmente lo abrió por completo después de 40 años. En 2017, la versión oficial se lanzó con una licencia BSD de dos cláusulas. Las comunidades de juegos han recorrido un largo camino desde que se oyeron aquellas primeras palabras interactivas: "You are standing at the end of the road". You are standing at the end of a road... Pero a diferencia de lo que decía aquella frase del juego, lo cierto es que aún no llegamos al final del camino. La aventura de los juegos continúa. Y en el trayecto, los juegos nos ayudan a juntarnos y a crear universos. Sinceramente, no sabemos cómo se va a organizar nuestra comunidad en este camino. Pero sí sabemos que los juegos la motivarán. Porque nunca dejamos de presionar START. Command Line Heroes en español es un podcast original de Red Hat. Escúchalo gratis en Spotify, Apple Podcasts, Google Podcasts o donde sea que hagas lo tuyo. Hasta la próxima, sigan programando.

Sobre el podcast

Command Line Heroes

During its run from 2018 to 2022, Command Line Heroes shared the epic true stories of developers, programmers, hackers, geeks, and open source rebels, and how they revolutionized the technology landscape. Relive our journey through tech history, and use #CommandLinePod to share your favorite episodes.