Lenguaje de alto nivel
Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad con que las máquinas lo ejecutan. Estos lenguajes permiten una máxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación. Por lo general suelen estar orientados a objetos, a eventos o a funciones, pudiendo estos combinarse. Asimismo, pueden ser compilados o interpretados. Algunos ejemplos son: Java, PHP, Python, Javascript, C#.

En los primeros lenguajes, la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales o lenguajes de bajo nivel. Otra limitación de estos es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida.

Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.

Características 

Lenguaje de alto nivel se refiere al nivel más alto de abstracción de lenguaje de máquina. En lugar de tratar con registros, direcciones de memoria y las pilas de llamadas, lenguajes de alto nivel se refieren a las variables, matrices, objetos, aritmética compleja o expresiones booleanas, subrutinas y funciones, bucles, hilos, cierres y otros conceptos de informática abstracta, con un enfoque en la facilidad de uso sobre la eficiencia óptima del programa.

Ventajas e inconvenientes 

Ventajas
 Genera un código más sencillo y comprensible.
 Escribir un código válido para diversas máquinas o sistemas operativos.
 Permite utilizar paradigmas de programación.
 Permite crear programas complejos en relativamente menos líneas de código.
Inconvenientes
 Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.
 Algunos requieren que la máquina cliente posea una determinada plataforma.

Principales lenguajes de nivel alto 
 Python
 VB.NET
 Erlang

 Ada
 ALGOL
 BASIC
 C Sharp
 FORTRAN
 C++ Se usa en conjunto con C y deben mencionarse como C/C++

Principales lenguajes considerados de nivel medio 
(Debido a que permite programar en nivel bajo)
 C Se usa en conjunto con C++ y deben mencionarse como C/C++

Véase también 
 Abstracción (informática)
 Compilador

Referencias

nivel Alto