Мова програмування другого покоління (, 2GL) — це спосіб класифікації мов асемблера за поколіннями."Computer Hope, Generation languages" Вони відносяться до мов програмування низького рівня.
Термін було введено, щоб відрізнити машинно-незалежні та мови третього покоління (3GL) (наприклад, COBOL, C або JavaScript) і раніші мови програмування перших поколінь (машинний код).
Опис Мови програмування другого покоління мають такі властивості:
Рядки в програмі відповідають безпосередньо командам процесора, по суті діючи як мнемонічний пристрій, що накладає мову програмування першого покоління. Код може бути прочитаний і написаний програмістом. Щоб запустити на комп’ютері, його потрібно перетворити в машиночитану форму, цей процес називається ассамбленням. Мова є специфічною для конкретного сімейства процесорів і середовища.
Мови другого покоління іноді використовуються для частин ядер або драйверів пристроїв, а іноді використовуються у відеоіграх, графічних програмах та інших інтенсивних програмах.
У сучасних програмах мови асемблера другого покоління використовуються рідко. Програмування на мовах другого покоління може принести переваги у швидкості, але деякі недоліки призвели до його зниження:
Програмування виражається в термінах індивідуальних команд процесора, а не логіки вищого рівня. Пам'яттю низького рівня та деталями апаратного забезпечення потрібно керувати вручну, що часто спричиняє помилки. Програми є машинозалежними, тому для кожної цільової архітектури машини необхідно писати різні версії.
Переважна більшість програм написана мовою програмування третього покоління або мовою програмування четвертого покоління. Головна перевага асемблювання, швидкість, погіршилася через той факт, що добре написаний код C часто може бути таким же швидким або навіть швидшим, ніж рукописний асемблер.
Примітки