21 octubre 2024

Cuando era un computin

Resulta que me puse -por fin- a ordenar mi taller, y de paso traté de ordenar un poco la bodega, que está repleta de basura que han dejado parientes y amigos por años, pensando que con eso se liberaron de un problema, traspasándolo a nosotros, claro.

Ortdenar esa bodega es como limpiar los Establos de Augias, creo que el propio Hércules se vería en problemas tratando de organizar esa toneladas de basura. Pero no solo hay basura ajena sino también algo de basura propia.

Así fue como me encontré con cientos de diskettes de 3 1/2 y de 5 1/4 de los años en que me ganaba el caviar vendiendo programas. Allí deben estar los programas para control de centrales de compras del Regimiento Dolores, los de control de inventarios de Superaudio, de los Tribunales de Arica e Iquique y muchas empresas de la Zona Franca que vendí por esos años.

Recuerdo bien las dos veces que fracasé tratando de hacer un código, cuando recién empezaba con eso: la primera fue en el computador Radio Shark de don Andrés Guisa y la segunda vez cuando traté de hacer un programa de control de naves para la Gobernación Marítima de Iquique.

De ambos fracasos aprendí mucho, especialmente del de la Gobernación Marítima, que tratamos de hacer con el teniente Silva, que recién se había graduado de ingeniero en la Universidad Federico Santa María. Nos enredamos tanto en el diseño que al final no entendíamos nada y el maldito asunto quedó olvidado: trabajé muchísimo y no pude cobrar nada.

Pero igual fue una gran experiencia, aprendí casi todo lo que se de esos dos fracasos y de allí en adelante todos mis programas funcionaron, aunque no todos llegaron a entrar en producción, casi siempre por problemas administrativos o limitaciones de la máquina.

"Cualquiera puede programar"
Hice un curso con ese nombre, y otro que se llamaba "Aprenda Python en tres días", ambas afirmaciones son ciertas, no se necesita ser inteligente y ni siquiera ingenioso para aprender cualquier lenguaje de programación, se parece a aprender un nuevo idioma, pero es incomparablemente más fácil.

El inglés por ejemplo tiene unas 170.000 palabras, el español tiene 93.000 de uso común. Comparando con un lenguaje de programación. para aprender Python por ejemplo, basta conocer entre 20 y 40 instrucciones -que equivalen a las "palabras" de un lenguaje natural. ¡Imaginen aprender un idioma que tiene solo 40 palabras!

La sintaxis y gramática de cualquier lenguaje de programación es infinítamente más simple que la de cualquier idioma. Y tengan en cuenta que cualquier criatura maneja su lenguaje natural después de un par de años. 

Por eso los buenos programadores generalmente aprendieron por su cuenta cuando niños, no porque los niños sean más "inteligentes" sino porque hasta un niño puede aprender un lenguaje de programación en muy poco tiempo.

¿Y por qué entonces no todo el mundo se dedica a esribir código? Aquí viene el secreto: resulta que la programación es un oficio muy artesanal que requiere años de práctica dura. Un programador funciona igual que un escritor, son procesos muy parecidos.

Por eso cuando Centurio o alguien más me dicen "Pero si tu sabes Python ¿por qué no programas un corntrolador para drones?", eso equivale a suponer que cualquiera que sepa leer y escribir debería ser capaz de escribir una novela o una buena obra de teatro.

Claro que podría ser capaz, pero solo en potencia y después de pasar varios años desarrollando aplicaciones de ese tipo en específico. Hay infinitas clases diferentes de aplicación, la mayoría son muy especializadas.

La analogía entre un programador y un escritor es profunda, muchos buenos programadores también son buenos escribiendo porque el proceso es muy parecido. 

Así como un buen escritor debe haber leído cientos o miles de libros antes que sea capaz de redactar uno bueno, un programador también aprende de esa manera: copiando chunks de código que incorpora a su caja de herramientas y con el tiempo van desarrollando su estilo.

Porque existe un estilo de programar que a veces hace muy identificable al que escribió un código, tal como uno al leer un fragmento puede identificar que lo compuso el escritor tal o cual. 

Lo principal es entender que no basta dominar un lenguaje de programación para ser capaz de escribir código, tal como no basta saber un idioma para escribir buenas novelas o poesía.

Cuando yo empecé a programar tenía unos 14 años en 1969, aprendí Fortran y no fue hasta 1980, once años después que tuve acceso a un computador por primera vez, antes de eso mis programas eran en papel y lápiz y no tenía como probarlos, más que haciendo a mano flujos y tablas de entradas y salidas.

Eran los años de la prehistoria, donde los que sabíamos un lenguaje teníamos que hacer el trabajo que ahora hacen 10 o más personas, desde entender el problema hasta entregar un código en producción sin errores ni excepciones.

