Skip to main content

¿Qué es la programación de alto nivel?

La programación de alto nivel implica escribir un programa de computadora en un lenguaje que evite que el programador tenga que lidiar directamente con el hardware de la computadora específica que se está programando. Esta abstracción le permite al programador centrarse más en el diseño, el flujo y la funcionalidad del programa y menos en reunir los recursos básicos del sistema para lograr esos objetivos. Un lenguaje de programación de alto nivel puede manejar la gestión de la memoria o la entrada y salida de una manera que el programador solo necesita comprender el concepto y no los detalles del hardware de un sistema dado. En contraste con la programación de alto nivel, está la programación de bajo nivel, en la cual hay poca, si alguna, separación entre el código de computadora escrito y las acciones que realiza la computadora.

El desarrollo de lenguajes de programación de alto nivel fue en respuesta a la necesidad de archivos de código fuente legibles por humanos que pudieran ser fácilmente entendidos y modificados. Al usar soluciones de lenguaje natural, el código fuente de alto nivel se vuelve mucho más legible que el lenguaje ensamblador u otros lenguajes de máquina. A medida que progresaba el tamaño de los programas de computadora, la practicidad de escribir programas completos en idiomas de bajo nivel se hizo menos factible.

A cambio de la programación en un lenguaje que sea legible para los humanos y que no requiera conocimientos de hardware de bajo nivel, existe un concepto conocido como penalización por abstracción. Esto describe los mayores requisitos en potencia de procesamiento, uso de memoria y otros tipos de sobrecarga necesarios para ejecutar el programa final. Esto es especialmente cierto en el caso de los lenguajes interpretados que deben ejecutar un intérprete para ejecutar el programa, lo que requiere esencialmente que dos aplicaciones tengan que ejecutarse al mismo tiempo.

Los lenguajes compilados son lenguajes de programación de alto nivel en los que los archivos fuente legibles se convierten en código de máquina que la computadora puede leer. Si bien un lenguaje compilado sufre menos penalización por abstracción que un lenguaje interpretado, todavía se basa en bibliotecas precompiladas y funciones de compilación automatizadas. Estos elementos pueden dañar la optimización de un programa complejo en el que el rendimiento es vital.

El uso de lenguajes de programación de alto nivel también ha facilitado la programación fácil de usar. Esto se ve facilitado por la facilidad de agregar elementos estandarizados a una interfaz de usuario que proporcionan la mayoría de los lenguajes de alto nivel. En lugar de desarrollar código personalizado para un sistema de ventanas o un botón de interfaz cada vez que sea necesario, los elementos familiares se pueden colocar fácilmente en una interfaz con solo unas pocas líneas de código. Esto permite que los usuarios finales puedan aprender más fácilmente o puedan familiarizarse de inmediato.

El uso del término "programación de alto nivel" es relativo a la experiencia del programador. Hay algunos idiomas intermedios que alguna vez se consideraron de bajo nivel, pero ahora no lo son. Del mismo modo, algunos lenguajes de alto nivel comparten aspectos con lenguajes de bajo nivel, difuminando la línea entre ellos.