SlideShare une entreprise Scribd logo
1  sur  7
LOS LENGUAJES DE PROGRAMACIÓN
HENRY RAFAEL SALAZAR VEGA
V- 20.473.603
Es comúnmente aceptado que la historia de la computación moderna comienza con
Charles Babbage, en 1822, sin embargo las primeras computadoras mecánicas y
eléctricas no contaban con un lenguaje de programación tal como lo conocemos
ahora, la mayoría de ellas era construida para llevar a cabo una tarea especifica; por
lo tanto la forma de programarla era particular a cada computadora. Fue en el año
de 1945 cuando el matemático Jhon Von Neumann[1] fascinado por las posibilidades
de ENIAC[2], elaboró un estudio que demostró que una computadora podía tener
una estructura física muy simple y fija, y aun así ser capaz de ejecutar cualquier tipo
de programa mediante un control correcto, sin la necesidad de modificar la
computadora para esto.
A partir de esta innovación de Von Neunmann, que en conjunto se conoce como la
técnica de programa almacenado es que se inicia la era de los lenguajes de
programación.
Antes de que un computador pudiera ejecutar una tarea, debía programársele para
que lo hiciera colocando en la memoria principal un algoritmo apropiado, expresado
en lenguaje máquina, que no es más que una secuencia de números mediante los
que se representan las operaciones a realizar y los operandos con los que operar.
Originariamente, este proceso de programación se realizaba por el laborioso método
de expresar todos los algoritmos en el lenguaje de máquina, enfoque que hacía más
penosa la ya de por sí difícil tarea de diseñar un programa, y en la mayoría de los
casos daba pie a errores que era necesario localizar y corregir.
El primer paso para eliminar estas complejidades del proceso de programación fue
la asignación de nombres mnemónicos a los diversos códigos de operación, y
usarlos en vez de la representación hexadecimal, aumentando considerablemente la
comprensibilidad de las secuencias de instrucciones de la máquina. Luego un
programa especial llamado ensamblador se encargaba la traducción de los códigos
mnemónicos a instrucciones en lenguaje máquina. Las instrucciones en lenguaje
maquina, se expresaban en términos de la unidad de memoria mas pequeña, el bit
(digito binario 0 o 1 ).
(1951-1958)
En la época en que aparecieron los primeros lenguajes ensambladores, parecía que se había
dado un gigantesco salto hacia adelante en la búsqueda de mejores entornos de programación, y
es por ello que se les comenzó a llamar lenguajes de segunda generación, siendo la primera
generación la compuesta por los lenguajes máquina. Estamos en los primeros años 50 y
ejemplos de estos lenguajes podrían ser AUTOCODER, SPS, BAL o EASYCODER.
Una consecuencia importante de la íntima asociación entre los lenguajes ensamblador y de
máquina es que cualquier programa escrito en lenguaje ensamblador depende inherentemente
de la máquina; esto es, las instrucciones del programa se expresan en términos de los atributos
de una máquina específica. Por tanto, un programa escrito en lenguaje ensamblador no se puede
transportar fácilmente a otra máquina porque se tiene que reescribir de modo que se ajuste a la
configuración de registros y al conjunto de instrucciones de la nueva máquina.
Otra desventaja de los lenguajes ensambladores es que el programador, aunque no tiene que
codificar las instrucciones en forma de patrones de bits, sí está obligado a pensar en términos de
los pequeños pasos incrementales del lenguaje de la máquina, y no puede concentrarse en la
solución global de la tarea que está realizando. En pocas palabras, las instrucciones elementales
en que se debe expresar finalmente un programa no son necesariamente las instrucciones que
deben usarse al diseñarlo.
(1958-1964)
De acuerdo con esta idea, a mediados de los 50 se comenzaron a crear lenguajes de
programación que eran más propicios para la elaboración de software que los lenguajes
ensamblador de bajo nivel. El resultado fue la aparición de una tercera generación de lenguajes
de programación que difería de las anteriores en que sus instrucciones eran de alto nivel y
además independientes de las máquinas. Una vez escrito el programa con instrucciones de alto
nivel, se utilizaba un programa llamado traductor que traducía a lenguaje máquina los programas
escritos en lenguajes de alto nivel. Estos programas son parecidos a los ensambladores de la
segunda generación, solo que a menudo tienen que compilar, reunir varias instrucciones de
máquina para formar secuencias cortas que simularan la actividad solicitada por la instrucción de
alto nivel, y por esta razón se comenzó a llamar compiladores a este tipo de programa.
Unos de los primeros lenguajes de la tercera generación son FORTRAN y COBOL, por lo que
algunas clasificaciones les colocan en la segunda generación. También está ALGOL60. Después
de estos aparecen otros como BASIC (1965), SNOBOL, APL, PL/1 y SIMULA, entre otros. En los
70 aparecen lenguajes de alto nivel como PASCAL, C, MODULA y PROLOG. Más recientes son
Eiffel, Smalltalk, ADA, ML, C++ y Java.
Con la aparición de los lenguajes de tercera generación se alcanzó, en gran medida la meta de la
independencia respecto a las máquinas. Como las instrucciones de estos lenguajes no hacían
referencia a los atributos de ninguna máquina en particular, se podían compilar con la misma
facilidad en una u otras máquinas. Así, en teoría, un programa escrito en un lenguaje de tercera
generación se podía utilizar en cualquier máquina con sólo aplicar el compilador apropiado. Sin
embargo, la realidad no ha resultado ser tan simple.
(1964-1971)
Los lenguajes de cuarta generación pretenden superar los problemas surgidos de los lenguajes
de tercera generación:
Acelerar el proceso de construcción de aplicaciones.
Hacer aplicaciones fáciles y rápidas de modificar, reduciendo por tanto los costes de
mantenimiento.
Minimizar los problemas de búsqueda y corrección de errores.
Generar código ejecutable sin errores a partir de los requerimientos deseados, dados con
expresiones de alto nivel.
Hacer lenguajes fáciles de usar, de manera que el usuario final pueda resolver sus propios
problemas usando él mismo el lenguaje de programación.
Estos lenguajes permiten generar aplicaciones de cierta complejidad con un número de líneas
menor que el que tendríamos si usáramos un lenguaje de tercera generación. Para construir
aplicaciones el programador contará, aparte de un conjunto de instrucciones secuenciales, con
una gran diversidad de mecanismos como son: el rellenado de formularios, la interacción con la
pantalla, etc. Un ejemplo de este tipo de lenguajes es SQL.
(1971-1988)
La quinta generación de lenguajes se ha relacionado con los lenguajes que se utilizan en el
campo de la inteligencia artificial: sistemas basados en el conocimiento, sistemas expertos,
mecanismos de inferencia o procesamiento del lenguaje natural. Lenguajes como LISP o
PROLOG han sido la base de este tipo de lenguajes.
(1983 al presente)