No era nada difícil, pero si excesivamente trabajoso. Los programas que escribía en Visual Basic y en VBA para los tribunales, al imprimirlos contenían más de 600 páginas de código y eso que eran aplicaciones sencillas. 

Si tuviera como leer los diskettes que aparecen en la foto los encontraría hoy y me podría entretener recordando los buenos viejos tiempos, cuando me amanecía en un viejo computador Epson tipeando como loco. Ya nada de eso puede existir, hoy eso es inviable.

En el año 2005, mi amigo Stephen tenía una empresa de computación de nicho en Estados Unidos, con un solo cleinte que le daba bastante plata y tuvo la mala idea de contratarme para que empezara a ayudar a montar y administrar servidores virtuales y hacer control de calidad del código que desarrollaban.

Fue una pésima idea, si hay algo para lo que yo no sirvo era justamente para eso, hice puros desastre y después lo dejé, es un recuerdo vergonzoso para mi por el horrible desempeño, nunca había hecho tan mal un trabajo en mi vida.

La última vez que tuve algo que ver con computación fue cuando me tocó supervisar un sistema grande y complicado en la Municipalidad de Tacna, en 2008. Ese tenía dos equipos de desarrollo que trabajaban en paralelo para hacer funcionar la cosa.

Habían varios programadores, un par de analistas, un diseñador, especialistas en bases de datos, unos dedicados al front end y otros al back end, gente dedicada a las pruebas y control de calidad y otros dedicados a documentar. No recuerdo cuantos, pero eran varios.

El problema fue cambiar un sistema antiguo y lleno de parches en modo de texto, pero que mal que mal funcionaba (a duras penas) por otro nuevo. Los primeros meses de producción fueron desastrosos y el asunto provocó una revuelta popular donde la gente salió a la calle a tirarle piedras a la municipalidad.

Al final zafamos, pero entonces entendí que ya no tenía nada que hacer en computación, el maldito asunto ya no me entusiasmaba. Muchos años después, solo por curiosidad aprendí Python en un par de días, resultó muy fácil porque es casi idéntico al Basic con el que yo había trabajado años 

En fin, esas cajas de diskettes me trajeron buenos recuerdos del pasado, me gané el caviar durante casi 20 años con eso, fue lindo y entretenido mientras duró, como todo.

