Historia de la Programación


La historia de la programación y algunos datos importantes.





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.

Lo siguiente 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                               XVII

Lady Ada Countess                           Almacenamiento en tarjetas perforadas                       XVII

Herman Hollerit                                Creador de un sistema para automatizar                      1890
                                                           la pesada tarea del censo 

Alan Mathison Turing                       Máquina de Turing - una máquina capaz                      1943
                                                           de resolver problemas - Aportes de Lógica 
                                                           Matemática - Computadora con tubos de vacío 

George Boole                                     Contribuyó al algebra binaria y a los sistemas            1854
                                                           de circuitos de computadora (álgebra booleana). 

John Vincent Atanasoff                   Primera computadora digital electrónica                     1942
                                                          patentada Atanasoff Berry Computer (ABC) 

Howard Aiken                                  En colaboración con IBM desarrolló el Mark 1,             1944
                                                           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. 

John W. Mauchly                               Junto a John Presper Eckert desarrolló una                 1946
                                                           computadora electrónica completamente 
                                                           operacional a gran escala llamada Electronic 
                                                           Numerical Integrator And Computer (ENIAC). 

Ludwig Von Neumann                       Propuso guardar en memoria no solo la                      1945
                                                           información, sino también los programas, 
                                                           acelerando los procesos. 


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.

Algoritmos vs Programas

La Programación requiere escribir instrucciones para realizar una serie de acciones que se irán ejecutando una a una hasta obtener una solución; sin embargo, antes de ello es necesario aprender a realizar algoritmos.

Un algoritmo es una secuencia de pasos ordenada, finita y general para alcanzar un objetivo previamente establecido.

Los algoritmos se encuentran en casi todas las actividades del diario vivir; así, existen algoritmos que guían el proceso a seguir para: Matricular el vehículo, Cargar saldo en un teléfono celular, Matricularse en un curso, Preparar una comida y/o bebida específica, entre otras.

Algoritmo General
Esto significa que en realidad todas las actividades que se realiza, son algoritmos, pues señalan los pasos ordenados que deben seguirse para lograr cumplir con una tarea específica. Los algoritmos utilizan el lenguaje natural, es decir frases en el propio idioma, pero muy claras, para que cualquier persona que las lea pueda comprenderlas y ejecutarlas.

Se dice que es ordenado, porque la alteración de los pasos, puede llevar a no cumplir el objetivo.
Finito, porque debe tener un inicio y un fin.
General, porque cada vez que sea ejecutado el algoritmo, siempre debe llegarse al mismo resultado. Por ejemplo, si el algoritmo suma dos números, sin importar los valores de los números, al finalizar las instrucciones, siempre debe obtenerse la suma de ellos.

Un programa, es la implementación de un algoritmo, por lo que está escrito en un lenguaje de programación y constituye un conjunto de instrucciones.


Un programa tiene las mismas propiedades del algoritmo: Ordenado, Finito y General.

Comentarios

Entradas populares de este blog

Introducción a la Programación Básica en C Sharp

Conceptos Básicos del Lenguaje C Sharp