PREGUNTAS Y RESPUESTAS #2: Preguntas personales, datos, a los personajes, futulibres ¡Y MÁS!

En este segundo vídeo de preguntas y respuestas, el equipo de Programando Otra Historia (Antonio, Carlos, Azahara y Violeta, con la presencia de "Chip" como avatar) responde a una serie de preguntas de la comunidad organizadas en cinco bloques. Primero explican el origen del canal en 2022, surgido de una conversación entre Manuel y Antonio, y describen su misión de combinar historia y tecnología con un formato entretenido. Luego discuten los roles necesarios para una divulgación eficaz (guionista, documentalista, editor, ilustrador) y la importancia de la constancia. En el bloque personal, comparten sus antecedentes académicos (Antonio: Historia; Carlos: Técnico en sistemas; Azahara: Bellas Artes; Violeta: sin especificar) y motivaciones, incluyendo anécdotas de la infancia de Antonio con un ZX Spectrum. El siguiente bloque se centra en preferencias técnicas: debate entre Bash y Python, frameworks favoritos (Django, Flask, FastAPI), lenguajes preferidos (Go, C, Python, Rust, Dart, etc.), y opiniones sobre lenguajes como Julia, Haskell, D y Scratch. También abordan preguntas técnicas sobre automatización (Ansible, Runme), documentación, requisitos de hardware, transpiladores, inmutabilidad y cómo crear lenguajes. Finalmente, en la sección de "Futulibres" discuten escenarios hipotéticos: paleocomputación, futuro de aplicaciones de escritorio, creación de lenguajes anti‑imperialismo, cómo surgen lenguajes fuertes, retos de usar un solo sistema, y opiniones sobre lenguajes esotéricos. El vídeo concluye invitando a la audiencia a seguir votando, comentar y suscribirse, y plantea la posibilidad de futuros episodios anuales.
Chapters
Este es el segundo vídeo de preguntas y respuestas como habíamos prometido.
Vamos, las preguntas que faltaban.
Tenemos 5 bloques como en el vídeo anterior, así que vamos allá. ¿Te gustaría decidir los temas que trataremos en el canal?
Pues lo tienes muy fácil.
Entra en nuestra página web, accede con tu cuenta de Google y vota por tu favorito.
Puedes votar una vez al día para que gane el tuyo.
Eso no es trampa.
Serán tomadas en cuenta todas vuestras sugerencias en comentarios en publicaciones anteriores. Publicaciones y vídeos además.
Y ya que estamos, ¿por qué no darle me gusta, suscribirse y hacerse miembro?
Eso ya saben cómo hacerlo, Violeta. Estamos hablando de votos.
Totalmente. Hagamos que ganen esos lenguajes de bajo nivel, chicos.
Sigamos con el vídeo. Comenzaremos por el primer bloque: historia, datos y futuro del canal. Preguntas sobre la historia del canal.
Y sobre el futuro del canal. Comencemos.
¿De dónde habéis salido?
Pues era una noche lluviosa de abril, un coche se precipitaba a toda velocidad por la carretera mientras una mujer gritaba con los dolores del parto y...
Bro, creo que se refieren a de dónde ha salido la idea del canal, no nosotros específicamente.
¿Cuál podría ser una buena respuesta? ¿Universidad? ¿Bootcamp?
Eso último explicaría muchas cosas.
Respondo yo, que os veo muy perdidos con esta pregunta. Adelante, adelante. Pues salimos de de una conversación entre Manuel y Antonio. En 2022 decidieron hacer algo en YouTube: hablar de temas técnicos como la programación, pero desde un punto de vista histórico.
Lo cual nos dimos cuenta de que fue enormemente difícil porque a los programadores no les suele gustar la historia y a la gente que les gusta la historia no les gustan los tecnicismos.
Finalmente había que hacer algo informativo pero entretenido. Y ahí es donde entro yo. Con mi carisma consigo que esto funcione.
Sí, ya. En fin, nos juntamos historia y tecnología con arte y aprendizaje continuo y de momento esto es lo que nos ha salido.
¿Cómo se formó este grupazo para la divulgación de la programación?
¿Serendipia?
Tuvimos otras experiencias como Ellos de Rivia donde Antonia y Azahara estuvieron, así como El Búho Pirata de Antonio o Altenball de Manuel.
Pero había un gran problema: falta de originalidad.
Constancia chip.
Un proyecto serio requiere de constancia, además de un formato que pueda ir adaptándose, probando, cambiando y evolucionando hasta su forma óptima.
¿Y qué se necesita para tener un canal de divulgación que funcione?
Necesitas al guionista: una persona que se encargue de elaborar el guión, mezcla de información y entretenimiento. Al documentalista: alguien que se encargue de recabar toda la documentación y asegure su veracidad y exactitud.
Además de buscar documentos gráficos y vídeos para facilitar la presentación.
Necesitas al editor, esa persona curtida en el campo de la edición que dé vida a un guion insulso y sin vida, sin carisma, sin... ¡Sí!
¡Ya lo pillamos! ¡No lo exageres! Porque quien da vida a todo es siempre la ilustradora, ese personaje de apoyo que consigue dar vida a los memes más difíciles y las situaciones que requieren de mayor apoyo.
¿Y nosotros tenemos todo eso?
A ver, todo todo no hace falta tampoco. Esto no es ingeniería de cohetes.
Vale, pues básicamente esto surge como todo. En una charla de sobremesa decidimos crear un proyecto y durante los siguientes meses le dimos forma. El primer vídeo nos llevó a una dinámica y ahí seguimos.
Corto, escueto, pero óptimo.
Preguntas a nuestros personajes.
¡Vamos! Como nosotros mismos.
Como personajes. No a las personas detrás del personaje.
¿Vosotros tenéis una doble vida?
¿Por qué le gusta a Chip tanto Python? Prefiero Bash.
En este punto yo creo que hay niveles. Es decir, si quieres hacer alguna tarea automatizada y hacerlo lo más rápido posible, puedes usar Bash.
Es lo normal cuando no te importa el rendimiento o lo que tardará.
En muchos casos la diferencia entre hacerlo en Bash o en Python es mínima. Es decir, si Bash tarda 2 segundos, quizás en Python se pueda tardar 500 milisegundos. Pero a ojos de quien ejecuta el script, la diferencia es asumible.
¿Y la energía que malgastas?
A mí me cuesta lo mismo escribir en uno que en otro.
Me refiero a la energía eléctrica.
No empecemos, Hexa, estamos debatiendo Python y Bash.
Vale, en ese contexto es mejor Python.
Pero no siempre, si la tarea es muy sencilla y con una serie de comandos y encauzadores podemos conseguir el resultado, puede ser más rápida de hacer en Bash.
¿Encauzadores?
Creo que se refiere a los pipes, la tubería para tomar el resultado de un comando y usarlo como datos de entrada para el siguiente comando.
Vale, pero tenéis que admitir que Python tiene muchos paquetes disponibles y permite hacer una gran cantidad de acciones con un resultado controlable muy alto.
Sí, aunque en Bash, con la mezcla de awk, sed, cat, sort, grep, tr y otros comandos también consigues un gran control.
¿Me estás retando, pro?
Podría ser interesante, pero no nos desviemos. Aún quedan muchas preguntas.
Dejaré entonces tu humillación para otro momento.
Chip, ¿qué frameworks te gustan?
Obviamente Django. Por supuesto tenemos un vídeo donde Pro se esfuerza en pronunciarlo bien, pero qué le vamos a hacer, la edad no perdona.
que no soy tan viejo. Además, aunque Django está muy bien, no sé, nunca he necesitado más que lo ofrecido por Flask.
Backend developer 100%. En fin. Carlos, tú sabes que yo a todos los pythonistas os adoro, así que te adoro, y te recomiendo echar un vistazo, si no lo hiciste ya, a FastAPI. Está dando mucho que hablar. Sin embargo, Django sigue siendo mi preferido.
Violeta, ¿por qué eres tan hater de Python? ¿Por qué te gusta tanto Go? ¿Trabajas con Go como lenguaje principal?
Eso, Violeta, ¿por qué odias a Python?
No odio Python, solo digo que Go es mejor.
¿Trabajarías solo con Go?
Si fuese posible, sí, pero también me gustan otros lenguajes, como Dart.
Violeta, ¿por qué tanto odio a Julia?
¿Odio?
Entonces, ¿hacemos un Julia parte 2?
No le tengo odio, es más bien que prefiero otros lenguajes que tengan sentido y donde un antiguo profesor no me haya suspendido una asignatura entera por culpa de un error de sintaxis.
Entonces no es odio, es resentimiento. Aunque deberías enfocarlo a ese profesor y no al instrumento de tortura, ¿no crees?
¡Siguiente pregunta!
¿Qué tipo de lenguajes de programación les gusta más a cada uno?
Go, C, Python.
¿Elegir solo uno? ¿Cómo puedo elegir solo uno?
El primero que te venga a la cabeza, bro.
No me decido.
Si tuvieses que hacer un proyecto ahora, ¿con qué lenguaje lo harías?
Es que depende del proyecto, no puedes usar un martillo si necesito unas tenazas.
¿Y si te dejamos decir 2?
¿Cómo elegir solo 2?
Esto es imposible, siguiente pregunta.
¿Cuál es el origen y significado de sus nombres?
Mi nombre lo dije antes, es una transformación de las siglas de Programando Otra Historia y agregando una R.
Para que no suene a mierda.
¡Chip! Si es que... Violeta es mi nombre, creo que por el color que visto.
¿Y Chip qué es, porque no estoy quieto?
Y Hexa por una acortación de hexadecimal. Mi apodo de guerra.
¿Apodo de guerra?
No preguntes.
Preguntas personales. En este bloque hemos decidido dejar a un lado los personajes y responder los que estamos detrás.
Pues todo tuyo, prof.
Pero tú no programas en Python.
Mis pinitos los hago, sí, pero vamos a hacer esta sección seria.
¿Seguro? ¿Chip? ¿Estás bien?
Dale, antes de que me arrepienta.
¿Por qué decidieron dedicarse a la programación?
Es una historia que he contado cientos de veces.
Sí, y no te cansas de contarla.
Chip, ¿no ibas a estar calladito?
Perdón, perdón.
Pues estaba ahí con 12 años y mi flamante ZX Spectrum. La lectura de las cintas se estropeó de forma extraña. Podía guardar y reproducir lo que hacía en BASIC, pero no las cintas que compré del quiosco. Así que comencé a escribir código, mis propios jueguecitos en modo texto, y ahí comencé.
O sea, comenzaste por los videojuegos y te decidiste a programar videojuegos.
Sí.
Pero hoy en día no programas videojuegos.
No me lo recuerdes.
¿Cuál es vuestro background académico?
Pues vamos por orden de nuevo. Manuel es técnico superior en administración de sistemas y estudió algunas asignaturas de la carrera. Antonio es graduado en Historia y Azahara es licenciada en Bellas Artes.
¿Cuál fue el primer proyecto en el que empezaron a trabajar profesionalmente y qué lenguaje se usó durante su desarrollo?
Un proyecto sobre videoconferencias. El lenguaje de programación fue C, aunque con un poco de Perl y algo de SQL.
Siguiente entonces.
Dudas técnicas.
A ver, chicos, cuando hacemos un preguntas y respuestas Se supone que es para saber cosas sobre el canal.
Pero el canal va de programación, es normal que quieran saber más.
Más sobre historia de la programación, pero parece que ese pequeño detalle también se escapa a veces.
Pero las preguntas no serán muy técnicas, ¿no? ¿Verdad?
¿Qué hace falta para conectar una app móvil a una base de datos en un servidor? Una petición vía HTTP preferiblemente, ya que es el protocolo más usado. Así que necesitarás una aplicación web. ¿Te he hablado de FastAPI?
Pues sí que eran técnicas.
Pues aún no has visto nada. ¿Cómo documentar las automatizaciones del sistema en producción o evitar explicarlas al resto del equipo?
Había un dicho entre los administradores de sistemas: si tienes que explicar algo con más de 3 pasos es que no hiciste tu trabajo.
Eso es algo duro, pro. Y esta vez no lo dije yo.
Entiende que la diferencia entre un informático y un administrativo es la automatización. El administrativo hace tareas, el informático las automatiza. Si tu tarea no es automatizar, estás invirtiendo mal el tiempo.
¡Chicos! No seáis tan duros. Hay momentos en los que no se puede invertir tiempo en automatizar. Hay tareas que no se hacen de forma tan frecuente.
Pues sobre todo en ese caso, automatizar y documentar las tareas es crucial. Puedes olvidar cómo se hace una tarea concreta y ahí inviertes el doble de tiempo.
Para mí, las mejores herramientas en este asunto son Ansible y Runme.
¿Cómo saber los recursos mínimos que necesita el dispositivo del usuario y cómo dar las recomendaciones para ejecutar el software en desarrollos multiplataforma? Pues depende del desarrollo y sobre el sistema operativo que se ejecute. Si tu aplicación es GNU/Linux y la desarrollaste en Python 3, entonces el requisito mínimo es una máquina donde corra sin problemas tanto GNU/Linux como Python 3.
Creo que se refiere a cuando desarrollan una aplicación saber el consumo de memoria, número de núcleos y otras características.
Pienso como Chip.
¡Toma!
Depende mucho de qué hayas usado para crear la aplicación. Si sabes que tu aplicación hace un uso masivo de disco, memoria o emplea unas características concretas de la CPU, entonces puedes agregarlo a la hoja de requisitos, pero para un script en Python, por ejemplo, es extraño que no ejecutes el intérprete funcional Dependerá si se emplea alguna biblioteca que demande unos requisitos concretos también. Exacto.
12 lenguajes de programación igual de eficientes que C, pero más sencillos y compatibles con PowerPC, x86, x86-64, ARM, RISC-V, y que su compilador sea menos pesado que GCC y sea compatible con la librería para crear ventanas FLTK. ¿Pero qué es esto?
Esta pregunta tiene elementos muy subjetivos como por ejemplo más fácil. Es decir, en teoría C, Nim o V son lenguajes fáciles que han sido implementados para ser iguales en rendimiento que C, pero seguro que hay quien prefiere C al ser más simple en aspectos como tener un compilador más permisivo.
Nada igual a C. No obstante, he hecho una tabla comparativa con todo lo pedido en la pregunta. Ahí lo dejo.
¿Qué tan buenos o sugeribles son los transpiladores? ¿Bajo qué casos se podría utilizar? ¿Cómo se puede hacer uno? Un transpilador es una traducción de un lenguaje a otro. Por ejemplo, todos los lenguajes que convierten su código a JavaScript para ejecutarse en un navegador como CoffeeScript, TypeScript, Elm o Glimm hacen una transpilación.
El lenguaje V también comenzó como un transpilador a C.
¿Cómo hacemos uno?
Pues no deja de ser un análisis del texto escrito, un análisis sintáctico, un análisis semántico y una traducción de los tokens y reglas aplicadas al lenguaje de destino.
Hay muchas técnicas para poder hacerlo. Convendría ver qué lenguaje se quiere implementar y ver qué tipo de analizador conviene utilizar.
Chip, ¿puedes hablar de la inmutabilidad? ¿En serio? A ver... Inmutabilidad es el arte de escribir y no modificar. ¿Cómo era la técnica?
Copy on write, Chip.
¡Eso! Lo tenía en la punta de la lengua. Suficiente, ¿no?
Futulibres y opiniones. Aquí abrimos la última sección más sobre opiniones y futulibres.
¿Futulibres?
Sí, Chip. Te lo digo a modo Marvel, es un ¿qué pasaría si...?
¡Ah!
Ahora sí. Vamos entonces.
¿Creen que en el futuro podría existir la carrera de paleocomputación? ¿Por qué no? En Valencia hay un museo dedicado a la computación donde dan talleres de retrocomputación con Amstrad y Commodore 64, si no recuerdo mal. ¿Sería eso a lo que te refieres?
¿Tiene futuro la programación de escritorio?
Hay un vídeo de Héctor de León que nos muestra el presente y futuro de las aplicaciones de escritorio. De momento esas aplicaciones tienen presente, pero es verdad que con opciones como Flutter ese futuro es difuso.
En Go puedes escribir aplicaciones de escritorio que después se portan al móvil también gracias a Fyne.
En Rust también tenemos a Tauri.
Pues en Python, a ver, ¿qué hay por ahí, Chip? ¡Muchas cosas! Ya os diré. Siguiente pregunta: ¿Cómo puedo crear un lenguaje de programación que derrote al imperialismo yanqui? ¿Cómo es que entró esta pregunta?
Entran todas las preguntas, Chip.
Vamos con el plan. ¿Cómo se han hecho fuertes lenguajes como C, Java o Go? Hay que tener una gran empresa detrás. Así que es fácil: crea una empresa millonaria en tu país. Y después crea un lenguaje gratuito que se enseñe en universidades, centros educativos y haya influencers en todos sitios que hablen muy bien de ese lenguaje.
¡Pan comido! ¿Y cómo hacemos una empresa millonaria?
Esa es otra pregunta diferente para otro tipo de canales.
Siguiente pregunta: ¿Alguno de ustedes haría un reto de solo utilizar un sistema 100% genio uhard?
¡Totalmente!
Siguiente pregunta: ¿Alguna opinión sobre el lenguaje D? ¿Lo usarían para un proyecto? No hemos tenido aún el placer, pero esperamos hablar en esta temporada sobre este lenguaje. ¿Lenguajes para aprender por diversión? Gambas no, que es francés. Cualquier lenguaje vale e incluso si fue escrito por un francés, como dijimos antes, no hay que denostar ideas porque sus creadores sean deleznables.
Pero mójate un poco, pro. Di algún lenguaje que sea divertido con el que aprender.
Si es por diversión, supongo que Scratch te puede resultar curioso.
¿Eso es un lenguaje?
¡Totalmente! Tiene sus bloques que te permiten hacer de todo. El resultado es bastante esquemático y visual.
No sabía que te gustara Scratch. Bueno, siguiente pregunta. Si pudieras borrar un lenguaje de la historia, ¿cuál sería? Empiezo yo: Haskell.
¿Haskell? ¿Por qué?
Por culpa de ese lenguaje se puso de moda todo lo funcional. Con lo fácil que era la programación imperativa de toda la vida.
Creo que el movimiento funcional llegó antes de Haskell y ya comenzó a influenciar con lenguajes como ML. Trajo consigo muchos avances, expresividad... Yo no lo eliminaría.
Cierto, teniendo ahí Julia está claro cuál eliminar.
Yo eliminaría a todos los lenguajes de scripting. No hacen nada más que incrementar el consumo de recursos de forma innecesaria.
Yo no eliminaría ninguno. Es más, si pudiese, lo que haría sería potenciar lenguajes que realmente trajeron formas muy buenas de programar, como Pascal o Modula-2. ¿Qué lenguaje usarían para un proyecto de datos y web backend entre Elixir, Go o Scala? Elixir, sin duda. Tiene los elementos perfectos para un desarrollo web backend. Lo que no termina de gustarme es el cambiante mundo de Phoenix Framework, pero es soportable.
Yo prefiero Go. Su sistema de tipos y su construcción basado en servicio web se hace ideal para poder programar en combinación con HTMLX.
¿Nadie va a decir nada bonito de Scala? ¿No? Pues siguiente. ¿Cómo creen que sería hoy el mundo de la informática si Smalltalk hubiese sido de uso general desde un inicio?
Best tip: un ¿qué pasaría si...?
Esto se refiere a qué pasaría si Smalltalk, el lenguaje que utiliza la Orientación a Objetos de verdad, hubiese sido libre y gratuito y hubiese sido de uso general... más popular.
Exacto, aunque creo que no hubiese cambiado nada. Es decir, Jarl Stroustrup sabía de la existencia de Smalltalk y disimula. El lenguaje en el que Smalltalk se basó para la idea de las clases y objetos.
Totalmente. Además, Simula no era como Smalltalk, de ahí el problema. C++ se basa en el lenguaje Simula y por ese motivo tiene una implementación diferente. Toma las mismas ideas, pero las implementa de forma más sencilla y óptima.
¿Crees entonces que no habría cambiado nada?
Teniendo presente que los laboratorios Bell parecía el sitio donde todo el mundo miraba para saber qué sería lo próximo en el mundo de la programación, creo que no habría cambiado nada.
Pero juzguemos de modo que Björn hubiese visto en Smalltalk su lenguaje ideal y, en lugar de crear C++, comienza a usar Smalltalk.
¡Imposible! Smalltalk no era óptimo. En la comunicación interna de sus componentes se perdía potencia, y en los laboratorios Bell, al igual que muchas compañías pequeñas o con menos poder económico, no podían permitirse esa bajada de rendimiento.
Es imposible jugar con vosotros.
Siguiente pregunta: ¿Han probado algún lenguaje esotérico? No decimos palabrotas, pero hay un lenguaje que fastidia el cerebro. En la descripción dejo un enlace al lenguaje y un artículo sobre el lenguaje esotérico de Altenwald.
Esos lenguajes son como ese que había de mugidos de vaca y resultaba en código.
Algunos son realmente muy buenos. Mejor ponemos un enlace de Wikipedia con una recopilación completa, ¿pro?
Hasta aquí. Pues ya acabamos, fue extenso. Espero que se hayan resuelto muchas de las preguntas. Si queréis aprovechar los comentarios para extender aún más algún tema concreto o hacer más preguntas, adelante. En caso de que lleguemos a 500 me gusta, podemos plantearnos hacer otro.
¿Otro?
No, bro, estas cosas son cosas que se hacen una vez al año.
¿Uno por temporada entonces?
Quizá lo ideal sea hacer otro tipo de vídeos.
Pues que decidan los que hayan llegado hasta aquí. ¿Qué ideas se os ocurren?
Déjanos tu comentario.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








