Язык программирования второго поколения ( 2GL ) - это способ классификации языков ассемблера на основе поколений . [1] [2] [3]
Этот термин был придуман для того, чтобы отличить более высокий уровень от машинно-независимых языков программирования третьего поколения (3GL), таких как COBOL, и более ранних языков программирования первого поколения ( машинный код ) [2] [4]
Язык программирования второго поколения
Языки программирования второго поколения обладают следующими свойствами:
- Строки в программе соответствуют непосредственно командам процессора, по существу действуя как мнемоническое устройство, накладывающееся на язык программирования первого поколения.
- Код может быть прочитан и написан программистом. Для запуска на компьютере он должен быть преобразован в машиночитаемую форму, процесс называется сборкой . [4]
- Язык зависит от конкретного семейства процессоров и среды. [2]
Языки второго поколения иногда используются для частей ядер или драйверов устройств , а иногда используются в видеоиграх, графических программах и других интенсивных программах. [1]
В современных программах языки ассемблера второго поколения используются редко. [5] Программирование на языках второго поколения может дать выигрыш в скорости, но несколько недостатков привели к его снижению:
- Программирование выражается в терминах отдельных инструкций процессора, а не логики более высокого уровня. [2] [3]
- Детали низкоуровневой памяти и оборудования должны управляться вручную, что часто чревато ошибками. [2]
- Программы зависят от машины , поэтому для каждой целевой архитектуры машины должны быть написаны разные версии. [3]
Подавляющее большинство программ написано на языке программирования третьего поколения или языке программирования четвертого поколения . Основное преимущество ассемблера, скорость, ухудшилось из-за того, что хорошо написанный код C часто может быть таким же быстрым или даже быстрее, чем рукописный ассемблер [2] [6]
Языки второго поколения, возможно, занимают самое важное место в истории вычислительной техники. В течение долгого времени языки ассемблера второго поколения были единственным подходящим вариантом для разработки для многих машин, таких как NES или Commodore 64 . [7] [8] Языки второго поколения представляют собой огромный шаг в сторону от традиций, когда программисты приспосабливаются к потребностям машины, и первый шаг к приспособлению машины для программиста, явление, которое будет повторяться во всех последующих языках программирования. поколения. [2] [3]
Смотрите также
Рекомендации
- ^ a b "Компьютерная надежда, языки поколения"
- ^ Б с д е е г Brookshear, J. Гленн. Информатика: обзор (11-е изд.). Эддисон-Уэсли. С. 240–241. ISBN 0-13-256903-5.
- ^ а б в г Васс, Петер. "Поколения языков программирования и парадигмы программирования" (PDF) .
- ^ а б "Что такое поколения языков программирования?" . мудрыйGEEK . Проверено 11 июня 2019 .
- ^ «Лучшие компьютерные языки 2019 - StatisticsTimes.com» . statisticstimes.com . Архивировано из оригинала на 2019-06-12 . Проверено 11 июня 2019 .
- ^ Стены, Колин. «Почему C быстрее сборки» . Наставник, Бизнес Симана . Mentor Inc . Проверено 11 июня 2019 .
- ^ Корпорация Commodore. «Справочник программиста C64» (PDF) . Корпорация Commodore . Проверено 11 июня 2019 .
- ^ Авторы Викиучебников. «Сборка РЭШ» . Викиучебники: Сборка РЭШ . Проверено 11 июня 2019 .