lunes, 6 de agosto de 2012

Abstracción algorítmica, la materia que nos enseña a crear desde de la nada




Era mi primer día de clases en la universidad, decidí estudiar Informática, vi mi horario de materias y mi primera clase que tuve en la carrera era “Abstracción Algorítmica” recuerdo bien eso, no tenia ni idea de lo que era, las demás materias tenían nombres mas familiares como matemáticas, física, electrónica, etc., pero ésa era un enigma. Entré al salón, vi a mis nuevos compañeros, todas caras nuevas. El maestro llegó con su portafolios, hicimos el protocolo de presentarnos todos, una vez terminado con las formalidades el maestro impartió una clase que recordaría por el resto de mi vida.

 “Bueno jóvenes ésta es la clase de abstracción algorítmica, ¿alguien sabe de qué se trata esta materia?”, reinó un silencio absoluto en el salón, el maestro continuó: Bien, en esta carrera que han decidido estudiar, gran parte de su tiempo lo van a utilizar en desarrollar software, como saben el software es la mente o la materia gris de las computadoras, que al igual que nuestros pensamientos son invisibles e intangibles, son todos los programas y el sistema operativo que constituyen el sistema de la Pc, sin ellos la computadora solamente sería un pisapapeles caro.

Continuo el maestro:

Pero para que ustedes puedan desarrollar estos “programas”, necesitan cambiar su manera de pensar, necesitan desarrollar su capacidad de abstracción, y de eso es de lo que se va a tratar esta materia. Vamos a estudiar conceptos y cosas que no existen, que no podemos ver y que solo existen en  el mundo de la mente, van a desarrollar su capacidad de crear desde la nada, mediante la razón y apoyándose de la lógica procesos e ideas que influirán y resolverán problemas en el mundo real.

Todos mis compañeros y un servidor quedamos estupefactos. La clase tenía un no se qué de implicaciones filosóficas. El profesor (quizás movido por el silencio incómodo de sus  pupilos), se dignó a darnos una explicación un poco más razonable:

“Bueno muchachos no es tan complicado de lo que les estoy hablando, para que se den una idea de lo que trata esta clase, aquí están dos ejemplos claros de conceptos abstractos, “el amor y las matemáticas”, todos las conocemos, físicamente no existen ambas cosas, no las podemos ver ni tocar pero influyen mucho en la vida real-.  El mismo amor aunque jamás lo hemos visto es el motor del mundo-espetó el maestro-.

-Para desarrollar cualquier programa, todo parte y se crea de lo abstracto, de nuestra capacidad que tenemos en nuestra cabeza para crear e imaginar, si tenemos un problema que resolver usando la computadora necesitamos enseñarle a la máquina el modo o el  “proceso” de cómo resolver ese problema, estos procesos se llaman “algoritmos”, que son el corazón mismo de todos los programas. Los algoritmos  al igual que las ideas nacen primero en su cabeza, estos deben de ser precisos y lógicos. Los algoritmos son algo así como la receta de cocina de un platillo muy rico, es una serie de pasos lógicos y ordenados para resolver un problema, el bañarse por ejemplo es un “algoritmo”, ustedes primero se quitan la ropa, se meten a la ducha, se secan y se ponen la ropa limpia, nadie en su sano juicio se mete a bañar con ropa, se desviste después y luego sale a la calle desnudo -argumentó el maestro-.

Cuando les deje de tarea realizar algún programa- ya con mas familiaridad hablaba el profesor-, ustedes pondrán en practica todo esto que les platico, algunos crearan magníficos programas muy poderosos en pocas líneas de código fuente, este “código” son todas las “líneas de instrucciones” (algoritmo) que forman el cuerpo del software, es por así decirlo como el ADN del programa. Pero habrá otros por el contrario, que ocuparan cientos e incluso miles de líneas de código fuente para darle a entender a la computadora su idea, y aún así podría tener errores, “bugs” o en el peor de los casos -vaticinó el maestro-,  ni si quiera funcionará el programa, eso dependerá de la capacidad de abstracción de cada uno de ustedes.

Así concluyo la clase de abstracción algorítmica en ese mi primer día de clases, fue la materia que mas disfruté en todo el semestre y aún hoy que ya trabajo, sigo recordándola con agrado, una mezcla entre matemáticas con lógica y filosofía. Una materia que te enseña a crear desde lo abstracto e irreal.