14 comentarios:

  1. Diskettes de 5 1/4, me recorde de mi primer compu, con dos floppy sin disco duro...Caramba que estoy viejo :-)

    ResponderBorrar
    Respuestas
    1. Los programas que están en esos discos eran para equipos Radio Shack y para el Casio 9000P en Ca Basic y QBasic, en los diskettes de 3 1/2 son programas en Visual Basic y VBA ¡tiempos aquellos!

      Borrar
  2. Mmmmm ... buenos recuerdos de la "prehistoria" computacional ... jajajaja.

    Yo también recuerdo haber usado esos diskettes floppy y los de 3 1/2 ... de hecho, mi tesis de Geografía en la Ponticato (PUCCH), la escribí completa en discos de 3 1/2 ... y aprendí, a las malas, a usar dos discos, uno de trabajo y el otro nada más de respaldo.

    Dije "a la mala", pues partí escribiendo todo en un solo diskette, hasta que un día ese diskette falló y todo lo trabajado "a la basura" (ya llevaba como 3 capítulos de la tesis) ... por suerte y/o gracias a Dios, escribía todo primero a mano en un cuaderno y de ahí lo pasaba al disco, de lo contrario hubiera sido un absoluto desastre perder todo lo avanzado ... pero después de tener que volver a escribir todo lo que ya tenía listo, aprendí la lección y decidí de ahí para adelante, manejarme con dos diskettes, uno de trabajo y el otro exclusivamente para copiar y tener de respaldo.

    Hablo de los años entre 1985 cuando egresé de la universidad y 1990, donde ya me titulé.

    Lindos recuerdos ... más ahora, cuando ya a fin de año paso al equipo de los jubilados ... aunque sin duda continuaré haciendo pegas, pero ya por mi cuenta, no contratado con horario estable semanal ... jejejeje.

    Gracias Don Tomás, por estimularme estos gratos recuerdos

    ResponderBorrar
    Respuestas
    1. Es extraño que no recuerde haber tenido una catástrofe así con diskettes, con lo que si tuve -y muchas- fue con discos duros, había unos Fireball o algo así, que eran del porte de un libro, los usaba en mi computador Epson me fallaron tres al hilo y eso no había como arreglarlo, eran de 300 y 600 Mb todavía tengo uno, no se si funcionará de 100 Mb, tendré que destruirlo antes que me muera, por si las moscas.

      Esos discos son de antes que apareciera la interfaz SATA, es como dices, historia de la prehistoria

      Borrar
  3. Hoy tengo respaldo hasta por debajo de la lengua: un servidor NAS de 16 terabytes y unos 8 discos duros entre 1 Terabyte y 500 gigas, más los discos locales de los 8 laptop y los dos Ipad de la Pilar y el Tomás Jr, tengo todo repetido por todas partes ¡el problema ahora es encontrar lo que busco!

    ResponderBorrar
    Respuestas
    1. Jajajaaj ... yo solo tengo un par de discos duros externos en casa, más lo que está en la memoria de mi note y algunos pendrive también ... ahh, y lo que tengo en la memoria de mi compu de la oficina y que es personal, que a fines de diciembre, tendré que copiar a disco duro externo y llevármelo, pues yo me voy, pero mi compu laboral se queda, ¡¡obviamente!!

      Así y todo, de repente también me cuesta recordar donde tengo cosas que sé que por ahí tengo ... jajajaja.

      Como decía la canción; "el tiempo pasa y ...", la memoria es frágil .. ¡¡qué se le va a hacer!!

      Cordiales saludos

      Borrar
    2. Mmmm ... creo que se comprende .. pero cuando hablo de "memoria frágil", me refiero a la cerebral, obviamente ... jejejeje.

      Las otras no se píerden, al menos mientras no falle el hardware o quede obsoleto aquel o el software (me paso con una especie de "diario de vida" que alguna vez escribía en WordPerfect y que cuando ese programa desapareció, perdí un montón de escritos y muchísimos recuerdos) ... ¡¡en fin!!

      Borrar
    3. Toda memoria es frágil y todo se terminará perdiendo, tanto la del cerebro como la digital. Al final no quedará mada, eso si que es seguro.

      Borrar
  4. Mi experiencia es muy inferior. Programé bastante pero para una actividad donde el principal consumidor éramos mis colegas y yo, una simulación del proceso fabril, para ensayar esquemas de cocimientos. El tipo de programas para el que más se prepara un ingeniero.
    Después en un trabajo externo hice los programas de una desmotadora de algodón, los recibos de algodón, liquidaciones a los productores, cuentas corrientes, ese tipo de cosas. Logré sobrevivir a eso.
    Ya enteramente por libre un "despachante de aduana" me hizo preparar un programa que creo le sirvió. Era un tipo que se ganaba la vida presentando a la Aduana el desarrollo de lo que venía en un contenedor, debía pasarlo a la codificación aduanera argentina y autoliquidarse los impuestos. Un curro burocrático, combinar unas bases de datos y nada más.
    Ese mismo tipo era un gran apostador de la quiniela de números y quería un programa para seguir los números. Quería seguir los números que habían salido a la cabeza, al segundo puesto, tercero, la etc.. etc... y quería apostarle a los más retrasados.
    En ese momento, en un ataque de honestidad "nerd", le dije que era una pelotudez su idea, que los números no tienen "memoria" y ninguno acumula más probabilidades de salir al siguiente tipo porque haya pasado un rato mayor o menor sin salir, o acabase de salir. Se ofendió, pero por suerte le dio por atribuirlo a mi inexperiencia como jugador. Me terminó dando una clase de probabilidad tal como él la entendía, en ese momento mi reserva de honestidad estaban ya agotadas, acepté, le hice su programa que no lo ayudaría a ganar nunca y le cobré mejor que el primero, el que sí servía para trabajar. Uls

    ResponderBorrar
    Respuestas
    1. Ah Ulschmidt ¡el cliente tiene siempre la razón! jaja, aunque pida pelotudeces hay que hacerlo feliz ¡bien cobrado! Al menos le diste sus minutos de esperanza de ganarse la quiniela

      Borrar
    2. él aseveraba que acertaba más desde que lo tenía! Pero tengo un amigo "burrero", propietario de un caballo y apostador empedernido, que sólo recuerda los fines de semana en que salió ganando. Si por su segada cuenta fuera ya debería ser Midas. En cambio está en la lona, como es previsible. Uls

      Borrar
    3. Ese sesgo lo tenemos todos, yo tengo un chanchito de la suerte, un ekeko y varios otros amuletos que me protegen de todo mal y no me fallan nunca... excepto cuando me fallan que es casi siempre- Pero de eso ni me acuerdo

      Borrar
  5. Recuerdo alcanzar a conocer los diskettes, aunque no tuve tanta interacción con ellos como con los cassettes y los VHS. Aun conservamos de los dos últimos pese a no tener cómo reproducirlos.

    ResponderBorrar
    Respuestas
    1. Es el problema que tengo yo con una pila de discos duros viejos, que vienen con la interfaz para los I 386 y 486!

      Borrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"