CONOCE LOS TIPOS DE LENGUAJES DE PROGRAMACIÓN: BAJO Y ALTO NIVEL
Anteriormente, cuando solo existían los lenguajes de bajo nivel (código máquina y ensamblador), darle instrucciones al computador era una tarea bastante compleja y que requería mucho tiempo.
No sería hasta la llegada de Fortran (el primer lenguaje de alto nivel), en que ya no era necesario escribir en binario para darle instrucciones al ordenador.
Aquí te contamos todo lo que tienes que saber sobre estos lenguajes de alto nivel (compilador e interpretados) y bajo nivel (máquina y ensambl ador).
Un lenguaje de programación es, básicamente, el medio para darle instrucciones al computador.
Los ordenadores tienen millones de interruptores que están encendidos (1) o bien apagados (0). Así, puedes darle instrucciones al ordenador por medio de bits (cadenas de 0s y 1s). Sin embargo, esto resulta demasiado complejo.
Es por ello que se crearon los lenguajes de programación de alto nivel, para escribir código legible que será traducido al lenguaje máquina (binario). Es decir, para que sean intermediarios entre los desarrolladores y el hardware.
Lenguajes de programación de bajo nivel
Los lenguajes de bajo nivel son aquellos que están más próximos al lenguaje de máquina (de ceros y unos). Es decir, tienen un control directo sobre el hardware.
A diferencia de los lenguajes de alto nivel, no necesitan compiladores. Se ejecutan directamente en el procesador y dependen de la arquitectura del hardware.
Los programas que se crean con estos lenguajes de bajo nivel dependen totalmente del hardware. Por esta razón, no se pueden migrar o utilizar en otras máquinas.
Además, pese a que aprovechan mejor las características del hardware, son los tipos de lenguajes más difíciles de entender y aprender.
Existen dos tipos de lenguajes de bajo nivel: máquina y ensamblador.
a. Lenguaje de máquina
El lenguaje de máquina es aquel que es interpretado directamente por el procesador, por lo que su ejecución es mucho más rápida.
Así mismo, consta de cadenas de números binarios (0s y 1s). Por esta razón, programar en este lenguaje es una tarea difícil que requiere una gran inversión de tiempo.
Lenguaje de máquina
Cabe destacar que los programas escritos en este lenguaje no necesitan ser traducidos, pues es el único lenguaje que el procesador entiende directamente.
Además, pese a que hace un uso eficiente de la memoria, encontrar un fallo en el lenguaje de máquina es una tarea casi imposible.
b. Lenguaje ensamblador
El lenguaje ensamblador (assembler o asm) no es más que códigos mnemotécnicos (abreviaturas de letras y números) de las instrucciones máquina (binario).
En consecuencia, los programas escritos en ensamblador se traducen a código máquina de forma inmediata.
Lenguaje ensamblador
Lenguaje ensamblador – Imagen: Android Authority
Por otro lado, este lenguaje de bajo nivel depende estrictamente del tipo de procesador utilizado. Es por ello que programar en ensamblador requiere conocer, en forma detallada, las especificaciones del hardware.
De igual manera, el software escrito en este lenguaje resulta ser poco o nada portable. Aunque, como ventaja, ocupa menos memoria, es más fácil de depurar y su código fuente resulta más corto.
Lenguajes de programación de alto nivel
Los lenguajes de alto nivel están más próximos al lenguaje humano y más alejados de la máquina. Por lo tanto, resultan más fáciles de entender y son más flexibles a la hora de programar.
Además, este tipo de lenguaje de programación es traducido al lenguaje máquina mediante un intérprete o compilador.
Así mismo, al ser independientes del hardware, los programas escritos en estos lenguajes de alto nivel pueden ejecutarse en diferentes plataformas (Windows, Linux, etc.)
Por otro lado, al existir una gran cantidad de lenguajes de alto nivel, su clasificación es muy diversa.
Sin embargo, aquí vamos a señalar dos tipos de lenguajes de alto nivel: lenguajes compilados e interpretados.
a.
Lenguajes compilados
Los lenguajes compilados son aquellos que son traducidos al lenguaje de máquina (cadenas de bits) de una sola vez.
En consecuencia, cada modificación que realices en el código fuente requiere volver a compilar (traducir a código máquina) todo.
Sin embargo, hay algunos lenguajes como Java que primero compilan a bytecode (un código intermedio) y luego es interpretado a máquina.