Yo empecé con “Basic para niños”

2

Mi primer contacto con los ordenadores fué a los 6 años. Corría el año 1982 y acababa de salir al mercado el ZX Spectrum de 48K y para muchos de nosotros fue la primera opción de tener un micro-ordenador en casa.

En esa cajita de teclas de goma había un procesador Z80: 8 bits, 4 MHz y con capacidad de gestionar 64 KB. Había dos versiones, la barata con 16 KB de RAM y la buena con 48 KB de RAM.

Hacía poco que había salido y un amigo de mi padre se presentó en casa con él. Lo enchufaron a la tele, y cargaron uno de los juegos de moda: Star Trek

Mi padre no salía de su asombro. Yo, la verdad no acaba de entender que esa pantalla fuese un juego, pero mi padre estaba realmente emocionado. Así que ese mismo día salió a la tienda de ordenadores que estaba cerca de casa a comprarse uno. El Star Trek no corría en el modelo de 16K, necesitaba el de 48K, por lo que mi padre se compró el caro: 40.000 pesetas, que en aquel momento era un buen pastón. Mi madre no podía creerse lo que estaba pasando.

La siguiente semana, prácticamente no tuve padre. En casa había un comandante de la federación, explorando la galaxia por las tardes. Pero, como mente inquieta que era, no tardó en empezar a leer el manual que venía con el ordenador y que explicaba un lenguaje de programación: BASIC. La programación había entrado en casa.

Recuerdo los primeros programas chorras. En especial uno que te preguntaba el nombre, si le decías “Chema” (el nombre de mi padre) el programa respondía “Chema es cojonudo”, si escribías otra cosa, como “Jose”, la respuesta era “Jose es tonto del culo”. Eso que hoy en día parece una chorrada, eran las risas cada vez que venía una visita a casa.

Empezaron a llegar juegos más divertidos, y ahí ya empecé a tocar el juguete nuevo de mi papá. Recuerdo con especial ilusión los juegos de la casa Ultimate.

Buff, cuantas horas de juego!!

No tardaron en llegar a casa las revistas sobre el Spectrum, muy especialmente la revista ZX

Esta revista no sólo te hablaba de los distintos productos que salían al mercado, como juegos. También incluía programas. Y no me refiero a un casete con programas (sí, se grababan en cita de audio), sino a páginas con código para que lo copiases a mano.

Y ese fue mi primer contacto con código, copiando páginas de código para poder tener un juego. Por supuesto casi siempre fallaba, porque copiaba algo mal y terminaba pidiendo a mi padre que revisase el código.

Dos años más tarde, ya con 8 años, mi padre compró lo que sería el inicio de algo muy grande, mi primer libro de programación. Hablamos del año 1984, y el libro era “Basic para niños”

Y ahí empezó todo. Recuerdo que en el colegio me estaban enseñando a multiplicar, así que me hice mi primer programa, igual que el de la portada del libro, pero que en vez de sumar multiplicaba. No me dejaban tener calculadora, pero ¡y qué! Yo me la programaba en mi spectrum. Mi padre por supuesto me pilló y me dijo que no podría hacer eso. Pero sí que me dijo lo que me podía hacer, un programa que comprobase una multiplicación y me dijese si estaba bien o mal. Recuerdo que me hice un lío con los GO TO y el IF, pero con un poco de ayuda de mi padre salió. El programa me pedía los dos números a multiplicar, me pedía el resultado y me decía si lo había hecho bien o mal. Este sí que me lo dejó mi padre.

Recuerdo escribir el programa a lápiz en un cuaderno y pasárselo a un compañero de clase que también tenía un spectrum. Nunca le funcionó.

El programa fue evolucionando, añadiendo poco a poco nuevas funcionalidades. En poco tiempo el programa tenía un menú, te preguntaba el tipo de operación a comprobar (suma, resta, multiplicación o división), te pedía las partes, el resultado y te decía si estaba bien. Luego añadí que la suma pudiese ser de cuantos sumandos se quisiese (benditos bucles). Y tuve mi primera experiencia de gold plating, si el resultado estaba mal pero el error era de poco, te decía “¡Casi!”. Nunca fue algo útil.

Recuerdo muy orgulloso, el llevarme el ordenador a clase, conectarlo a la tele de la sala de la tele (la única sala del colegio con tele) y enseñar mi programa a la profe.

La bola fue creciendo, y poco a poco iba haciendo cosas más complicadas. Al año siguiente (9 años) cayó el siguiente libro, el de basic avanzado.

Y evolucionando poco a poco. Y mi padre, que le gustaba este mundo, fue comprando libros, que yo también atacaba. No me pidieses que me leyese el principito, pero ponías entre mis manos uno sobre como crear juegos, y lo devoraba.

