Back

 

Antecedentes

Correo

E-mail

Los primeros lenguajes de programación surgieron de la idea de Charles Babagge a mediados del siglo XIX.  Consistía en lo que el denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX.

Con el colaboro Ada Lovelace, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquella supuesta maquina de Babagge, en tarjetas perforadas. Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación.

En 1936, Turing y Post introdujeron un formalismo de manipulación de símbolos (la denominada máquina de Turing) con el que se puede realizar cualquier cómputo que hasta ahora podemos imaginar.

 Esta fue una vía de comunicación entre los problemas formales de la computación y de la matemática. La unión permitió demostrar que no existe ninguna máquina de Turing que pueda reconocer si una sentencia es o no un teorema de un sistema lógico formal; pero también permitió demostrar que si un cálculo puede explicitarse sin ambigüedad en lenguaje natural, con ayuda de símbolos matemáticos, es siempre posible programar un computadora digital capaz de realizar el cálculo, siempre que la capacidad de almacenamiento de información sea la adecuada.

 Desde el punto de vista de la ingeniería, los progresos en lenguajes de programación han sido paralelos a los diseños de las nuevas computadoras. Babbage ya escribió programas para sus máquinas, pero los desarrollos importantes tuvieron lugar, igual que en las computadoras, alrededor de la segunda guerra mundial.

 Cuando surgió la primera computadora, el famoso Eniac, su programación se basaba en componentes físicos, o sea, que se programaba, cambiando directamente el Hardware de la maquina, lo que se hacia era cambiar cables de sitio para conseguir así la programación binaria.

 Los "Lenguajes Maquina" y los "Lenguajes Ensambladores" (primera y segunda generación)  son dependientes de la maquina. Cada tipo de maquina, tal como VAX de digital, tiene su propio lenguaje maquina distinto y su lenguaje ensamblador asociado. El lenguaje ensamblador es simplemente una representación simbólica del lenguaje maquina asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es necesario un conocimiento de la arquitectura mecánica subyacente para realizar una programación efectiva en cualquiera de estos niveles lenguajes.

 Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés.

A continuación se muestra la evolución de los distintos lenguajes en base a las influencias  que recibieron:

Año

 Influencias y Nueva Tecnología

1951-55

 Hardware: Computadoras de tubos de vacío; memorias de línea aplazada de mercurio.

 Métodos: Lenguajes ensamblador; conceptos base: subprogramas, estructuras de datos.

 Lenguajes: Uso experimental de compiladores de expresión.

1956-60

 Hardware: Almacenamiento en cinta magnética; memorias de núcleo; circuitos de transistores.

 Métodos: Tecnología de compiladores inicial; gramáticas BNF; optimización de código; intérpretes; métodos de almacenamiento dinámicos y procesamiento de listas.

 Lenguajes: FORTRAN, ALGOL 58, ALGOL 60, COBOL, LISP.

1961-65

 Hardware: Familias de arquitecturas compatibles, almacenamiento en discos magnéticos

 Métodos: Sistemas operativos de multiprogramación, compiladores de sintaxis-dirigida.

 Lenguajes: COBOL-61, ALGOL 60 (revisada), SNOBOL, JOVIAL, notación APL

Año

 Influencias y Nueva Tecnología

1966-70

 Hardware: Aumento de tamaño y velocidad y reducción de los costes; mini computadoras, microprogramación; circuitos integrados.

 Métodos:  Sistemas interactivos y tiempos-compartidos; compiladores optimizados; sistemas de escritura traductores.

 Lenguajes: APL, FORTRAN 66, COBOL 65, ALGOL 68, SNOBOL 4, BASIC, PL/I, SIMULA 67, ALGOL-W

1971-75

 Hardware: Microcomputadores; Edad de mini computadoras; sistemas de almacenamiento pequeños; declive de las memorias de núcleo y crecimiento de memorias de semiconductores

 Métodos:  Verificación de programas; programación estructurada; inicio del crecimiento de ingeniería de software como disciplina de estudio

 Lenguajes: Pascal, COBOL 74, PL/I (standar), C, Scheme, Prolog

1976-80

 Hardware: Microcomputadores de calidad comercial, sistemas de gran almacenamiento; computación distribuida.

 Métodos: Abstracción de datos; semánticas formales; técnicas de programación en tiempo real, concurrencia y fijos.

 Lenguajes: Smalltalk, Ada, FORTRAN 77, ML.

Año

 Influencias y Nueva Tecnología

1981-85

 Hardware: Computadores personales; primeras estaciones de trabajo; juegos de vídeo; redes de área local; Arpanet.

 Métodos: Programación orientada a objetos; entornos interactivos; editores de sintaxis dirigida.

 Lenguajes: Turbo Pascal, Smalltalk-80, crecimiento de Prolog, Ada 83, Postscript.

1986-90

 Hardware: Edad de microcomputadores; crecimiento de estaciones de trabajo de ingenierías; arquitectura RISC; redes globales; Internet.

 Métodos: computación cliente/servidor.

 Lenguajes: FORTRAN 90, C++, SML (ML Standar).

1991-95

 Hardware: Estaciones de trabajo y microcomputadores mucho más económicos;  arquitectura paralelas  masivas; voz, vídeo, fax, multimedia.

 Métodos: Sistemas abiertos; entorno de ventanas; Infraestructura de Información Nacional ("autopistas de la información").

 Lenguajes: Ada 95, lenguajes de procesos (TCL, PERL).

La evolución de los lenguajes de programación ha estado guiada por la evolución de:

*      Las computadoras y sus sistemas operativos.

*      Las aplicaciones.

*      Los métodos de programación.

*      Los fundamento teóricos.

*      La importancia dada a la estandarización.

Los lenguajes de programación han evolucionado a través de generaciones. En cada nueva generación, van necesitándose menos instrucciones para indicarle a la computadora que tarea efectuar. Es decir, un programa escrito en un lenguaje de primera generación (maquina y/o ensamblador) puede requerir mas de 100 instrucciones; ese mismo programa requerirá menos de 25 instrucciones en un lenguaje de tercera generación (Alto nivel).

 

© 2002, Aletse Producciones, S.L. Reservados todos los derechos