HISTORIA
Los primeros lenguajes de programación surgieron de la idea de Charles Babbage, la cual se le ocurrió a este hombre a mediados del siglo XIX. A principios de ese siglo predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboró Ada Lovelace la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta máquina de Babbage, en tarjetas perforadas. Como nunca llegó a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles y la Condesa.Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados. En 1823 el gobierno Británico lo apoyó para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas, pero en vez de eso se dedicó al proyecto de la máquina analítica, abandonando así la máquina de diferencias. No fue hasta la creación de Joseph Marie Jacquard (francés), este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babbage intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babbage no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron los primeros computadores. Cuando surgió el primer ordenador, el famoso ENIAC (Electronic Numerical Integrator And Calculator), su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la máquina, exactamente lo que sé hacia era cambiar cables de sitio para conseguir así la programación de la máquina. La entrada y salida de datos se realizaba mediante tarjetas perforadas.
CLASIFICACIÓN
Lenguaje de máquina: Es el único
que entiende directamente la computadora, ya que está escrito en lenguajes
directamente inteligibles por la máquina, utiliza el alfabeto binario, que
consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa
de dígitos binarios). Sus instrucciones son cadenas binarias (cadenas o series
de caracteres de dígitos 0 y 1) que especifican una operación y, las posiciones
(dirección) de memoria implicadas en la operación, se denominan instrucciones
de máquina o código máquina. Fue el primer lenguaje utilizado en la
programación de computadoras, pero dejo de utilizarse por su dificultad y
complicación, siendo sustituido por otros lenguajes más fáciles de aprender y
utilizar, además de reducir la posibilidad de cometer errores. El lenguaje de
máquina es el conocido código binario. Generalmente, en la codificación de los
programas se empleaba el sistema hexadecimal para simplificar el trabajo de
escritura. Todas las instrucciones preparadas en cualquier lenguaje máquina
tienen por lo menos dos partes. La primera es el comando u operación, que dice
a las computadoras cual es la función que va a realizar. Todas las computadoras
tienen un código de operación para cada una de las funciones. La segunda parte
de la instrucción es el operando, que indica a la computadora donde hallar o
almacenar los datos y otras instrucciones que se van a manipular, el número de
operandos de una instrucción varia en distintas computadoras.
Lenguaje de bajo nivel: Son más fáciles de utilizar que los lenguajes de máquina, pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje ensamblador es el primer intento de sustituir el lenguaje maquina por otro más similar a los utilizados por las personas. Este intenta desflexibilizar la representación de los diferentes campos. Esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al lenguaje.
A principios de la década de los 50 y con el fin de facilitar la labor de los programadores, se desarrollaron códigos mnemotécnicos para las operaciones y direcciones simbólicas. Los códigos mnemotécnicas son los símbolos alfabéticos del lenguaje máquina. La computadora sigue utilizando el lenguaje máquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en el lenguaje máquina.
En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican donde quieren que se coloque la primera localidad del programa y el programa ensamblador se encarga de lo demás, asigna localidades tanto para las instrucciones como los datos. Estos programas de ensamble o ensambladores también permiten a la computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio código máquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Se denomina programa objeto cuando el ensamblador convierte el programa fuente en código máquina. Para los programadores es más fácil escribir instrucciones en un lenguaje ensamblador que en código de lenguaje máquina, pero es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las salidas deseadas.