Язык программирования второго поколения (2GL ) является поколенческий способ категоризации языков ассемблера.
Этот термин был придуман, чтобы отличить более высокий уровень от машинно-независимых языков программирования третьего поколения (3GL), таких как COBOL и более ранние языки программирования первого поколения (машинный код )
Языки программирования второго поколения обладают следующими свойствами:
Языки второго поколения иногда используются для частей ядра или драйверы устройств и иногда используются в видеоиграх, графических программах и других интенсивных программах.
В современных программах языки ассемблера второго поколения используются редко.. Программирование на языках второго поколения может дать выигрыш в скорости, но несколько недостатков привели к его снижению:
Подавляющее большинство программ написаны на языке программирования третьего поколения или языке программирования четвертого поколения. Основное преимущество ассемблера, скорость, ухудшилось из-за того, что хорошо написанный код C часто может быть таким же быстрым или даже быстрее, чем рукописный ассемблер
Языки второго поколения, пожалуй, наиболее важны на их месте в истории вычислений. В течение долгого времени языки ассемблера второго поколения были единственным хорошим вариантом для разработки для многих машин, таких как NES или Commodore 64. Языки второго поколения представляют собой огромный шаг в сторону от традиций, когда программисты приспосабливаются к потребностям машины, и первый шаг к приспособлению машины для программиста, явление, которое будет повторяться во всех последующих поколениях языков программирования.