Класифікація мов програмування за рівнями

Зручність для людини

Інструкції, написані на машинній мові, зрозумілі комп’ютера, але вкрай незручні для людини. У них важко розібратися, їх практично неможливо швидко змінити або скласти з їх допомогою складний алгоритм. Для підвищення ефективності програмісти піднялися на нові рівні абстракції і навчили машину приймати більш людинозрозумілі інструкції і самостійно переводити їх у машинний код. Розглянемо класифікацію та особливості мов програмування різного рівня:

  • Машинний код. Це теж мова програмування, на якому при належній підготовці можна написати інструкцію.
  • Низький рівень. По-справжньому низькорівневими є мови асемблера, які використовують нативні машинні команди, закодовані за допомогою мнемонічних кодів.
  • Середній рівень. Системи програмування цієї групи можуть вважатися і низько – і високорівневими, в залежності від конкретних уявлень про ступінь абстракції. Сюди можна віднести C і C++.
  • Високий рівень. Ці мови дозволяють створювати складні алгоритми, але вимагають додаткової обробки перед виконанням, тому згенерований код ними менш ефективний і виконується повільніше.
  • Надвисокий рівень. Ця нечисленна група характеризується появою надпотужних команд і операторів. Сюди можна віднести Алгол-68.
Цікаве:  Як без проблем вставити картинку в HTML

Особливістю мов низького рівня є їх машинозависимость. Вони тісно прив’язані до особливостей організації конкретного типу ЕОМ, але в цілому схожі один на одного. Вони забезпечують:

  • високу швидкість виконання і максимальну компактність створюваних програм;
  • пряма взаємодія з апаратними ресурсами;
  • повний контроль над пам’яттю.

Основні недоліки низькорівневих мов:

  • для кожного типу ЕОМ необхідно використовувати певну систему команд, залежну від особливостей функціонування машини;
  • складність і низька швидкість процесу програмування;
  • висока ймовірність появи помилок, які складно відстежити;
  • відсутність мобільності програм, неможливість запустити їх на ЕОМ іншого типу.

Високорівневі системи програмування не прив’язані до певної машинною системою команд і можуть виконуватися на будь-якому комп’ютері. Завдяки високому рівню абстракції вони можуть собі дозволити використовувати різноманітні концепції і методології в складанні інструкцій. Тому класифікація мов програмування високого рівня дуже обширна і складна.