Buscando el Código Fuente
Esta publicación fue hecha originalmente en el blog Dame un Campo, en octubre de 2010.
Si me preguntan, "¿qué es lo que más influye en las personas a la hora de escoger una profesión?”, yo digo: la niñez que tuvieron. Tal vez para muchos la respuesta sea obvia, pero no me había puesto a pensar bien en eso hasta hace poco, cuando alguien me preguntó cuándo fue la primera vez que programé. Como ya se habrán imaginado, estudié computación, y desde que me gradué mi trabajo ha girado en torno a las computadoras. Indirectamente, son las responsables de que yo pueda tener un lugar dónde vivir y algo qué comer.
Se puede considerar a la acción de programar como una relación un poco "íntima" con las computadoras, es decir, la mayoría de la gente no lo ha hecho y nunca lo hará. Muchos dependemos de esa tecnología para vivir la vida que gozamos, pero poca gente sabe o le interesa saber cómo funciona. Por eso la opinión pública convierte automáticamente a una persona que programa en un geek, nerd, computín, ñoño y similares.
En fin, dada la pregunta que me hicieron, hice memoria para recordar ese primer contacto. Yo mismo me sorprendí un poco de la respuesta. Mucha gente aprende a programar en el cole o incluso cuando entran a la U. Lo mío fue antes.
En la década de los 80, yo vivía en un barrio medio bonito de Quepos. Un pueblo costero en el Pacífico que quedaba a cinco horas de San José. Era muy diferente a vivir en la capital: no se veían los mismos canales de tele, no se escuchaban las mismas emisoras, por lo tanto hasta la música era diferente y todo era otra cosa.
En ese mundo, hasta cierto punto aislado, vivía yo. Tenía como seis años cuando mi papá regresó de un viaje a San José con un pedazo de tecnología: una computadora Apple IIc. Yo quedé maravillado: comparada con la estética cuadrada de los electrodomésticos ochenteros, esta computadora parecía traída del futuro.
Las Apple II fueron una serie de computadores desarrollados por Apple desde los años 70. Precursoras, digamos, de las Macintosh (hoy conocidas como iMac). Por ello, compartían muchas de sus características. Tenía mouse, joystick, paddles, unidad de diskette, impresora y un glorioso monitor monocromático verde. Así aprendí a dibujar en paint, a jugar, imprimir tarjetas, a usar turtle graphics y a ver lo que hacía mi papá. Lo que más me gustaba eran los juegos -eso no ha cambiado mucho-, pero el problema era que, dado que la tienda de tecnología más próxima estaba a 157 km de distancia, los juegos eran pocos y limitados. Por supuesto, un niño de seis años los consumía en un abrir y cerrar de ojos.
Pero mirar a mi papá fue la clave aquí. Mi papá siempre ha sido muy autodidacta, y con la compu no fue la excepción. Se consiguió libros sobre programación y un intérprete del lenguaje Basic. Entre los libros había uno que consistía en líneas y líneas de código Basic con diferentes programas listos para ser digitados y ponerlos a funcionar. Cuando mi incesante flujo de preguntas infantiles llegó al tema de lo que él estaba haciendo, no le quedó más remedio que explicarme qué era programar. Así aprendí que un código fuente era lo que estaba detrás de los juegos que usaba. Lo mejor de todo fue cuando descubrí una sección entera de ese libro dedicada a juegos. La siempre inocente y libre mente de un niño se imaginó cosas asombrosas cuando leía títulos como "Carrera de autos" o "Guerra Naval".
Manos a la obra. Me propuse iniciar la labor de transcribir alguno de esos juegos, empezando con el más corto, claro, para no cansarme mucho escribiendo ese montón de signos raros que no tenía una idea de qué significaban. Seguí al pie de la letra los pasos de mi padre para poner a funcionar el programa, y voilá, tuve un juego nuevo. Este era poco entretenido y lo peor era que no había dibujos, sólo texto, lo que me decepcionó por completo y continué con otro. Repetí lo mismo varias veces, obtuve el mismo resultado y conocí a la odiosa frase "SYNTAX ERROR". Desde ahí empezaron a irritarme estos aparatos.
Finalmente llegué a la conclusión de que lo bueno del juego estaba relacionado con la longitud del código, y escogí uno de los más largos. Después de horas y horas de arduo tecleo, terminé y no funcionó, no tenía sentido lo que aparecía en la pantalla. Seguramente había cometido tantos errores en la transcripción del código que resultó un desastre. Totalmente frustrado, decidí no volver a pasar los juegos del libro, duraba demasiado haciéndolos y eran horribles. La siguiente vez que volviera a escribir código fuente sería hasta que entrara a la universidad, una década después.
Tal vez porque en realidad el código no era obra mía se podría decir que no estaba programando. Pero algo de crédito merezco por haberlo hecho ante tal necesidad de juegos nuevos. Definitivamente, este primer encontronazo me influenció a ser lo que soy hoy. Y no sólo eso, sino haber sido, tan joven, usuario de una tecnología que se convirtió en un estándar años después.
Es por eso que comprendo que la niñez es la época que marca lo que cada persona va a ser en la vida. Si mi papá no hubiera sido tan curioso con las computadoras, ni hubiera hecho el esfuerzo que hizo para tener esa tecnología y compartirla con sus hijos, sin duda yo sería una persona completamente distinta.
Si me preguntan, "¿qué es lo que más influye en las personas a la hora de escoger una profesión?”, yo digo: la niñez que tuvieron. Tal vez para muchos la respuesta sea obvia, pero no me había puesto a pensar bien en eso hasta hace poco, cuando alguien me preguntó cuándo fue la primera vez que programé. Como ya se habrán imaginado, estudié computación, y desde que me gradué mi trabajo ha girado en torno a las computadoras. Indirectamente, son las responsables de que yo pueda tener un lugar dónde vivir y algo qué comer.
Se puede considerar a la acción de programar como una relación un poco "íntima" con las computadoras, es decir, la mayoría de la gente no lo ha hecho y nunca lo hará. Muchos dependemos de esa tecnología para vivir la vida que gozamos, pero poca gente sabe o le interesa saber cómo funciona. Por eso la opinión pública convierte automáticamente a una persona que programa en un geek, nerd, computín, ñoño y similares.
En fin, dada la pregunta que me hicieron, hice memoria para recordar ese primer contacto. Yo mismo me sorprendí un poco de la respuesta. Mucha gente aprende a programar en el cole o incluso cuando entran a la U. Lo mío fue antes.
En la década de los 80, yo vivía en un barrio medio bonito de Quepos. Un pueblo costero en el Pacífico que quedaba a cinco horas de San José. Era muy diferente a vivir en la capital: no se veían los mismos canales de tele, no se escuchaban las mismas emisoras, por lo tanto hasta la música era diferente y todo era otra cosa.
Centro de Quepos en la actualidad |
Las Apple II fueron una serie de computadores desarrollados por Apple desde los años 70. Precursoras, digamos, de las Macintosh (hoy conocidas como iMac). Por ello, compartían muchas de sus características. Tenía mouse, joystick, paddles, unidad de diskette, impresora y un glorioso monitor monocromático verde. Así aprendí a dibujar en paint, a jugar, imprimir tarjetas, a usar turtle graphics y a ver lo que hacía mi papá. Lo que más me gustaba eran los juegos -eso no ha cambiado mucho-, pero el problema era que, dado que la tienda de tecnología más próxima estaba a 157 km de distancia, los juegos eran pocos y limitados. Por supuesto, un niño de seis años los consumía en un abrir y cerrar de ojos.
Computadora Apple IIc. Tomado de Wikipedia Commons. |
Manos a la obra. Me propuse iniciar la labor de transcribir alguno de esos juegos, empezando con el más corto, claro, para no cansarme mucho escribiendo ese montón de signos raros que no tenía una idea de qué significaban. Seguí al pie de la letra los pasos de mi padre para poner a funcionar el programa, y voilá, tuve un juego nuevo. Este era poco entretenido y lo peor era que no había dibujos, sólo texto, lo que me decepcionó por completo y continué con otro. Repetí lo mismo varias veces, obtuve el mismo resultado y conocí a la odiosa frase "SYNTAX ERROR". Desde ahí empezaron a irritarme estos aparatos.
Finalmente llegué a la conclusión de que lo bueno del juego estaba relacionado con la longitud del código, y escogí uno de los más largos. Después de horas y horas de arduo tecleo, terminé y no funcionó, no tenía sentido lo que aparecía en la pantalla. Seguramente había cometido tantos errores en la transcripción del código que resultó un desastre. Totalmente frustrado, decidí no volver a pasar los juegos del libro, duraba demasiado haciéndolos y eran horribles. La siguiente vez que volviera a escribir código fuente sería hasta que entrara a la universidad, una década después.
Tal vez porque en realidad el código no era obra mía se podría decir que no estaba programando. Pero algo de crédito merezco por haberlo hecho ante tal necesidad de juegos nuevos. Definitivamente, este primer encontronazo me influenció a ser lo que soy hoy. Y no sólo eso, sino haber sido, tan joven, usuario de una tecnología que se convirtió en un estándar años después.
Es por eso que comprendo que la niñez es la época que marca lo que cada persona va a ser en la vida. Si mi papá no hubiera sido tan curioso con las computadoras, ni hubiera hecho el esfuerzo que hizo para tener esa tecnología y compartirla con sus hijos, sin duda yo sería una persona completamente distinta.
Mauricio, recien empiezo a explorar este mundo, vi algunos de tus videos, visite tu blog, y esta historia me ha llenado de inspiracion, recien inicie a estudiar la programacios, me gustaria tener consejos de tecnicas de estudio, de lo mas dificil y lo mas satisfactorio de ser programados.
ReplyDeleteSaludos.
Hola Diego, es un honor para mí que me digás que te inspiré a seguir estudiando programación. La programación es un arte muy satisfactoria, para mí, el secreto está en programar y experimentar todo lo que se pueda. Incluso, te invito a que programes por diversión, no sólo porque haya asignaciones o tareas pendientes, si no porque se le encuentra el gusto y te da la oportunidad de la creación a partir de nada. En ciencias de la computación hay muchos temas que son profundos y difíciles de asimilar, pero conforme se va avanzando se vuelven más interesantes y retadores. Finalmente, ¡nunca se para de aprender! Siempre hay temas, herramientas, lenguajes, sistemas operativos, investigaciones, libros... cosas nuevas con qué experimentar y ponerse al tanto. Así que ¡adelante! Un saludo.
Delete