El Impacto de BASIC en la Programación
Para alguien que recién comienza en este extraño oficio, BASIC se sentía positivamente taumaturgico. Era un acto de hechicería: pronunciabas palabras que daban vida al hierro y al silicio, haciéndolos hacer cosas. (Como dice la ingeniera de software Erin Spiceland, programar es “decirle a las piedras qué pensar”.) Si estabas, como yo, empapado en Tolkien y otras novelas de alta fantasía, había un profundo romance en la idea de que el lenguaje cotidiano pudiera afectar la realidad. Habla, amigo, y entra.
La Conversación con la Máquina
BASIC también fomentaba la experimentación. Inusualmente para la época, era un lenguaje “interpretado”. Con muchos lenguajes anteriores, escribías el código, pero antes de poder ejecutarlo, debías “compilarlo” en un pequeño paquete de 1s y 0s. Este proceso era tedioso: escribir, compilar, y luego ejecutarlo. Con BASIC, en cambio, la máquina respondía al instante. Escribías unas pocas líneas, presionabas RUN, y boom: la máquina lo interpretaba, justo en ese momento.
Esto transformó la programación en una conversación con la máquina. Programar era como pensar en voz alta. Por ejemplo, estaba trabajando en un chatbot, así que introducía unas pocas líneas en el analizador, luego presionaba RUN para ver cómo funcionaba. Añadía unas líneas más, observaba qué funcionaba y qué no, y luego ejecutaba nuevamente. Este baile de ida y vuelta con la máquina hacía que todo el proceso de codificación fuera menos intimidante. Se sentía menos como si estuvieras haciendo un Diseño Muy Importante y más como si simplemente estuvieras experimentando. Muchos de los lenguajes más populares del mundo (como JavaScript y Python) también son ahora interpretados al vuelo. Pero BASIC fue uno de los primeros.
Cultura de Código Abierto y Limitaciones de BASIC
BASIC también creó la primera cultura de código abierto masiva. Las personas compartían código libremente: si un amigo escribía un genial juego de blackjack, todos hacíamos una copia, a mano, como escribas en monasterios medievales, y lo ejecutábamos nosotros mismos. Cada mes, la revista Compute imprimía reams de BASIC enviado por aficionados. Pasé una tarde tecleando cuidadosamente cientos de líneas del “Juego de la Vida” de Conway que había encontrado en un número, y luego miraba, hipnotizado, mientras un organismo artificial florecía en la pantalla.
Hay un dicho en el mundo de los programadores que dice que el código se escribe principalmente para que otros programadores lo lean, y solo secundariamente para que la máquina lo ejecute. BASIC probó esto a gran escala.
Las Desventajas de BASIC
Pero, ¿como lenguaje práctico? ¿Para hacer software enviable? BASIC no siempre era genial. Gráficos, por ejemplo, funcionaban lentísimamente. Intenté crear un juego de disparos en el espacio, y era injugable debido a su lentitud. Esta es parte de la razón por la que muchos creadores de juegos en BASIC se centraron en aventuras textuales: las palabras, al menos, se representaban rápidamente. La explosión cámbrica de exploraciones de mazmorras basadas en texto a finales de los 70 y 80 fue en parte un producto de las limitaciones integradas de BASIC.
BASIC también tenía algunos elementos verdaderamente mal considerados. Infamemente, incluía el comando GOTO (léase como “ir a”). Esto te permitía escribir código que saltaba alrededor: si el programa llegaba a la línea 120, podías decirle a la computadora que de repente GOTO la línea 25, por ejemplo. Para un coder novato, ¡esto era una forma fácil de escribir cosas! Pero fomentaba una estructura compleja y “espagueti”, donde la lógica recorría y zigzagueaba por todas partes. Si escribía un programa algo largo—llegando a cientos o miles de líneas—y usaba varias docenas de declaraciones GOTO, mi código se convertiría en un laberinto de misterios, impenetrable incluso para mí mismo. El científico en computación Edsger Dijkstra detestaba tanto este estilo que escribió un ensayo entero en contra de él: “La declaración Goto considerada perjudicial”. Cualquiera que aprendiera a programar en BASIC, como él escribió más tarde, sería “mutilado mentalmente más allá de la esperanza de regeneración”.
Dijkstra estaba siendo hiperbólico. Pero no estaba completamente equivocado: después de su apogeo, BASIC se desplomó en popularidad. Surgieron lenguajes más nuevos que fomentaban estilos de escritura más limpios y modernos que se ejecutaban más rápidamente. BASIC sigue existiendo hoy en día—modernizado, con GOTO (en su mayoría) desterrado—en el mundo de Microsoft Visual Basic, que muchos empleados de oficina sin conocimientos de codificación han utilizado para juntar aplicaciones para uso interno. Pero hoy en día, solo el 4 por ciento de los desarrolladores profesionales admiten usar BASIC. Yo, cuando empecé a programar nuevamente en la década de 2010—después de una pausa de 25 años—me pasé a lenguajes más nuevos como Python y JavaScript.
Sin embargo, de vez en cuando, busco un emulador para el Commodore PET. Escribo ese programa original que escribí por primera vez hace más de 40 años y presiono RUN. Todavía se siente como magia.
Fuente y créditos: www.wired.com
Cats: Business