Para crear un programa, y que la computadora lo interprete y ejecute las instrucciones escritas en él, debe escribirse en un lenguaje de programación. En sus comienzos las computadoras interpretaban solo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho solo consiste en cadenas de números 1 y 0 (sistema binario). Para facilitar el trabajo de programación, los primeros científicos, que trabajaban en el área, decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o abreviaturas provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se podría usar la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que secuencias de números binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos números puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una. Una vez que se termina de escribir un programa, sea en ensamblador o en algunos lenguajes de alto nivel, es necesario compilarlo, es decir, traducirlo completo a lenguaje máquina.1 Eventualmente será necesaria otra fase denominada comúnmente link o enlace, durante la cual se anexan al código, generado durante la compilación, los recursos necesarios de alguna biblioteca. En algunos lenguajes de programación, puede no ser requerido el proceso de compilación y enlace, ya que pueden trabajar en modo intérprete. Esta modalidad de trabajo es equivalente pero se realiza instrucción por instrucción, a medida que es ejecutado el programa.
Un poco de historia
La
historia de la Programación está relacionada directamente con la
aparición de los computadores, que ya desde el siglo XV tuvo sus inicios
con la construcción de una máquina que realizaba operaciones básicas y
raíces cuadradas (Gottfried Wilheml von Leibniz); aunque en realidad la
primera gran influencia hacia la creación de los computadores fue
la máquina diferencial para el cálculo de polinomios, proyecto no
concluido de Charles Babbage (1793-1871) con el apoyo de Lady Ada
Countess of Lovelace (1815-1852), primera persona que incursionó en la
programación y de quien proviene el nombre del lenguaje de programación
ADA creado por el DoD (Departamento de defensa de Estados Unidos) en la
década de 1970.
La siguiente tabla, es un resumen de los principales hitos en la historia de la computación:
| Personaje | Aporte | Año |
| Gottfried Wilheml von Leibniz | Máquinas de operaciones básicas | XV |
| Charles Babbage | Máquina diferencial para el cálculo de polinomios | XVII |
| Lady Ada Countess of Lovelace | Almacenamiento en tarjetas perforadas | XVII |
| Herman Hollerit |
Creador de un sistema para automatizar la pesada tarea del censo
|
1890 |
| Alan Mathison Turing | Máquina de Turing - una máquina capaz de resolver problemas - Aportes de Lógica Matemática - Computadora con tubos de vacío | 1943 |
| George Boole | Contribuyó al algebra binaria y a los sistemas de circuitos de computadora (álgebra booleana). | 1854 |
| John Vincent Atanasoff | Primera computadora digital electrónica patentada - Atanasoff Berry Computer (ABC) | 1942 |
| Howard Aiken | En colaboración con IBM desarrolló el Mark 1, una computadora electromecánica de 16 metros de largo y más de dos de alto que podía realizar las cuatro operaciones básicas y trabajar con información almacenada en forma de tablas. | 1944 |
| John W. Mauchly | Junto a John Presper Eckert desarrolló una computadora electrónica completamente operacional a gran escala llamada Electronic Numerical Integrator And Computer (ENIAC). | 1946 |
| Johann Ludwig Von Neumann | Propuso guardar en memoria no solo la información, sino también los programas, acelerando los procesos. | 1945 |
Luego
los avances en las ciencias informáticas han sido muy acelerados, se
reemplazó los tubos al vacío por transistores en 1958 y en el mismo año,
se sustituyeron por circuitos integrados, y en 1961 se miniaturizaron
en chips de silicio. En 1971 apareció el primer microprocesador de
Intel; y en 1973 el primer sistema operativo CP/M. El primer
computador personal es comercializado por IBM en el año 1980.
De
acuerdo a este breve viaje por la historia, la programación está
vinculada a la aparición de los computadores, y los lenguajes tuvieron
también su evolución. Inicialmente se programaba en código binario, es
decir en cadenas de 0s y 1s, que es el lenguaje que entiende
directamente el computador, tarea extremadamente difícil; luego se creó
el lenguaje ensamblador, que aunque era lo mismo que programar en
binario, al estar en letras era más fácil de recordar. Posteriormente
aparecieron lenguajes de alto nivel, que en general, utilizan palabras
en inglés, para dar las órdenes a seguir, para lo cual utilizan un
proceso intermedio entre el lenguaje máquina y el nuevo código llamado
código fuente, este proceso puede ser un compilador o un intérprete.
Un
compilador lee todas las instrucciones y genera un resultado; un
intérprete ejecuta y genera resultados línea a línea. En cualquier caso
han aparecido nuevos lenguajes de programación, unos denominados
estructurados y en la actualidad en cambio los lenguajes orientados a
objetos y los lenguajes orientados a eventos.

No hay comentarios:
Publicar un comentario