Es el que proporcional
poca o ninguna abstracción del microprocesador de un ordenador.
Consecuentemente es fácilmente trasladado a lenguaje de maquina.
En general se utiliza este tipo de lenguaje para programar
controladores (drivers).
Un lenguaje de programación de
bajo nivel es
aquel en el que sus instrucciones ejercen un control directo
sobre el hardware y están condicionados por la estructura física
de la computadora que lo soportan.
Por ejemplo, se utiliza este tipo de lenguajes
para programar tareas críticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.
La estructura de los lenguajes son como sigue:
Código Binario - Es el lenguaje
básico, sólo admite todo (1) o nada (0). Todo sistema
informático está basado en este código, ya que el 1 (todo, SÍ)
quiere decir que se permite el paso de la electricidad y el 0
(nada, NO) no lo permite.
Sería la forma en la que están almacenados
los programas, sea en memoria, sea en dispositivos de
almacenamiento. De esta forma son recibidas y ejecutadas cada
una de las instrucciones por la CPU del ordenador.
Lenguaje Máquina - Las invocaciones a
memoria, como los procesos aritméticos lógicos son posiciones
literales de conmutadores físicos del hardware en su
representación booleana. Estos lenguajes son literales de
tareas.
Lenguajes ensambladores - También
denominados nemotécnicos o nemónicos, no son programas
ejecutables directamente por el ordenador, sino textos de código
fuente que necesitan de alguna herramienta para su conversión a
lenguaje máquina, son los programas llamados ensambladores.
Sus instrucciones suelen ser una denominación
abreviada de la instrucción máquina que simbolizan, y tienen una
correspondencia casi directa a las instrucciones máquina que
representan. El código resultante de la ejecución del programa
ensamblador generaría un código binario ejecutable.
Ventajas
Desventaja
-
Imposibilidad de
escribir código independiente de la maquina
-
Mayor dificultad en la
programación y en la comprensión de los programas
-
El programador debe
conocer mas de un centenar de instrucciones.
-
Es necesario conocer
en detalle la arquitectura de la maquina.
|
Un lenguaje intermedio es el lenguaje de una máquina abstracta diseñada para ayudar a realizar el
análisis de un programa informático.
El término proviene de su
uso en compiladores, donde el código fuente de un programa es traducido a un
modo más apropiado para transformaciones de mejora de código
antes de generar el código
objeto o código máquina para una máquina determinada.
El diseño del lenguaje
intermedio difiere típicamente del lenguaje de máquina de tres maneras
fundamentales:
-
El número de registros disponibles puede ser grande, incluso
ilimitado.
Aunque no está
específicamente diseñado como un lenguaje intermedio, la
naturaleza de C como una abstracción del lenguaje
ensamblador y su uso como lenguaje de sistema en Unix-like y otros sistemas
operativos lo han convertido en un lenguaje intermedio popular: Eiffel, Sather, Esterel,
algunos dialectos de Lisp (Lush, Gambit,
Haskell, Glasgow Haskell Compiler), Squeak, Cython, Seed7, Vala y otros usan C como un lenguaje
intermedio. Variantes de C han sido diseñadas para proveer a C
de características como un lenguaje ensamblador portable, incluyendo C-- o el lenguaje
intermedio de C.
El Common Intermediate Language de Microsoft es
un lenguaje intermedio diseñado para ser compartido por todos
los compiladores del .NET
Framework antes de ser generado el código
máquina.
El GNU Compiler Collection (GCC) usa varios lenguajes intermedios
internamente para simplificar la portabilidad. Entre esos
lenguajes están:
Mientras la mayoría de
lenguajes son diseñados para soportar lenguajes escritos
estáticamente, la representación intermedia de Parrot está diseñada para soportar lenguajes
escritos dinámicamente (inicialmente Perl y Python).
Ahora para concluir se puede afirmar que el
lenguaje C es el mas utilizado por su versatilidad y su potencia
para trabajar teniendo en cuenta el nivel bajo con la potencia
de un lenguaje de alto nivel.
|
Se caracterizan por expresar los algoritmos de
una manera adecuada a las capacidad cognitiva humana, en lugar
de a la capacidad de ejecutar código por la maquina.
En los primeros lenguajes de alto nivel la
limitación era que se orientaban a un área especifica y sus
instrucciones requerían de una sintaxis predefinida. Se
clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de alto nivel es
que se requiere de ciertos conocimientos de programación para
realizar las secuencias de instrucciones lógicas.
Los lenguajes de muy alto nivel se crearon para
que el usuario común pudiese solucionar tal problema de
procesamiento de datos de una manera mas fácil y rápida. En lugar de tratar con registros, direcciones
de memoria y las pilas de llamadas, los 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
-
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
Principales lenguajes de nivel alto
|