Veneno en los dedos

En la vida de todo programador hay un “día especial”, algunos tendréis que hacer memoria, otros mucha memoria y algunos no lo recordareis pero es el día en que uno toma conciencia de sí mismo y se da cuenta de que es un “PROGRAMADOR”. (¡Qué fea palabra!… léase “CODER” please)

No estoy hablando de ser “programador”, si no de ser “PROGRAMADOR”. Me refiero al momento en que te das cuenta de que el código es importante, que eres una máquina de tirar líneas que buscas mejorar día a día y de que el veneno de los 1s y los 0s está dentro de ti, del momento en que te das cuenta que todo es programable, de que a la silla de ruedas de tu abuelo se le puede poner un motor y programarlo, de que la gameboy de tu primo lleva un Z80 y seguro que hay alguna forma de meterle mano y…..en fin, te das cuenta de que el teclado es una extensión de tus dedos.

Os contaré como fue mi momento.

Yo cacharreaba con ordenadores como muchos de vosotros, que si un ZX81, un Commodore 64, etc…,etc… Allá por el año 1989 (yo tenía 19 años), un amigo de mi cuadrilla (Iñaki) me propuso hacer un programa para la empresa en que trabajaba su padre, era una empresa de excavaciones pequeña, CAMES, que hacía cosas generalmente para empresas más grandes.

El programa demandado consistía en llevar un control de los partes de los empleados y las máquinas; había que controlar el número de horas que se empleaba en cada obra. Tuvimos algunas reuniones en la oficina de la empresa y me explicaron con todo detalle cómo se llevaban los partes manualmente y los controles que se debían hacer semanalmente y mensualmente, así como los trabajos que había que re-facturar a terceros.
Durante las reuniones tome un montón de notas tratando de no perder detalle de lo que querían que el programa hiciera exactamente.
Por aquel entonces, había aprendido algunos leguajes de programación, como Basic, Pascal, C, algo de Lisp y Prolog, y dBase3, para el asunto me decante por dBase3, no por nada especial, pero las librerías btreeve que usaba entonces en Basic y en C, daban bastante guerra. También pensé en la comodidad de que dBase contaba con campos de entrada que admitían validaciones sin mucho esfuerzo, así como poder examinar las tablas y ver cualquier detalle de los datos. Otro de los factores importantes en la decisión fueron los listados, ya que hacer listados con dBase era coser y cantar. En fin dBase era perfecto para hacerlo todo sin demasiado esfuerzo.

De modo que me encerré en casa e hice el programa; unos días más tarde recibí en mi casa (la de mis padres en realidad y en mi habitación más concretamente) a las personas a las que debía enseñar el programa. Estuvimos toda la tarde revisando las especificaciones y surgieron varias cosas. Al terminar, yo no estaba del todo satisfecho con el programa a pesar de que cumplía con las especificaciones salvo en algún pequeño detalle que surgió durante la demo.

Un amigo me hablo de Clipper el compilador de dBase, me dejo un manual y me dijo que sería mucho más profesional hacerlo con Clipper (87). Así que rehíce el programa completamente desde cero.

Finalmente entregué el programa y cobre 60.000 pesetas (un dineral en el año 89) y muy agradecido asesoré a la empresa también acerca del ordenador y la impresora que debían comprar.

Los primeros viernes de cada semana, momento en que se pagaban las horas extras a los empleados, yo tenía que bajar a la empresa exclusivamente por si surgía algún problema o alguno de los cálculos no salían correctamente. El argumento de “Benito”, el encargado,  era que los empleados (tíos muy curtidos de la obra y con carácter más bien duro) sabían mejor que nadie cuanto debían cobrar de modo que, por si acaso, sería mejor que yo estuviese allí en caso de que no coincidieran las cifras.

Lo estuvimos haciendo aproximadamente durante un mes hasta que lo dieron por válido, ya que, los cálculos siempre salían correctamente si se habían introducido bien los datos.

Ese fue mi primer programa de ordenador, y mis primeros ingresos como “programador”.

Aún así, todavía no era un programador.

Tiempo después, mientras estudiaba FP por las mañanas, entre a trabajar por las tardes en una empresa de programación. Ellos programaban en Clipper pero no muy bien, de modo que, les di algunas lecciones, suena chulesco lo sé, pero lo mejor de todo es que mi profesor de COBOL de FP, trabajaba allí por las tardes, de modo que, él por la mañana me daba COBOL y yo por la tarde le daba Clipper a él. Cosas de la vida.

Bueno, estando allí hice multitud de programas, facturaciones, contabilidad,  etc…etc …

Aún así, no era un programador de los que hablaba al principio, pero el momento llegó y lo recuerdo perfectamente.

No estaba satisfecho con algunas de las cosas repetitivas que hacíamos programando, así que, cree un meta lenguaje que nos ahorraba horas y horas de programación de esa repetitiva, lo hice en casa por las noches e incluso hice un manual para que todo el mundo en la empresa pudiese usarlo. Ese fue el momento que arruinó mi vida :-).