Así fue siguiendo hasta llegar a primero de BUP (14 años) en donde a las primeras semanas pasé por la biblioteca del instituto y me encontre esta joya:

El libro estaba nuevo, creo que antes que yo, nadie lo había tocado. Pero para mí fue descubrir un nuevo mundo. Siempre había oído hablar del código máquina, pero como si fuese algo prohibido. Algo que sólo los ingenieros de la NASA pudiesen hacer. Y ahí estaba ese libro.

No me lo dejaban llevar a casa, así que leía algo en el instituto y luego probaba en casa. El libro hablaba de tener ensambladores, compiladores y cosas de ese tipo. Pero yo no tenía acceso a esos programas. Así que conseguí hacerme con una tabla de códigos, y hacía la traducción de ensamblador a código máquina, a manita! Recuerdo meter todos los códigos en instrucciones DATA, y hacer un bucle para cargarlos a mano en memoria mediante la instrucción POKE (sí la misma que para trucar los juegos). Menuda matada…

Por supuesto no llegué a hacer nada útil. Como mucho conseguía hacer un programa en BASIC, que cargase un par de números, cargase el código máquina, los sumase con mi programa en código máquina, lo mostrase en pantalla y dejase el ordenador bloqueado.

Y así fue pasando el tiempo, hasta los 18 años, que empecé la carrera de Telecomunicaciones. Recuerdo que cuando vi las asignaturas de primero había una que se llamaba “programación”. Buah! ¿una asignatura de eso? Para mi era como si hubiese una asignatura de jugar a la consola. Pero allí empecé a programar de verdad. Allí conocí C, usando Turbo C como IDE.

Menuda gozada. Podía poner breakpoints. No había que escribir números de línea. Podía cortar y pegar código. Podía hacer muchas cosas que antes ni me imaginaba que se podían hacer.

El resto a partir de aquí, más normalito: C++, VBA, primeros programas que hacía cobrando, … vamos, lo normal.

Y ahora… pues ahora ya no me dejan jugar con estos juguetes. Tengo un equipo de desarrollo jugando con las últimas tecnologías, y a mí no me dejan jugar. Pero bueno, siempre podré hacer de abuelo cebolleta y decirles a los recién titulados frases como “Bah! ahora te lo dan todo hecho. Ya me gustaría haberte visto programando en código máquina y sin ensamblador. Eso sí que era para machotes.”

 

¿Cómo empezaste tú? Si tienes un ratito, cuéntanos tu historia.

Sobre el autor

Jose M. Huerta

Jose es Gestor de Proyectos y Gestor de Servicios en Mallorca. Es Ingeniero de Telecomunicaciones y obtuvo el Master of Advanced Studies durante su etapa como investigador. Pero no tardó en abandonar ese mundo y meterse de cabeza en el mundo de las Tecnologías de la Información.
Está certificado como ITIL Expert. Tiene amplia experiencia en gestión de servicios, clásica e integrada con desarrollo, gestión de proyectos, usando metodologías clásicas y ágiles, gestión de programas y portfolios, gestión de grandes grupos de personas, localizadas y off-shore, sin dejar de perder de vista el lado técnico y freak del sector.
Ha trabajado en varias empresas del sector con distintos roles en áreas tanto de gestión de servicios de soporte como de equipos de desarrollo.
Actualmente trabaja en Sunhotels, como responsable del equipo de operaciones TI.

2 comments

  1. Julio 3 octubre, 2017 at 13:06 Responder

    Hola José M:

    Me encanta tu blog que sigo desde hace semanas que lo descubrí en algunos comentarios del blog de Garzás.

    Mi historia es muy parecida a la tuya. Yo también tuve el Spectrum de teclas de goma, que luego se convertiría en un maravilloso +3 con disquetera! Y al igual que tú hace tiempo que llevo un equipo con demasiadas personas como para poder seguir programando. Cómo duele, verdad??
    Ahora me tengo que conformar con revisar código y en el mejor de los casos algo de pair o alguna incidencia de un proyecto legacy donde lo más eficiente es que me encargue yo de ella.

    Y esta es un poco mi historia. Esto y lo que me sorprendo hoy en día cuando llegan candidatos a los procesos de selección, con su título y formación, que no te saben programar una función factorial en papel y lapiz.

    Un saludo y sigue escribiendo!
    Julio

    • Jose M. Huerta 4 octubre, 2017 at 20:39 Responder

      Encantado de tenerte por aquí Julio. Mi caso creo que es todavía peor, porque llevo poco más de 2 años en la empresa actual, con lo cual no sirvo ni para revisar el legacy…

      Función factorial, supongo que te refieres al clásico ejemplo de hacer una función factorial recursiva, y reventar la pila. Supongo que eso lo seguiran explicando.

Post a new comment