Treinta años después, QBasic sigue siendo el mejor



Mi hijo mayor, Noah, tenía siete años hace tres meses. Si pudiera cambiar a toda su familia por dos horas jugando Minecraft, lo habría hecho sin dudarlo. Otro amor de su vida es Super Mario Maker. Se me puso la piel de gallina cuando lo vi jugar los niveles por los que pasé a su edad. Hace unos cinco meses, dejé a mi familia para la peregrinación anual a ludum dare: una competencia de desarrolladores de juegos, durante la cual nos encerramos en un apartamento con amigos, regresamos al estado de los cavernícolas, nos mantenemos despiertos durante 48 horas y creamos un juego terminado desde cero. Cuando le demostré con orgullo mi revolucionario juego AAA a mi esposa, Noah naturalmente se interesó. Por lo tanto, le presenté el mundo del código, le mostré cómo se puede crear un juego real a partir de palabras simples (acaba de aprender a leer). Desde ese día, Noah me ha pedido constantemente que me enseñe a hacer mis propios videojuegos. Y durante los siguientes cinco meses, busqué el Santo Grial del lenguaje / IDE para niños, con la esperanza de convertir esa chispa de interés en una experiencia memorable ...



Mis búsquedas me han llevado a un sinfín de foros, a través de los cuales he probado infinidad de lenguajes y plataformas recomendados: SmallBasic, Pico-8, Smalltalk, Scratch, etc. Incluso hice las grandes preguntas de los oráculos de StackOverflow, pero fue en vano. Cinco meses después, llegué a una conclusión decepcionante: nada se acerca a lo que tenía en mis años. 30 años después, QBasic sigue siendo el mejor lenguaje para principiantes en programación.



"¡Dios, por favor no le enseñes cómo usar GOTO!"


10 PRINT " ,    ?!”
20 GOTO 10






Sí, QBasic es un lenguaje de procedimientos terrible. Introduce un concepto que la mayoría considera perjudicial, utiliza una sintaxis inconveniente para las declaraciones implícitas, no distingue entre mayúsculas y minúsculas, los índices que contiene no empiezan desde cero, etc., la lista es interminable ... , es mucho mejor desarrollar los reflejos correctos desde el principio que corregir años de práctica incorrecta. Siguiendo este consejo, probablemente debería comenzar con los conceptos básicos del lenguaje Ruby que amo. Sin embargo, aunque la mayoría de estos conceptos son considerados por la mayoría de QBasic como "banderas rojas", en ese momento tenían su propósito: mantener el lenguaje simple y accesible; este principio fue abandonado por todos los demás lenguajes en favor de la flexibilidad, la complejidad y la lógica.



Hoy instalé QBasic en el HP Stream de 11 pulgadas de mi hijo, la instalación tuvo que hacerse manualmente a través de DOSBox. Hizo doble clic en el icono del escritorio y una fracción de segundo después vimos que el IDE nos saludaba con una pantalla introductoria que me trajo un montón de recuerdos:





Luego le dije a Noah que hay un ritual sagrado que todos en el círculo secreto de programadores deben tener: comenzar a aprender con un programa que da la bienvenida a todos los programadores del mundo. Mientras dictaba la fórmula, buscó lentamente cada tecla, escribiendo cuidadosamente las palabras mágicas con su mano derecha: PRINT "hello world"







presionó F5 y se sorprendió al ver cómo su código se copiaba en texto que se mostraba en una pantalla negra. Sonrió, me dio cinco y luego anotó el código en su pequeño cuaderno para futuras referencias.





Aprendimos un par de comandos más: CLS, COLOR, PLAY, INPUT e IF. No era necesario explicar nada: sin complejidad, sin operadores incómodos, sin conceptos abstractos, sin documentación para aprender, sin conceptos de objeto / clase / método, sin marcos necesarios para instalar, sin toneladas de menús y botones en el IDE, sin palabras clave especiales o soportes. Era un código en toda su más pura simplicidad y forma.



Menos de una hora después, escribió su propio programa, una aplicación interactiva e increíblemente sofisticada que le dice lo que la computadora piensa de usted:





... que Noah lanzó con orgullo para su primo y mejor amigo Christian:





... ¡luego explicó fácilmente cómo funciona y qué hace el código!





Es decir, en solo una hora, mi hijo de siete años no solo pudo escribir su primer juego de texto, sino que también sintió el placer y la emoción que surgen al crear, compilar y ejecutar su propio programa. Puntos extra por encajar en una página de cuaderno:





Me alegré mucho de que entendiera por qué digo constantemente que tengo el mejor trabajo del mundo.



Lo único que lamento ahora es que durante más de treinta años no hemos podido encontrar algo mejor para los niños: Qbasic tiene un conjunto limitado de palabras clave simples (toda la ayuda cabe en una pantalla llamada F1 y complementada con palabras clave simples ¡ejemplos!), no distrae al codificador con artefactos visuales, tiene un entorno de desarrollo muy compacto y cómodo, indica errores inmediatamente, compila y ejecuta el código en una fracción de segundo presionando una tecla, y además es extremadamente simple. Hemos construido lenguajes / frameworks / IDE más robustos y complejos (que son esenciales para cualquier aplicación práctica, por supuesto), pero nunca hemos encontrado una manera más fácil de obtener acceso directo a la diversión de la programación que QBasic. . Incluso lanzar QBasic hoy se ha convertido en una tarea abrumadora para los principiantes.ejecutándose en una máquina Mac / PC / Linux moderna, aunque anteriormente era suficiente simplemente insertar un disquete de 3,5 pulgadas en el A: \ ...



Pero, por cierto, bastantes sermones, ¡hoy necesitamos celebrar el conocimiento de otra persona con las alegrías y la belleza de la programación!



¡Hurra!






Publicidad



Nuestra empresa ofrece modernos servidores en alquiler para cualquier proyecto. Cree su propio plan de tarifas en un par de clics, la configuración máxima rompe récords: 128 núcleos de CPU, 512 GB de RAM, 4000 GB de NVMe.



Únete a nuestro chat de Telegram .






All Articles