Писането на код на машинно ниво е труден процес.
Кредит на изображението: Jupiterimages/Photos.com/Getty Images
Целта на всеки език за програмиране е да превърне компютъра от скъпо електронно преспапие в полезно устройство за обработка и съхранение на данни. Изборът на език за изпълнение на тази задача е компромис между ефективност и лекота на използване. Машинният език представлява крайните краища на спектъра и за двата фактора.
Машинен език
Машинният език създава единствения набор от инструкции, които компютърът разбира без преводач. Компютрите успяват да осъществят възпроизвеждане на аудио и видео, обработка и съхранение на данни, Интернет комуникация и всички други специализирани задачи, като отговорите на набор от инструкции, който разпознава само такива и нули. Писането на стотици редове код, състоящ се от единици и нули, е взискателен и досаден процес, който обяснява популярността на езиците от по-високо ниво като C и Java.
Видео на деня
Ранни предимства
Първият персонален компютър на IBM е оборудван с 512 килобайта памет с произволен достъп и 360-килобайтово флопи устройство. След като операционната система беше заредена в паметта от флопи устройството, програмите бяха заредени в останалата място в паметта, оставяйки много малка площ от RAM, често по-малко от 100 килобайта, за обработка на активната програма данни. През този период основната грижа на програмиста беше стройният и ефективен код. Избраните инструменти за програмиране на тези ранни компютри обикновено са били машинен език, който може да бъде значително по-малък от версия, написана на BASIC или C. Също така беше малко по-лесно за използване на потомък, асемблер.
Зависимост от платформата
Машинният език се обръща директно към хардуера на компютъра, като дава на програмиста пълен контрол върху всеки аспект от изпълнението на програмата. Недостатъкът на този подход е, че програмистът трябва да знае архитектурата на всеки чипсет, преди да може да напише ефективен код. Когато компонент като видеокарта или контролер на устройство се промени, например, кодът на машинния език трябва да се актуализира, за да разпознае и адресира новото устройство.
Езици от високо ниво
Предимствата на машинния език върху скоростта и малкия обем на паметта все повече се надделяват от трудността при писане на инструкции на ниво чип в двоичен код. Гигабайти RAM и терабайти налично място за съхранение премахнаха изискването за тънък, ефективен код в съвременните персонални компютри. Допълнителните изисквания за памет и съхранение, направени от програми, написани на езици от по-високо ниво като C и Java, вече не са фактор при избора на платформа за разработка. Лесното използване и бъдещата поддръжка на програмата заемат мястото на скоростта и ефективността в повечето съвременни софтуерни проекти.