
Написання коду машинного рівня є складним процесом.
Авторство зображення: Jupiterimages/Photos.com/Getty Images
Метою будь-якої мови програмування є перетворення комп’ютера з дорогого електронного прес-пап’є в корисний пристрій для обробки та зберігання даних. Вибір мови для виконання цього завдання – це компроміс між ефективністю та простотою використання. Машинна мова являє собою крайні кінці спектру для обох цих факторів.
Машинна мова
Машинна мова створює єдиний набір інструкцій, який комп’ютер розуміє без перекладача. Комп'ютери вміють здійснювати відтворення аудіо та відео, обробку та зберігання даних, Інтернет комунікації та всі інші спеціалізовані завдання, відповідаючи на набір інструкцій, який розпізнає лише один і нулі. Написання сотень рядків коду, що складається з одиниць і нулів, є вимогливим і виснажливим процесом, що пояснює популярність мов вищого рівня, таких як C і Java.
Відео дня
Ранні переваги
Перший персональний комп’ютер IBM був оснащений 512 кілобайтами оперативної пам’яті та 360-кілобайтним дисководом. Після того як операційна система була завантажена в пам'ять з дисковода, програми завантажувалися в решту простір пам'яті, залишаючи дуже малу область ОЗП, часто менше 100 кілобайт, для обробки активної програми дані. У цей період головною турботою програміста був бережливий, ефективний код. Інструментами програмування на цих ранніх комп’ютерах зазвичай була машинна мова, яка може бути значно меншою, ніж версія, написана на BASIC або C. Також було дещо простіше використовувати мову асемблера.
Залежність від платформи
Машинна мова звертається безпосередньо до апаратного забезпечення комп’ютера, надаючи програмісту повний контроль над кожним аспектом виконання програми. Недоліком цього підходу є те, що програміст повинен знати архітектуру кожного чіпсета, перш ніж він зможе написати ефективний код. Коли, наприклад, змінюється такий компонент, як відеокарта або контролер накопичувача, код мови машини необхідно оновити, щоб розпізнати новий пристрій і адресувати його.
Мови високого рівня
Швидкість і невеликий обсяг пам’яті переваги машинної мови все більше переважають складність написання інструкцій рівня мікросхеми в двійковому коді. Гігабайти оперативної пам’яті та терабайти доступної пам’яті позбавили сучасних персональних комп’ютерів потребу в бережливому та ефективному коді. Додаткові вимоги до пам’яті та пам’яті, які висуваються програмами, написаними на мовах вищого рівня, таких як C і Java, більше не є фактором при виборі платформи розробки. У більшості сучасних програмних проектів на зміну швидкості та ефективності приходять простота використання та майбутні проблеми з обслуговування програм.