
3 minute read
Lenguaje ensamblador
El lenguaje ensamblador constituye el primer intento de sustitución del lenguaje por uno más cercano al utilizado por los humanos. Este tipo de lenguajes hacen corresponder a cada instrucción en ensamblador una instrucción en código máquina. Esta traducción la lleva a cabo un programa traductor denominado ensamblador.
Dado que el lenguaje ensamblador está fuertemente condicionado por la arquitectura del ordenador que soporta, los programadores no suelen escribir programas de tamaño considerable en ensamblador, sino que utilizan este lenguaje para afinar partes importantes de programas escritos en lenguajes de más alto nivel.
Advertisement
El lenguaje ensamblador sigue siendo importante, ya que ofrece al programador el control total de la máquina y como resultado genera un código compacto, rápido y eficiente.
Características:
Fuertemente relacionado al lenguaje de máquina.
Traduce instrucciones a código binario. Difícil de comprender directamente.
Conformación de las instrucciones: Utiliza términos mnemotécnicos para la representación de instrucciones en el código fuente, las cuales corresponden a un código en el lenguaje de máquina. De esta forma, el ensamblador traduce los programas del código fuente.
Ventajas:
Gran velocidad de ejecución, similar a la del lenguaje de máquina.
Ofrece mayor control sobre el hardware del ordenador.
Resulta más flexible al momento de llevar a cabo ciertas acciones.
Útil para realizar correcciones puntuales.
Desventajas:
Tedioso de utilizar debido a que se necesitan varias instrucciones para realizar un proceso simple y a los posibles errores de lógica que se pudieran cometer.
No posee una sintaxis estandarizada. No se puede trasladar a otros dispositivos
Posee programas fuente enormes, los cuales resultan casi imposibles de mantener.
El programa hace uso de un editor de texto para crear un archivo de texto ASCII, conocido como archivo de código fuente
El ensamblador lee el código fuente y produce un archivo de código objeto, una traducción del programa a lenguaje máquina. Opcionalmente, se produce un archivo de listado. De ocurrir algún error, el programador debe volver al
La herramienta cargadora (loader) del sistema operativo lee el archivo ejecutable, lo carga en memoria y bifurca la CPU hacia la dirección inicial del programa para que éste comience a ejecutarse.





El enlazador lee el archivo de código objeto y verifica si el programa contiene alguna llamada a los procedimientos en una biblioteca de enlace.
Opcionalmente, el enlazador puede producir un archivo de mapa.
Lenguaje de alto nivel
Los lenguajes de alto nivel son aquellos que se encuentran más cercanos al lenguaje natural de las personas, que al lenguaje máquina, lo que permite al programador poder escribir instrucciones mediante palabras o expresiones simples, por lo general en inglés.


Se tratan de lenguajes independientes de la arquitectura del ordenador y de su hardware. 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.
Características:

Más cercano al lenguaje humano. Es independiente del hardware en el cual se ejecuta.
Aunque pueden existir limitaciones, por lo general pueden ejecutarse en cualquier dispositivo.
Como un ordenador puede interpretar y ejecutar sólo el código máquina, existen programas especiales, denominados traductores, que traducen programas escritos en un lenguaje de programación al lenguaje máquina de la computadora.

Un traductor es un metaprograma que toma como entrada un programa (o parte de un programa) escrito en lenguaje simbólico (alejado de la máquina) denominado programa fuente y proporciona como salida otro programa semánticamente equivalente y escrito en un lenguaje comprensible por el hardware de la computadora que recibe el nombre de programa objeto.
Compilador: Un compilador es un programa que traduce completamente en programa fuente, con lo que genera un programa objeto (semánticamente equivalente) escrito en lenguaje máquina. El programa fuente suele estar contenido en un fichero, y el programa objeto puede almacenarse como otro fichero en memoria masiva para ser ejecutado más adelante, sin necesidad de volver a realizar la traducción Una vez traducido un programa, su ejecución es independiente de su compilación.
Intérprete: Un intérprete permite que un programa fuente escrito en un determinado lenguaje sea traducido y ejecutado directamente sentencia a sentencia por la computadora. El intérprete capta una sentencia fuente, la analiza y la interpreta, lo que da lugar a su ejecución inmediata En este caso no se crea ningún fichero o programa objeto almacenable en memoria masiva para posibles ejecuciones futuras.
Diferencia entre compilador e intérprete: En la mayoría de casos, un compilador resulta más conveniente puesto que su salida se ejecuta de forma mucho más rápida que la de una interpretación línea por línea. Sin embargo, dado que la interpretación ocurre por línea o declaración, puede detenerse en medio de la ejecución con propósitos de modificación o depuración del código. Ambos poseen ventajas y desventajas, por lo que no se puede desestimar del todo uno por el otro; esto implica que lo mejor sería usarlos en conjunto según lo requiera el desarrollo del programa.

Ventajas:
Permiten generar un código más sencillo y comprensible.
Dicho código puede ser trasladado a cualquier otra máquina o sistema operativo.
Permite emplear los paradigmas de la programación.
Al requerir de menos sentencias para realizar ciertos procesos, permite la creación de programas más complejos de forma más sencilla.
Desventajas: 17
Al requerir de compiladores e intérpretes, la ejecución de los programas se torna más lenta.
Ciertos lenguajes requieren que la máquina posea algún tipo de sistema operativo particular.
