Category Archives: Programación

How old were you when you first learned to code, and what intrigued your interest in it?

I was, around 12 years old (1986 maybe). I remember my interests were cycling, reading, watching movies, thinking on going to the beach and stuff like that.

In Cuba we had no computers at home back then, but there were places named Joven Club de Computación (let’s call them “computer’s club”).

Well one day my father told me to visit a computer’s club near home because a son of one of his coworkers worked there. He though it will be a good opportunity to learn about computers, because computers will be the future and so on and so on, you know.. all the blah blah blah your parents always used to say.

Well I said “yes I will go” but I actually never went.. I was interested in cycling and roaming around the city, etc, etc.

So one day my dad asked me: have you visited the computer’s club?

ME: “No dad.. I have not”.

Dad: “Well my dear you take your bike RIGHT NOW and GO STRAIGHT TO THE COMPUTER’S CLUB AND ASK FOR LUIS AND BRING THIS PIECE OF PAPER WITH HIS NAME SIGNED BY HIM, OTHERWISE I WILL TAKE THE SH…. OUT OF YOU!!!” he yelled.

My God, I got really scared and went to …. that place….I was really upset… I asked for Luis, he showed up : “oh you are Ernesto, come on.. you know what: Im busy right now but read this book and try to apply what the book says by using this computer”. He showed me how to start the computer and left to the upper floor.

It was an MSX “intelligent keyboard” (https://en.wikipedia.org/wiki/MSX) and the book was about an introduction to programming in MSX Basic… and I sat there for I don’t remember how many hours; actually learning how to start a program in MSX Basic, the first “hello world”, how to run my program, what a variable was… conditionals, loops, and so on… I don’t know: I sat there like 8 hours, until Luis showed up again and asked me if I wanted to save my program, and taught me to save to a cassette in a tape recorder. (oh, and he signed the paper Dad asked me to bring back.. or I didn’t ask him for? I don’t recall now).

Anyway: I was totally amazed!! I could order to computer to do things… I could cycle, or print strings depending on a conditional statement, and so on and so on. Solve math of physics ecuations, code and print my biorhytm (remember that?), well it took me some time to do it but I ended up doing whatever i wanted with the computers.

Oh…. after a couple of week it was dad who was going to the Club to pick me up and to force me to go home to “eat something”

I went to the club as soon as it openned at 8 or 9am, and left only when they kicked me out of it at 10pm or when dad went to force me out of the club. I was even given the keys to stay during lunch break of the Club’s workers.

That was how I started… a brief summary of how I started in fact.

programación

Ya comenté en un post de hace casi 5 años cómo comencé en la programación.

Luego de lo ahi contado, seguí poniéndole ganas a la programación y aprendí poco a poco algunos lenguajes. En el colegio (vocacional) nos enseñaban precisamente MSX Basic que era lo que yo sabía y pasé literalmente fácil esos años. Incluso participé en el grupo de concurso, que eran algunos estudiantes que sacaban de sus aulas para entrenarles intensivamente en un tema específico. De computación éramos 4, habían de biología, de matemáticas, física, química y electrónica.

Un año antes de acabar la vocacional publicaron la lista de carreras a las que se podía optar y yo veo una que dice: informática. Mi profesor de computación me aclaró que eso era algo llamado “informática y bibliotecología”… no, eso no quería, era de organizar bibliotecas y eso. Pero resulta que otro amigo un año superior me aclaró que era una carrera dedicada a lo que nos gustaba: “programar” tenía otras cosas aburridas, pero era eso.

Así que le apunté y de las 5 plazas que se asignaron ese año a mi provincia yo accedí a una.

En la universidad efectivamente aprendimos muchos lenguajes de programación. Yo ahora no los recuerdo todos pero intentaré hacer una corta lista:

  • Pascal (estructurado y orientado a objetos)
  • C (estructurado y a la brava para sistemas operativos)
  • Prolog
  • LISP (lo estudié en la maestría)
  • Siman
  • Ensamblador (en modo real)
  • Visual Basic
  • Delphi (esto era voluntario)
  • Foxpro y Visual FoxPro
  • dBase y foxbase (lo aprendí en mis prácticas)

A todo esto yo ya sabía MSX Basic y GW Basic del colegio.

Incluso teníamos un semestre de “intérpretes y compiladores” donde aprendimos cómo se realizaban intérpretes, generadores de código y compiladores.

Ninguna asignatura era suave o autocomplaciente, realmente había que aprender, por uno, o con la ayuda del profesor.

Recién graduado trabajé en una empresa canadiense donde el lenguaje escogido era Progress4GL, un lenguaje super lindo y extremadamente performante para trabajar. Y lo usé durante más de dos años que trabajamos para ellos.

Estoy seguro habían algunos más, si alguien de la época me ayuda, le agradezco. Además de esto fue fuerte el manejo de algoritmos, y técnicas de programación, fue fuerte fuerte.. era interesante, pero era super demandante.

A lo largo de los años, a medida que me ha ido interesando un lenguaje, lo he ido aprendiendo. Tengo mis preferencias, al que le guste y al que no. A mi no me gusta tanto la programación orientada a objetos, si la tengo que utilizar o leer, lo hago, pero no me gusta. A mí no me gustan mucho los lenguajes puros de programación de BD, no me gusta la programación visual, comprendo que es muy útil y he aprendido a usar algunos lenguajes visuales, pero no es mi mundo.  Algunos lenguajes los he olvidado, por ejemplo que no me pregunten nada de SIMAN. Otros los utilizo directa o indirectamente cuando me ha hecho falta.

Sí, porque una de las ventajas de programar es que no soy un simple administrador de red, servidores, ruteadores. Sino que cuando me hace falta puedo leer un código e interpretarlo, o sacar conclusiones o encontrar problemas en sistemas. Porque conozco sólidamente los fundamentos de la programación, bases de datos. A la final un lenguaje u otro, y (relativamente) una base de datos u otra, se basan en las mismas teorías, fundamento, reglas, técnicas.

Ya luego de la universidad me orienté lentamente hacia las redes de comunicación y Linux, por lo que la tasa de aprendizaje de nuevos lenguajes fue bajando.

  • PERL
  • Gambas (simil del VB pero abierto)
  • Bash scripting

Con bash he pasado muuuucho tiempo, es un lenguaje interpretado simple, sencillo para realizar tareas de los administradores de servidores y redes. Y realmente me gusta mucho.

Si hay un lenguaje que utilizo super super frecuentemente es la programación en bash scripting.

Y hace un tiempo andaba así con un tiempo libre y me puse a aprender un lenguaje que siempre me ha intrigado: python. Y realmente aprendí en menos de 48 horas sus rudimentos, claro que la práctica ayuda mucho, no es sólo aprenderlo, sino comenzar a utilizarlo y practicarlo. Realmente facilita muchas tareas, es un lenguaje mucho más avanzado que bash, es un lenguaje digamos que requiere del mismo esfuerzo que php, perl o pascal. Uno tiene que ir comprendiendo cómo se hace lo que uno desea en este lenguaje. O cuáles trucos facilitan tu vida, etc. Pero realmente es emocionante.