Ese momento en que no te basta con lo que los lenguajes te dan, cuando empiezas a crear bibliotecas de código, a optimizar en ensamblador rutinas lentas, cuando creas un sistema que es capaz de ahorrar multitud de horas de programación, cuando los días y las noches se funden en la pantalla tirando líneas de código, leyendo programas de otros para aprender más y más, cuando no puedes pasar sin programar algo, lo que sea aunque sea solo por auténtico ocio, por ver si eres capaz de hacerlo o por la razón que sea, que seguro que es lo suficientemente buena como excusa para teclear.

¿Cómo te entro a ti el veneno?

11 comentarios en “Veneno en los dedos”

  1. Qué recuerdos…. Como has dicho ZX Spectrum, Commodore64. Pero yo con estos ya me veía como programador. Me compré hasta un compilador de Pascal para el Spectrum. Y sólo tenía 14 años.

    Siguiendo tu criterio el día en que me convertí fue cuando acepté realizar el programa de gestión de puntuaciónes de un evento deportivo (Trial, motos) y si, fue en Clipper87 en mi trasto de XT. Miles de líneas de código, errores, listados por todos lados….

    El siguiente hito se parece también, es el que me llevó al “siguiente nivel”, cuando realicé un “framework” en C++, de forma que la aplicación CRM pasó a ser una Meta-Aplicación programable. Fue como si ciertas piezas encajaran en mi cabeza y ya nada fue igual…

    Gracias por hacerme recordar estas cosas.

  2. Magnifico artículo!

    A mi no se como me entro el veneno pero me di cuenta cuando ya estaba en mi… fue por allá entre 1983 y 1985 que llevaba la clase de programación el la prepa y yo practicamente vivía en el Centro de Computo de Instituto no programando sino Jugando!! Era un gamer de 80×25!! 😀

    Fue entonces que la primera clase de programación supe de la existencia de la serie Fibonacci la cual fue la tarea para la siguiente clase. Esa misma tarde, mientras yo ayudaba a mi padre con algunas cosas de la casa, mientras serruchaba alguna madera, al sonar del serrucho (manual por supuesto) iba contando.. 1, 2, 3, 5, 8, 13, 21 …. mientras figuraba como podía hacer un programa (en Basic) para generar tal serie… Hoy esto sale sin abrir los ojos.. pero en aquel entonces.. yo tenía 14 años.. y era el primer día de la primera clase de programación de mi vida..!

  3. Carlitos, me alegro muchísimo de leerte por estos lados. 🙂

    En mi caso, solo tuve un Spectrum 48Kb y un MSX y solo para jugar. Intenté entender Basic y algo de ensamblador pero no entendía nada.

    Luego me metí en la Universidad y fue entonces cuando empecé a entender algo.

    Una asignatura de Cobol, otra de Fortran y otra de SmallTalk, y otra de C y C++. Pero para nada en profundidad, así que me empecé a interesar por “otras” cosas y ahí es donde conocí a Clipper (aunque apenas hice nada), Turbo Pascal, Delphi, VB y Java, pero el que me enganchó realmente fue VB.

    Se me ocurrió hacer algún pinito en Cobol y Fortran para aprender, y así intenté hacer un sistema de gestión y agenda telefónica en Fortran, y habiendo conseguido el reto, empecé a meterme con VB 1.0 primero, y VB 3.0 después, y es ahí dónde sufrí una importante metamorfosis.

    Como solución curiosa, la gestión o listado de todas las BBS de España, pero bueno, fue una pequeña utilidad que tampoco tenía mayor importancia.

    Y a partir de ahí, me he ido enganchando, practicando, aprendiendo, practicando, aprendiendo, cometiendo errores, acertando, errando, etc. Cada día intentando ser mejor y aceptando los retos como comentaba en una entrada de mi blog hoy.

    Programar lo puede hacer cualquiera, pero como muy bien apuntas (y coincido 100%), PROGRAMAR no lo hace cualquiera. 😉

    ¡Un abrazote enorme campeón!

  4. @lboisset – Todavía tengo el libro de Peeks and Pokes para el commodore 64, editado por Data Becker, de Liesert.

    @PiraTazz – A mucha de la gente que conozco le entro el veneno, jugando y haciendo sus propios juegos 🙂

    @Jorge – Bueno, voy poco a poco ya hablaremos; Lo del sistema de agenda teléfonica en Fortran, me ha dejado sin palabras.

  5. @Carlos, sabía que le iba a extrañar a alguien.

    Un familiar mío se apostó conmigo a que con Fortran no se podía hacer, y que entre Cobol y Fortran lo suyo era hacerlo con Cobol.

    Que entre Cobol y Fortran, Cobol era lo mejor no lo discutía nadie, pero como él decía que con Fortran era imposible y a cabezón casi nadie me gana, al final gané yo. 😀

    Pero aquello fue por cabezonería, porque evidentemente me costó lo mío. :-)))

    Abrazotes y ya hablaremos. 😉

  6. @PiraTazz – De museo ..
    @lboisset – Bueno, anda que no hemetido horas con los libros de Peter Norton,en especial con la guia de Ensamblador 🙂 la tengo desgastada.
    @Miguel – ¿nos vamos haciendo mayores? Nooooooo…..

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *