1 Introducción a la Programación
1.1 Qué es la programación
Las computadoras son una parte esencial de nuestra vida cotidiana. Casi
todos los aparatos que usamos tienen algún tipo de computadora capaz
de ejecutar ciertas tareas: lavarropas con distintos modos de lavado,
consolas de juegos para momentos de entretenimiento, calculadoras
súper potentes, computadoras personales que se usan para un montón
de propósitos, teléfonos celulares con un sinfín de aplicaciones y miles de
cosas más.
Todos estos dispositivos con computadoras de distinto tipo tienen algo
en común: alguien “les dice” cómo funcionar, es decir, les indica cuáles
son los pasos que deben seguir para cumplir una tarea. De eso se trata
la programación: es la actividad mediante la cual las personas le entregan
a una computadora un conjunto de instrucciones para que, al ejecutarlas,
ésta pueda resolver un problema. Quienes realizan esta actividad reciben
el nombre de programadores. Sin las personas que las programen, las
computadoras dejan de ser útiles, por más complejos que sean estos
aparatos. Los conjuntos de instrucciones que reciben las computadoras
reciben el nombre de programas.
La programación es un proceso creativo: en muchas ocasiones la tarea en
cuestión puede cumplirse siguiendo distintos caminos y el programador
es el que debe imaginar cuáles son y elegir uno. Algunos de estos
caminos pueden ser mejores que otros, pero en cualquier caso la
computadora se limitará a seguir las instrucciones ideadas por el
programador.
Desafortunadamente, las computadoras no entienden español ni otro
idioma humano. Hay que pasarles las instrucciones en un lenguaje que
sean capaces de entender. Para eso debemos aprender algún lenguaje de
programación, que no es más que un lenguaje artificial compuesto por
una serie de expresiones que la computadora puede interpretar. Las
computadoras interpretan nuestras instrucciones de forma muy literal, por
lo tanto a la hora de programar hay que ser muy específicos. Es necesario
respetar las reglas del lenguaje de programación y ser claros en las
indicaciones provistas.
Ahora bien, ¿por qué debemos estudiar programación en la Licenciatura
en Estadística? La actividad de los profesionales estadísticos está
atravesada en su totalidad por la necesidad de manejar con soltura
herramientas informáticas que nos asisten en las distintas etapas de
nuestra labor, desde la recolección y depuración de conjuntos de datos,
pasando por la aplicación de distintas metodologías de análisis, hasta la
comunicación efectiva de los resultados. Por eso, en la
asignatura Introducción a la Programación estudiaremos los conceptos
básicos de esta disciplina, fomentando la ejercitación del pensamiento
abstracto y lógico necesario para poder entendernos hábilmente con la
computadora y lograr que la misma realice las tareas que necesitamos.
Para poner en práctica los conceptos sobre Programación que
aprenderemos, vamos a emplear un lenguaje que ha sido desarrollado
específicamente para realizar tareas estadísticas, llamado R. Sin embargo,
debemos resaltar que éste no es un curso sobre R, es decir, no nos
dedicaremos a aprender las herramientas que este lenguaje brinda para el
análisis de datos. De hecho, frente a variados problemas vamos a
dedicarnos a crear soluciones que ya existen y están disponibles en R,
pero lo haremos con el fin de utilizar dicho lenguaje para aprender y
ejercitar nociones básicas de programación.
1.2 Una breve reseña histórica sobre la programación
La historia de la programación está vinculada directamente con la de la
computación. Esta palabra proviene del latín computatio, que deriva del
verbo computare, cuyo significado es “enumerar cantidades”.
Computación, en este sentido, designa la acción y efecto de computar,
realizar una cuenta, un cálculo matemático. De allí que antiguamente
computación fuese un término usado para referirse a los cálculos
realizados por una persona con un instrumento expresamente utilizado
para tal fin (como el ábaco, por ejemplo) o sin él. En este sentido, la
computación ha estado presente desde tiempos ancestrales, sin embargo
debemos remontarnos al siglo XVII para encontrar los primeros
dispositivos diseñados para automatizar cómputos matemáticos.
En 1617 el matemático escocés John Napier (el mismo que definió los
logaritmos) inventó un sistema conocido como los huesos de
Napier o huesos neperianos que facilitaba la tarea de multiplicar, dividir y
tomar raíces cuadradas, usando unas barras de hueso o marfil que tenían
dígitos grabados. Esta fue la base para otras ideas más avanzadas, entre
ellas la que dio origen a la primera calculadora mecánica, inventada por el
alemán Wilhelm Schickard en 1623, capaz de realizar cómputos
aritméticos sencillos funcionando a base de ruedas y engranajes. Se
componía de dos mecanismos diferenciados, un ábaco de Napier de
forma cilíndrica en la parte superior y un mecanismo en la inferior para
realizar sumas parciales de los resultados obtenidos con el aparato de la
parte superior. Fue llamado reloj calculador. A partir de aquí se fueron
desarrollando otros modelos, todos ellos teniendo en común el hecho de
ser puramente mecánicos, sin motores ni otras fuentes de energía. El
operador ingresaba números ubicando ruedas de metal en posiciones
particulares y al girarlas otras partes de la máquina se movían y
mostraban el resultado. Algunos ejemplos son las calculadoras del inglés
William Oughtred en 1624, de Blaise Pascal en 1645 (llamada pascalina), la
de Samuel Morland en 1666 y las de Leibniz, en 1673 y 1694.
Figura 1.1: De izquierda a derecha: los huesos de Napier (Museo
Arqueológico Nacional de España), el reloj calculador de Schickard
(Museo de la Ciencia de la Universidad Pública de Navarra) y una
pascalina del año 1952