Tecnología

Inicio

Diferencia entre ensambladores y compiladores

Ensambladores y compiladores son dos tipos de programas de ordenador que sirven al mismo propósito: para convertir el código legible por humanos de código que puede ser entendido por un ordenador.

Diferencia entre ensambladores y compiladores

Codigo de maquina

código de máquina es la programación que el procesador del ordenador puede entender. Tanto los ensambladores y compiladores producen código de máquina.

Asamblea

Montadores producen código de máquina a partir de un lenguaje llamado montaje. Cada comando en asamblea general se corresponde con un único comando en código máquina.

Lenguajes de alto nivel

Los compiladores producen código de máquina mediante la interpretación de un lenguaje de alto nivel. La mayoría de los comandos en lenguajes de alto nivel, como C y Java, no se corresponden con ningún mando único en código máquina, y el proceso de traducción de uno a otro puede ser complejo.

abstracción de hardware

abstracción de hardware es una técnica en la que se ocultan los detalles de hardware para simplificar la programación. Asamblea tiene poca o ninguna abstracción de hardware. lenguajes compilados por lo general tienen una gran cantidad de ella.

Beneficios de ensamblador

Asamblea de la relación de uno-a-uno de los comandos que el procesador de la computadora está ejecutando y el hardware específico en la máquina asegura que un programa de montaje de manera eficiente escrita superará el código sea más compleja producida por la compilación de un lenguaje de alto nivel. Por lo tanto, el montaje es una buena elección cuando el rendimiento es de suma importancia, como en un motor de gráficos, o cuando los recursos de hardware disponibles son pequeños en comparación con las de un ordenador personal, como en un sistema de control para un horno de microondas.

Beneficios del compilador

En la mayoría de los casos, las pequeñas ventajas de rendimiento de ensamblaje eficiente escrita no compensan su falta de abstracción de hardware y su relativa dificultad en uso, en comparación con el nivel más alto, los lenguajes compilados como C ++. Por esta razón, casi todo el software está escrito en un lenguaje de alto nivel compilado.