sábado, 16 de febrero de 2008

No, yo no voy a arreglar tu computadora

Veamos estas tres fotografías... ¿Puede usted notar las diferencias?

Adivine quién es informático, computólogo o ingeniero en sistemas.

Me he percatado de que existe una gran confusión respecto al significado de computación. En varias ocasiones se me ha acercado gente para pedirme que arregle su computadora o que le instale tal programa. Es cierto que sí sé como reparar algunas cuantas cosas. Eso lo aprendí como pasatiempo, pero no por el hecho de que esté estudiando computación.

Vamos a aclarar las cosas. La noción de cómputo es más elemental que la noción de computadora, dado que un cómputo se puede llevar a cabo sin utilizar ninguno de estos aparatos. De hecho, hemos realizado cómputos desde que estábamos en la escuela primaria, principalmente utilizando lápiz y papel. Desde aquel entonces hemos estado sumando, restando, multiplicando, dividiendo, calculando perímetros, áreas, volúmenes y muchas otras cosas. En todos estos cómputos hemos seguido una serie de reglas que son claras, precisas y bien definidas. Estas reglas son el objeto de estudio de la computación. Si estas reglas están expresadas de una manera explícita, se le llama algoritmo. Los algoritmos son ante todo medios de comunicación, puesto que sirven para comunicar de manera clara y concreta la forma de resolver problemas. Así, otras personas (o computadoras) pueden entender la manera de llegar a la solución de un problema. Cuando un algoritmo está escrito con una sintaxis de un lenguaje específico que una computadora digital es capaz de comprender, se le llama programa.

Pese a su nombre, la computación no se dedica a estudiar a las computadoras. Vale la pena recordar la siguiente frase de Edsger W. Dijkstra:
La ciencia de la computación no se trata de computadoras más allá de lo que la astronomía se trata de telescopios
Para expresar los algoritmos es necesario elegir un modelo de cómputo, es decir, las herramientas que ocuparemos para expresar algoritmos. Esta elección determinará qué cómputos se pueden llevar a cabo y cuales no. Por ejemplo, en la antigua Grecia se usaba la regla y compás. Bajo este esquema, únicamente se permiten hacer cómputos usando construcciones geométricas con regla y compás. Por ejemplo, es posible crear reglas explícitas (algoritmos) para biseccionar un segmento de recta, biseccionar un ángulo, construir segmentos de recta cuya proporción sea una raíz cuadrada determinada, y muchas otras cosas. Sin embargo, bajo este modelo de cómputo es imposible cuadrar un círculo o triseccionar un ángulo, pues para ello se necesita un transportador. Para hacer cómputos aritméticos existen varios modelos como por ejemplo las calculadoras de bolsillo, reglas de cálculo, ábacos e inclusive lápiz y papel entre otros. Cada modelo de cómputo nos brinda nuevas maneras de resolver un mismo problema.

Una vez que se elige un modelo de cómputo y que se crea un algoritmo, es necesario demostrar matemáticamente que dicho algoritmo es correcto, es decir, que nuestro algoritmo es capaz de resolver el problema de manera correcta. Además, es común disponer de varios algoritmos para un mismo problema bajo un mismo modelo de cómputo. Siempre es deseable elegir el algoritmo más eficiente, es decir, el que requiera la menor cantidad de recursos. Usualmente es preferible optar por aquel algoritmo que requiera efectuar la menor cantidad de operaciones.

La computación es el arte y ciencia de efectuar cómputos. Se trata de una ciencia con un sinfín de aplicaciones en la vida real. Pero definitivamente no enseña a instalar antivirus.