Ventajas y desventajas del lenguaje a nivel de máquina

Programación

Escribir código a nivel de máquina es un proceso difícil.

Credito de imagen: Jupiterimages / Photos.com / Getty Images

El propósito de cualquier lenguaje de programación es transformar una computadora de un costoso pisapapeles electrónico en un útil dispositivo de procesamiento y almacenamiento de datos. Elegir un idioma para realizar esta tarea es un compromiso entre eficiencia y facilidad de uso. El lenguaje de máquina representa los extremos del espectro para ambos factores.

Lenguaje de máquina

El lenguaje de máquina produce el único conjunto de instrucciones que una computadora entiende sin un traductor. Las computadoras logran lograr la reproducción de audio y video, procesamiento y almacenamiento de datos, Internet comunicación y todas las demás tareas especializadas respondiendo a un conjunto de instrucciones que reconoce solo unas y ceros. Escribir cientos de líneas de código que constan de unos y ceros es un proceso exigente y tedioso que explica la popularidad de los lenguajes de nivel superior como C y Java.

Video del día

Ventajas tempranas

La primera computadora personal de IBM estaba equipada con 512 kilobytes de memoria de acceso aleatorio y una disquetera de 360 ​​kilobytes. Después de que el sistema operativo se cargó en la memoria desde la unidad de disquete, los programas se cargaron en el resto espacio de memoria que deja un área muy pequeña de RAM, a menudo menos de 100 kilobytes, para que el programa activo la procese datos. Durante este período, la principal preocupación de un programador era el código eficiente y ajustado. Las herramientas de programación elegidas en estas primeras computadoras solían ser lenguaje de máquina, que puede ser considerablemente más pequeño que una versión escrita en BASIC o C. También fue algo más fácil usar lenguaje ensamblador descendiente.

Dependencia de la plataforma

El lenguaje de máquina se dirige directamente al hardware de la computadora, lo que le da al programador un control completo sobre cada aspecto de la ejecución de un programa. La desventaja de este enfoque es que el programador debe conocer la arquitectura de cada chipset antes de poder escribir código efectivo. Cuando se cambia un componente como una tarjeta de video o un controlador de unidad, por ejemplo, el código de idioma de la máquina debe actualizarse para reconocer y direccionar el nuevo dispositivo.

Idiomas de alto nivel

Las ventajas de la velocidad y la pequeña huella de memoria del lenguaje de máquina se ven superadas cada vez más por la dificultad de escribir instrucciones a nivel de chip en código binario. Los gigabytes de RAM y los terabytes de almacenamiento disponible han eliminado el requisito de un código eficiente y reducido en las computadoras personales modernas. Las demandas adicionales de memoria y almacenamiento que hacen los programas escritos en lenguajes de alto nivel como C y Java ya no son un factor a la hora de elegir una plataforma de desarrollo. La facilidad de uso y la preocupación por el mantenimiento del programa en el futuro sustituyen a la velocidad y la eficiencia en la mayoría de los proyectos de software modernos.