Зміст
Завданням будь-якої мови програмування є перетворення дорогого комп’ютера у вагу в корисний пристрій обробки та зберігання даних. Мова, обрана для виконання цього завдання, повинна балансувати між ефективністю та простотою використання. Машинна мова представляє кінці спектра для обох факторів.
Машинна мова
Машинна мова видає єдиний набір інструкцій, який комп'ютер розуміє без перекладача. Комп’ютери здатні відтворювати аудіо та відео, обробляти та зберігати дані, спілкуватися з Інтернетом та виконувати інші спеціалізовані завдання, реагуючи на набір інструкцій, що розпізнає лише одиниці та нулі. Написати сотні рядків коду лише з одиницями та нулями - це нудне завдання, яке сприяє популярності мов високого рівня, таких як C та Java.
Початкові переваги
Перший персональний комп'ютер IBM був оснащений 512 КБ оперативної пам'яті та дисководом для гнучких дисків на 360 КБ. Після того, як операційна система була завантажена в пам'ять з дискети, програми завантажувались у решту місця пам'яті, залишаючи невелику область оперативної пам'яті, зазвичай менше 100 КБ, для активної програми для обробки даних. У той час головним завданням програміста було створення короткого та ефективного коду. Інструментом програмування, що найбільш часто використовувався на цих комп'ютерах, була машинна мова, яка може бути значно меншою, ніж версія, написана на BASIC або C. Також було трохи простіше використовувати мову складання.
Залежність від платформи
Машинна мова вказує безпосередньо на апаратне забезпечення комп’ютера, надаючи програмісту повний контроль над кожним аспектом запуску програми. Недоліком цього підходу є те, що програміст повинен знати архітектуру кожного набору інтегральних схем (наборів мікросхем) для написання ефективного коду. Коли компонент, такий як відеокарта або контролер диска, змінюється, код потрібно оновити, щоб розпізнати та використовувати новий пристрій.
Мови високого рівня
Переваги швидкості та низького використання пам'яті машинної мови переважають через складність написання інструкцій на рівні чіпа у двійковому коді. Наявність гігабайт оперативної пам’яті та терабайт пам’яті усунуло необхідність у стислому та ефективному коді на сучасних персональних комп’ютерах. Додаткові вимоги до пам'яті та зберігання програм, написаних мовами високого рівня, таких як C та Java, більше не є фактором при виборі платформи для розробки. Простота використання та обслуговування є переважними факторами швидкості та ефективності в більшості сучасних програмних проектів.