Un lenguaje de programación de tercera generación ( 3GL ) es un lenguaje de programación informática de alto nivel que tiende a ser más independiente de la máquina y más amigable para el programador que el código de máquina de la primera generación y los lenguajes ensambladores de la segunda generación , mientras que tiene un enfoque menos específico en la cuarta y quinta generaciones. [1] Ejemplos de lenguajes de programación de tercera generación comunes e históricos son ALGOL , BASIC , C , COBOL , Fortran , Java y Pascal .
Los lenguajes de tercera generación son mucho más independientes de la máquina y más amigables para el programador. Esto incluye características como un mejor soporte para tipos de datos agregados y la expresión de conceptos de una manera que favorece al programador, no a la computadora. Un lenguaje de tercera generación mejora con respecto a un lenguaje de segunda generación al hacer que la computadora se encargue de los detalles no esenciales. Los lenguajes de tercera generación son más abstractos que las generaciones anteriores de lenguajes y, por lo tanto, pueden considerarse lenguajes de nivel superior a sus contrapartes de primera y segunda generación. Introducidos por primera vez a fines de la década de 1950, Fortran , ALGOL y COBOL son ejemplos de los primeros lenguajes de tercera generación.
La mayoría de los lenguajes de propósito general más populares en la actualidad, como C , C++ , C# , Java , BASIC y Pascal , también son lenguajes de tercera generación, aunque cada uno de estos lenguajes se puede subdividir en otras categorías basadas en otras características contemporáneas. La mayoría de los lenguajes de tercera generación admiten programación estructurada . Muchos admiten programación orientada a objetos . Características como estas se utilizan con más frecuencia para describir un lenguaje en lugar de ser simplemente un lenguaje de tercera generación.
Un lenguaje de programación 3GL permite a un programador escribir programas que son más o menos independientes de un tipo particular de computadora. Estos lenguajes se consideran de alto nivel porque están más cerca de los lenguajes humanos y más lejos de los lenguajes de máquina, y por lo tanto requieren compilación o interpretación. Por el contrario, los lenguajes de máquina se consideran de bajo nivel porque están diseñados para hardware físico y son ejecutados por este sin necesidad de traducción adicional.
La principal ventaja de los lenguajes de alto nivel sobre los de bajo nivel es que son más fáciles de leer, escribir y mantener. En definitiva, los programas escritos en un lenguaje de alto nivel deben ser traducidos a lenguaje de máquina por un compilador o directamente a comportamiento por un intérprete.
Estos programas podían ejecutarse en diferentes máquinas (son portables), por lo que eran independientes de la máquina. Sin embargo, a medida que se han desarrollado lenguajes nuevos y más abstractos, el concepto de lenguajes de alto y bajo nivel se ha vuelto bastante relativo. Muchos de los primeros lenguajes de "alto nivel" ahora se consideran de nivel relativamente bajo en comparación con lenguajes como Python , Ruby y Common Lisp , que tienen algunas características de los lenguajes de programación de cuarta generación y se denominaron lenguajes de programación de muy alto nivel en la década de 1990. [2] [3]