Преимущества и недостатки языка машинного уровня

Программирование

Написание кода машинного уровня - сложный процесс.

Кредит изображения: Jupiterimages / Photos.com / Getty Images

Цель любого языка программирования - превратить компьютер из дорогого электронного пресс-папье в полезное устройство для обработки и хранения данных. Выбор языка для выполнения этой задачи - это компромисс между эффективностью и простотой использования. Машинный язык представляет собой крайний край спектра обоих этих факторов.

Машинный язык

Машинный язык создает единственный набор инструкций, который компьютер понимает без переводчика. Компьютеры могут выполнять воспроизведение аудио и видео, обработку и хранение данных, Интернет. общение и все другие специализированные задачи, отвечая на набор инструкций, который распознает только и нули. Написание сотен строк кода, состоящего из единиц и нулей, - сложный и утомительный процесс, который объясняет популярность языков высокого уровня, таких как C и Java.

Видео дня

Первые преимущества

Первый персональный компьютер IBM был оснащен 512 килобайтами оперативной памяти и 360-килобайтным флоппи-дисководом. После загрузки операционной системы в память с флоппи-дисковода программы загружались в оставшиеся пространство памяти, оставляющее очень маленькую область ОЗУ, часто менее 100 килобайт, для обработки активной программой данные. В то время главной заботой программиста был компактный и эффективный код. В качестве инструментов программирования на этих ранних компьютерах обычно использовался машинный язык, который может быть значительно меньше, чем версия, написанная на BASIC или C. Также было несколько проще использовать потомок, язык ассемблера.

Зависимость от платформы

Машинный язык напрямую обращается к аппаратному обеспечению компьютера, давая программисту полный контроль над каждым аспектом выполнения программы. Недостатком этого подхода является то, что программист должен знать архитектуру каждого набора микросхем, прежде чем он сможет написать эффективный код. Когда, например, изменяется такой компонент, как видеокарта или контроллер привода, код машинного языка должен быть обновлен для распознавания и адресации нового устройства.

Языки высокого уровня

Преимущества машинного языка в скорости и небольшом объеме памяти все чаще перевешиваются сложностью написания инструкций на уровне микросхемы в двоичном коде. Гигабайты оперативной памяти и терабайты доступной памяти устранили необходимость в компактном и эффективном коде на современных персональных компьютерах. Требования к дополнительной памяти и хранилищу, предъявляемые программами, написанными на языках более высокого уровня, таких как C и Java, больше не являются фактором при выборе платформы разработки. В большинстве современных программных проектов проблемы простоты использования и будущего обслуживания программ заменяют скорость и эффективность.