Categorías
Cátedra de Programación

Lenguajes de programación: los 3 niveles

¿Qué es un lenguaje de programación? ¿Qué tipos existen? Alto, medio y bajo nivel.

En la actualidad, la programación está en ‘boca de todos’. La popularidad que han ganado los programadores, el aprender a programar y la programación en sí se debe, entre otras cosas, al aumento del uso de la tecnología. Cada vez en mayor medida utilizamos artículos informáticos. El celular, tablet o computadora con el que lees esto, y el sitio web en sí, es gracias a la programación.

Pero en programación, existen distintos lenguajes. Así como en Lengua diferenciamos del inglés, el español, el portugués, el francés, el chino, entre otros idiomas, en la programación existen distinciones en cuanto a lenguajes de programación.

Ya mencionamos en otro artículo que existen distintos lenguajes de programación, y que entre ellos podemos encontrar una utilidad principal. Por ejemplo, PHP es muy usado en desarrollo web, como en este sitio. Pero, ¿qué es un lenguaje de programación? ¿hay de distintos tipos o niveles?

¿Qué es un lenguaje de programación?

Como definición, un lenguaje de programación es un lenguaje formal que se conforma de símbolos, letras, números con reglas gramaticales claras.

¿Qué diferencia hay con los lenguajes naturales como el español o inglés? Los lenguajes naturales poseen muchas ambigüedades, ya que hay palabras con distintos significados o reglas que te permiten hacer enunciados sin un significado concreto.

En los lenguajes de programación no pasa esto. Los símbolos están bien definidos y las reglas nos permiten crear enunciados con significados concretos.

Programacion

¿Qué tipos de lenguaje de programación existen?

En programación existen distintos tipos de lenguaje. Los especialistas los dividen por niveles, de menor a mayor complejidad. Así, encontramos lenguajes de bajo, medio y alto nivel.

Lenguajes de bajo nivel

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas.

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.

Dentro de este grupo se encuentran:

Lenguaje maquina

Este lenguaje de programación ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0’s y 1’s (ceros y unos) para formar las ordenes entendibles por el hardware de la máquina.

Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.

Lenguaje ensamblador

Este lenguaje de programación es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina.

Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria.

Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Programacion
Programador (Imagen: Fernando-Hernandez)

Lenguajes de medio nivel

Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse «C«, ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

Lenguajes de alto nivel

Son lenguajes de programación que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la máquina para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.