Lenguaje de programación de alto nivel


En informática , un lenguaje de programación de alto nivel es un lenguaje de programación con una fuerte abstracción de los detalles de la computadora . A diferencia de los lenguajes de programación de bajo nivel , puede usar elementos de lenguaje natural , ser más fácil de usar o puede automatizar (o incluso ocultar por completo) áreas significativas de los sistemas informáticos (por ejemplo , administración de memoria ), lo que simplifica y simplifica el proceso de desarrollo de un programa. más comprensible que cuando se utiliza un lenguaje de nivel inferior. La cantidad de abstracción proporcionada define qué tan "alto nivel" es un lenguaje de programación. [1]

En la década de 1960, un lenguaje de programación de alto nivel que usaba un compilador se llamaba comúnmente autocódigo . [2] Ejemplos de códigos automáticos son COBOL y Fortran . [3]

El primer lenguaje de programación de alto nivel diseñado para computadoras fue Plankalkül , creado por Konrad Zuse . [4] Sin embargo, no se implementó en su tiempo, y sus contribuciones originales estuvieron en gran parte aisladas de otros desarrollos debido a la Segunda Guerra Mundial , aparte de la influencia del lenguaje en el lenguaje "Superplan" de Heinz Rutishauser y también, hasta cierto punto, en ALGOL . El primer lenguaje de alto nivel significativamente extendido fue Fortran , un desarrollo independiente de la máquina de los sistemas Autocode anteriores de IBM. La familia ALGOL , con ALGOL 58 definido en 1958 y ALGOL 60definido en 1960 por comités de informáticos europeos y estadounidenses, introdujo la recursividad así como funciones anidadas bajo el ámbito léxico . ALGOL 60 fue también el primer lenguaje con una clara distinción entre valor y nombre-parámetros y su semántica correspondiente . [5] ALGOL también introdujo varios conceptos de programación estructurada , como las construcciones while-doy if-then-elsey su sintaxis fue la primera en describirse en notación formal: forma Backus-Naur (BNF). Aproximadamente durante el mismo período, COBOL introdujo registros(también llamados estructuras) y Lisp introdujeron una abstracción lambda completamente general en un lenguaje de programación por primera vez.

"Lenguaje de alto nivel" se refiere al nivel más alto de abstracción del lenguaje de máquina . En lugar de tratar con registros, direcciones de memoria y pilas de llamadas, los lenguajes de alto nivel tratan con variables, arreglos, objetos , expresiones aritméticas o booleanas complejas, subrutinas y funciones, bucles, hilos , bloqueos y otros conceptos abstractos de la informática, con un Centrarse en la usabilidad sobre la eficiencia óptima del programa. A diferencia de los lenguajes ensambladores de bajo nivel, los lenguajes de alto nivel tienen pocos elementos de lenguaje, si es que tienen alguno, que se traduzcan directamente en los códigos de operación nativos de una máquina .. También pueden estar presentes otras funciones, como rutinas de manejo de cadenas, funciones de lenguaje orientado a objetos y entrada/salida de archivos. Una cosa a tener en cuenta sobre los lenguajes de programación de alto nivel es que estos lenguajes permiten que el programador se separe y se separe de la máquina. Es decir, a diferencia de los lenguajes de bajo nivel como ensamblador o lenguaje de máquina, la programación de alto nivel puede amplificar las instrucciones del programador y desencadenar una gran cantidad de movimientos de datos en segundo plano sin su conocimiento. La responsabilidad y el poder de ejecutar instrucciones han sido entregados a la máquina por el programador.