Contenu connexe

Tendances

GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
Sarai Rodriguez
 
Trabajo de informatica 2
Trabajo de informatica 2Trabajo de informatica 2
Trabajo de informatica 2
989796
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
AlexandraMolinaSanchez
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
Elias Herrera
 
Lenguajes de alto_nivel
Lenguajes de alto_nivelLenguajes de alto_nivel
Lenguajes de alto_nivel
ANALI GOMEZ
 

Tendances (19)

Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Ensayo de marianny
Ensayo de mariannyEnsayo de marianny
Ensayo de marianny
 
Programación web introducción
Programación web introducciónProgramación web introducción
Programación web introducción
 
Evolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programaciónEvolución y clasificación de los lenguajes de programación
Evolución y clasificación de los lenguajes de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgar
 
Trabajo de informatica 2
Trabajo de informatica 2Trabajo de informatica 2
Trabajo de informatica 2
 
La programación
La programaciónLa programación
La programación
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Proyecto fernando compiladores 1
Proyecto fernando compiladores 1Proyecto fernando compiladores 1
Proyecto fernando compiladores 1
 
Tema referente a ing. sistemas
Tema referente a ing. sistemasTema referente a ing. sistemas
Tema referente a ing. sistemas
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Historia de los Lenguajes de Programación
Historia de los Lenguajes de ProgramaciónHistoria de los Lenguajes de Programación
Historia de los Lenguajes de Programación
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Lenguajes de alto_nivel
Lenguajes de alto_nivelLenguajes de alto_nivel
Lenguajes de alto_nivel
 
