**Linguaxe de alto nivel** é como se denomina na Ciencia da Computación a linguaxe de programación cun nivel de abstracción relativamente elevado, lonxe do código de máquina e máis próximo á linguaxe humana. Poderiamos dicir que o que se persegue é xerar un código que arranxe un problema de maneira máis rápida e sinxela. Isto quere dicir que imos obter un código máis sinxelo de entender e que pode ser válido para diferentes máquinas e sistemas operativos.

Subxectividade do criterio
--------------------------

Por se tratar dunha clasificación subxectiva, isto é, sen límites ben definidos, é posible afirmar que "determinada linguaxe pode ser máis *humana* ca outra". A pesar diso, por cuestión de practicidade e obxectividade, a clasificación limítase xeralmente a "linguaxe de alto nivel" e "linguaxe ensambladora".

Expresividade para unha linguaxe de programación
------------------------------------------------

Á parte de criterios subxectivos de "proximidade á linguaxe humana", hai criterios máis obxectivos que teñen en conta o "potencial de expresividade", en termos de capacidade media de expresión por palabra ou por cada SLOC. Isto é fundamental en termos de produtividade: existen estudosmaio de 2015[] que proban que o número de SLOC por persoa e día se mantén constante.

Por outra banda, en canto a este criterio de expresividade para unha linguaxe de programación, hai que ter en conta non só a expresividade das instrucións da linguaxe, senón tamén as librarías asociadas existentes e accesíbeis que teñen API para esa linguaxe.

Vantaxes e inconvenientes
-------------------------

### **Vantaxes**

Normalmente, acéptase que unha linguaxe de alto nivel favorece:

* A escritura de código fonte máis sinxelo de entender.
* A escritura de código fonte válido para diversas máquinas e diferentes sistemas operativos.
* A utilización dalgún paradigma de programación.

### Inconvenientes

Así mesmo, acéptase que unha linguaxe de alto nivel sacrifica:

* Rendemento no acceso a traballo de baixo nivel na máquina na que se executa.
* Flexibilidade, podendo ligarse a unha plataforma concreta.

Diferenzas respecto á linguaxe de baixo nivel
---------------------------------------------

Que a linguaxe sexa de "baixo nivel" quere dicir que a abstracción entre a linguaxe e o hardware é menor. Unha linguaxe de baixo nivel estará máis orientada ao control do hardware subxacente, tanto no tipo de instrucións dispoñibles, como no estilo de programación dispoñible. Un exemplo de linguaxe de baixo nivel, é a linguaxe ensambladora.

Exemplos
--------

Algúns exemplos de linguaxes de alto nivel (con diferentes niveis de abstracción) son:

* Ada
* BASIC
* C
* C++
* Cobol
* Fortran
* Pascal
* Java

Véxase tamén
------------

* Linguaxe máquina
* Linguaxe de baixo nivel

---

|  |  |
| --- | --- |
| Este artigo tan só é un bosquexo |  *Este artigo sobre informática é, polo de agora, só un bosquexo. Traballa nel para axudar a contribuír a que a Galipedia mellore e medre.* *Existen igualmente outros artigos relacionados con este tema nos que tamén podes contribuír.* |

---


|  |  |
| --- | --- |
| Control de autoridades | 
* Wd: Q211496
* EBID: ID
* GEC: 0191220
* GND: 4160367-9
* JSTOR: high-level-languages
* LCCN: sh2007005228
* MAG: 19024347

 |