Мова програмування другого покоління
Мова програмування другого покоління (англ. Second-generation programming language, 2GL) — це спосіб класифікації мов асемблера за поколіннями.[1][2][3] Вони відносяться до мов програмування низького рівня.
Термін було введено, щоб відрізнити машинно-незалежні та мови третього покоління (3GL) (наприклад, COBOL, C або JavaScript) і раніші мови програмування перших поколінь (машинний код)[2][4].
Мови програмування другого покоління мають такі властивості:
- Рядки в програмі відповідають безпосередньо командам процесора, по суті діючи як мнемонічний пристрій, що накладає мову програмування першого покоління.
- Код може бути прочитаний і написаний програмістом. Щоб запустити на комп’ютері, його потрібно перетворити в машиночитану форму, цей процес називається ассамбленням.[4]
- Мова є специфічною для конкретного сімейства процесорів і середовища.[2]
Мови другого покоління іноді використовуються для частин ядер або драйверів пристроїв, а іноді використовуються у відеоіграх, графічних програмах та інших інтенсивних програмах.[1]
У сучасних програмах мови асемблера другого покоління використовуються рідко.[5] Програмування на мовах другого покоління може принести переваги у швидкості, але деякі недоліки призвели до його зниження:
- Програмування виражається в термінах індивідуальних команд процесора, а не логіки вищого рівня.[2][3]
- Пам'яттю низького рівня та деталями апаратного забезпечення потрібно керувати вручну, що часто спричиняє помилки.[2]
- Програми є машинозалежними, тому для кожної цільової архітектури машини необхідно писати різні версії.[3]
Переважна більшість програм написана мовою програмування третього покоління або мовою програмування четвертого покоління. Головна перевага асемблювання, швидкість, погіршилася через той факт, що добре написаний код C часто може бути таким же швидким або навіть швидшим, ніж рукописний асемблер.[2][6]
- ↑ а б "Computer Hope, Generation languages"
- ↑ а б в г д е Brookshear, J. Glenn (2012). Computer science : an overview (вид. 11th). Addison-Wesley. с. 240—241. ISBN 978-0-13-256903-3.
- ↑ а б в Vass, Péter. Programming Language generations and Programming Paradigms (PDF).
- ↑ а б What Are Programming Language Generations?. wiseGEEK (амер.). Процитовано 11 червня 2019.
- ↑ Top Computer Languages 2019 - StatisticsTimes.com. statisticstimes.com. Архів оригіналу за 12 червня 2019. Процитовано 11 червня 2019.
- ↑ Walls, Colin. Why C is faster than assembly. Mentor, a Sieman's Business. Mentor Inc. Архів оригіналу за 29 січня 2020. Процитовано 11 червня 2019.