Informática
InformáticaInformática
Informática
 

En vedette

Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...
Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...
Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...
Michael Riehemann
 
Binder1
Binder1Binder1
Binder1
Faye
 
Opinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vf
Opinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vfOpinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vf
Opinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vf
contactOpinionWay
 

En vedette (16)

Equipe magazine_Sport_Cisjordanie
Equipe magazine_Sport_CisjordanieEquipe magazine_Sport_Cisjordanie
Equipe magazine_Sport_Cisjordanie
 
Media cm1
Media cm1Media cm1
Media cm1
 
Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...
Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...
Entwicklung eines Webportals zur Anbindung von digitalen Bibliotheken (Vorste...
 
Clase virtual 1
Clase virtual 1Clase virtual 1
Clase virtual 1
 
Alpine Sports
Alpine SportsAlpine Sports
Alpine Sports
 
Primend Pilveseminar - Cloud Disaster Recovery
Primend Pilveseminar - Cloud Disaster RecoveryPrimend Pilveseminar - Cloud Disaster Recovery
Primend Pilveseminar - Cloud Disaster Recovery
 
Gunah Dhonay-Wala-Sabun
Gunah Dhonay-Wala-SabunGunah Dhonay-Wala-Sabun
Gunah Dhonay-Wala-Sabun
 
Resume_hst_acct
Resume_hst_acctResume_hst_acct
Resume_hst_acct
 
Bedah rumah
Bedah rumahBedah rumah
Bedah rumah
 
Poster 10 gestos srd tcm5-60694
Poster 10  gestos srd tcm5-60694Poster 10  gestos srd tcm5-60694
Poster 10 gestos srd tcm5-60694
 
Primend Pilvekonverents - Igapäevane ärianalüütika ehk nutikus igas päevas
Primend Pilvekonverents - Igapäevane ärianalüütika ehk nutikus igas päevasPrimend Pilvekonverents - Igapäevane ärianalüütika ehk nutikus igas päevas
Primend Pilvekonverents - Igapäevane ärianalüütika ehk nutikus igas päevas
 
Primend Pilveseminar - Office 365 Updates & Skype For Business
Primend Pilveseminar - Office 365 Updates & Skype For BusinessPrimend Pilveseminar - Office 365 Updates & Skype For Business
Primend Pilveseminar - Office 365 Updates & Skype For Business
 
Best practices-in-lifecycle-management-white-paper-15663
Best practices-in-lifecycle-management-white-paper-15663Best practices-in-lifecycle-management-white-paper-15663
Best practices-in-lifecycle-management-white-paper-15663
 
Binder1
Binder1Binder1
Binder1
 
Opinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vf
Opinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vfOpinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vf
Opinion way Fiducial_pour_Radio_Classique_les_Echos vague 3 - février 2012_vf
 
Faktor 3 Vortrag Markenbildung
Faktor 3 Vortrag MarkenbildungFaktor 3 Vortrag Markenbildung
Faktor 3 Vortrag Markenbildung
 

Similaire à Los Lenguajes De Programacion

C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
paulina8
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
Danielita Lopez
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
DLACGP
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
DLACGP
 
Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205
Jonatan Rivera
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
NancyandRegina317
 
Tipos de lenguajes de programación
Tipos de lenguajes de programaciónTipos de lenguajes de programación
Tipos de lenguajes de programación
Jose Capetillo
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
jonathangrief
 
HISTORIA DE LOS LENGUAJES DE PROGRAMACION
HISTORIA DE LOS LENGUAJES DE PROGRAMACIONHISTORIA DE LOS LENGUAJES DE PROGRAMACION
HISTORIA DE LOS LENGUAJES DE PROGRAMACION
JANIIER
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De Compilador
Joel Soto
 

Similaire à Los Lenguajes De Programacion (20)

C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\el software libre
C:\fakepath\el software libreC:\fakepath\el software libre
C:\fakepath\el software libre
 
H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
Unidad 1.1 ensayo
Unidad 1.1 ensayoUnidad 1.1 ensayo
Unidad 1.1 ensayo
 
Lenguajes de programacion jonathan suarez
Lenguajes de programacion jonathan suarezLenguajes de programacion jonathan suarez
Lenguajes de programacion jonathan suarez
 
Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
Informática
InformáticaInformática
Informática
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Tipos de lenguajes de programación
Tipos de lenguajes de programaciónTipos de lenguajes de programación
Tipos de lenguajes de programación
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
HISTORIA DE LOS LENGUAJES DE PROGRAMACION
HISTORIA DE LOS LENGUAJES DE PROGRAMACIONHISTORIA DE LOS LENGUAJES DE PROGRAMACION
HISTORIA DE LOS LENGUAJES DE PROGRAMACION
 
Conceptos De Compilador
Conceptos De CompiladorConceptos De Compilador
Conceptos De Compilador
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (12)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Los Lenguajes De Programacion

  • 1. LOS LENGUAJES DE PROGRAMACIÓN HENRY RAFAEL SALAZAR VEGA V- 20.473.603
  • 2. Es comúnmente aceptado que la historia de la computación moderna comienza con Charles Babbage, en 1822, sin embargo las primeras computadoras mecánicas y eléctricas no contaban con un lenguaje de programación tal como lo conocemos ahora, la mayoría de ellas era construida para llevar a cabo una tarea especifica; por lo tanto la forma de programarla era particular a cada computadora. Fue en el año de 1945 cuando el matemático Jhon Von Neumann[1] fascinado por las posibilidades de ENIAC[2], elaboró un estudio que demostró que una computadora podía tener una estructura física muy simple y fija, y aun así ser capaz de ejecutar cualquier tipo de programa mediante un control correcto, sin la necesidad de modificar la computadora para esto. A partir de esta innovación de Von Neunmann, que en conjunto se conoce como la técnica de programa almacenado es que se inicia la era de los lenguajes de programación.
  • 3. Antes de que un computador pudiera ejecutar una tarea, debía programársele para que lo hiciera colocando en la memoria principal un algoritmo apropiado, expresado en lenguaje máquina, que no es más que una secuencia de números mediante los que se representan las operaciones a realizar y los operandos con los que operar. Originariamente, este proceso de programación se realizaba por el laborioso método de expresar todos los algoritmos en el lenguaje de máquina, enfoque que hacía más penosa la ya de por sí difícil tarea de diseñar un programa, y en la mayoría de los casos daba pie a errores que era necesario localizar y corregir. El primer paso para eliminar estas complejidades del proceso de programación fue la asignación de nombres mnemónicos a los diversos códigos de operación, y usarlos en vez de la representación hexadecimal, aumentando considerablemente la comprensibilidad de las secuencias de instrucciones de la máquina. Luego un programa especial llamado ensamblador se encargaba la traducción de los códigos mnemónicos a instrucciones en lenguaje máquina. Las instrucciones en lenguaje maquina, se expresaban en términos de la unidad de memoria mas pequeña, el bit (digito binario 0 o 1 ). (1951-1958)
  • 4. En la época en que aparecieron los primeros lenguajes ensambladores, parecía que se había dado un gigantesco salto hacia adelante en la búsqueda de mejores entornos de programación, y es por ello que se les comenzó a llamar lenguajes de segunda generación, siendo la primera generación la compuesta por los lenguajes máquina. Estamos en los primeros años 50 y ejemplos de estos lenguajes podrían ser AUTOCODER, SPS, BAL o EASYCODER. Una consecuencia importante de la íntima asociación entre los lenguajes ensamblador y de máquina es que cualquier programa escrito en lenguaje ensamblador depende inherentemente de la máquina; esto es, las instrucciones del programa se expresan en términos de los atributos de una máquina específica. Por tanto, un programa escrito en lenguaje ensamblador no se puede transportar fácilmente a otra máquina porque se tiene que reescribir de modo que se ajuste a la configuración de registros y al conjunto de instrucciones de la nueva máquina. Otra desventaja de los lenguajes ensambladores es que el programador, aunque no tiene que codificar las instrucciones en forma de patrones de bits, sí está obligado a pensar en términos de los pequeños pasos incrementales del lenguaje de la máquina, y no puede concentrarse en la solución global de la tarea que está realizando. En pocas palabras, las instrucciones elementales en que se debe expresar finalmente un programa no son necesariamente las instrucciones que deben usarse al diseñarlo. (1958-1964)
  • 5. De acuerdo con esta idea, a mediados de los 50 se comenzaron a crear lenguajes de programación que eran más propicios para la elaboración de software que los lenguajes ensamblador de bajo nivel. El resultado fue la aparición de una tercera generación de lenguajes de programación que difería de las anteriores en que sus instrucciones eran de alto nivel y además independientes de las máquinas. Una vez escrito el programa con instrucciones de alto nivel, se utilizaba un programa llamado traductor que traducía a lenguaje máquina los programas escritos en lenguajes de alto nivel. Estos programas son parecidos a los ensambladores de la segunda generación, solo que a menudo tienen que compilar, reunir varias instrucciones de máquina para formar secuencias cortas que simularan la actividad solicitada por la instrucción de alto nivel, y por esta razón se comenzó a llamar compiladores a este tipo de programa. Unos de los primeros lenguajes de la tercera generación son FORTRAN y COBOL, por lo que algunas clasificaciones les colocan en la segunda generación. También está ALGOL60. Después de estos aparecen otros como BASIC (1965), SNOBOL, APL, PL/1 y SIMULA, entre otros. En los 70 aparecen lenguajes de alto nivel como PASCAL, C, MODULA y PROLOG. Más recientes son Eiffel, Smalltalk, ADA, ML, C++ y Java. Con la aparición de los lenguajes de tercera generación se alcanzó, en gran medida la meta de la independencia respecto a las máquinas. Como las instrucciones de estos lenguajes no hacían referencia a los atributos de ninguna máquina en particular, se podían compilar con la misma facilidad en una u otras máquinas. Así, en teoría, un programa escrito en un lenguaje de tercera generación se podía utilizar en cualquier máquina con sólo aplicar el compilador apropiado. Sin embargo, la realidad no ha resultado ser tan simple. (1964-1971)
  • 6. Los lenguajes de cuarta generación pretenden superar los problemas surgidos de los lenguajes de tercera generación: Acelerar el proceso de construcción de aplicaciones. Hacer aplicaciones fáciles y rápidas de modificar, reduciendo por tanto los costes de mantenimiento. Minimizar los problemas de búsqueda y corrección de errores. Generar código ejecutable sin errores a partir de los requerimientos deseados, dados con expresiones de alto nivel. Hacer lenguajes fáciles de usar, de manera que el usuario final pueda resolver sus propios problemas usando él mismo el lenguaje de programación. Estos lenguajes permiten generar aplicaciones de cierta complejidad con un número de líneas menor que el que tendríamos si usáramos un lenguaje de tercera generación. Para construir aplicaciones el programador contará, aparte de un conjunto de instrucciones secuenciales, con una gran diversidad de mecanismos como son: el rellenado de formularios, la interacción con la pantalla, etc. Un ejemplo de este tipo de lenguajes es SQL. (1971-1988)
  • 7. La quinta generación de lenguajes se ha relacionado con los lenguajes que se utilizan en el campo de la inteligencia artificial: sistemas basados en el conocimiento, sistemas expertos, mecanismos de inferencia o procesamiento del lenguaje natural. Lenguajes como LISP o PROLOG han sido la base de este tipo de lenguajes. (1983 al presente)