Contenido
El objetivo de cualquier lenguaje de programación es convertir una costosa computadora pisapapeles en un útil dispositivo de procesamiento y almacenamiento de datos. El lenguaje elegido para realizar esta tarea debe equilibrarse 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 pueden reproducir audio y video, procesar y almacenar datos, comunicarse con Internet y realizar otras tareas especializadas, respondiendo a un conjunto de instrucciones que reconocen solo unos y ceros. Escribir cientos de líneas de código con solo unos y ceros es una tarea tediosa que contribuye a la popularidad de los lenguajes de alto nivel, como C y Java.
Ventajas iniciales
La primera computadora personal de IBM estaba equipada con 512 KB de memoria de acceso aleatorio y una unidad de disquete de 360 KB. Después de que el sistema operativo se cargó en la memoria desde el disquete, los programas se cargaron en el espacio de memoria restante, dejando un área pequeña de RAM, generalmente menos de 100 KB, para que el programa activo procesara los datos. Durante ese tiempo, la principal preocupación de un programador era crear código conciso y eficiente. La herramienta de programación más utilizada en estas computadoras fue el lenguaje máquina, que puede ser considerablemente más pequeño que una versión escrita en BASIC o C. También fue un poco más fácil usar el lenguaje ensamblador.
Dependencia de la plataforma
El lenguaje de máquina apunta directamente al hardware de la computadora, lo que le da al programador un control completo de todos los aspectos de la ejecución de un programa. La desventaja de este enfoque es que el programador debe conocer la arquitectura de cada conjunto de circuitos integrados (chipsets) para escribir código efectivo. Cuando se cambia un componente como una tarjeta de video o un controlador de disco, el código debe actualizarse para reconocer y usar el nuevo dispositivo.
Idiomas de alto nivel
La velocidad y las ventajas de uso de poca memoria del lenguaje de máquina se ven superadas por la dificultad de escribir instrucciones a nivel de chip en código binario. La disponibilidad de gigabytes de RAM y terabytes de almacenamiento ha eliminado la necesidad de un código conciso y eficiente en las computadoras personales modernas. Las demandas adicionales de memoria y almacenamiento de 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 el mantenimiento son factores preferidos para la velocidad y la eficiencia en la mayoría de los proyectos de software modernos.