Interested Article - Поколения языков программирования
- 2020-07-09
- 1
Языки программирования принято делить на пять поколений.
Первое поколение
К первому поколению ( англ. first-generation programming language , 1GL) относят машинные языки — языки программирования на уровне команд процессора конкретной машины. Для программирования не использовался транслятор , команды программы вводились непосредственно в машинном коде переключателями на передней панели машины. Такие языки были хороши для детального понимания функционирования конкретной машины, но сложны для изучения и решения прикладных задач.
Второе поколение
Языки второго поколения (2GL) создавались для того, чтобы облегчить тяжёлую работу по программированию, перейдя от машинного кода ближе к более удобным мнемоническим обозначениям команд. Под языками второго поколения понимались ассемблеры (автокоды). Они, тем не менее, остались языками низкого уровня, т.е. языками, зависящими напрямую от системы команд и способов адресации ячеек памяти конкретной модели ЭВМ.
Третье поколение
Под третьим поколением (3GL) понимают языки высокого уровня (ЯВУ), дающие более высокий уровень абстракции, чем ассемблер. Эти языки появились в 1950-е годы, в частности, такие языки как Фортран и Лисп . Некоторой проблемой, с которыми столкнулись разработчики языков второго поколения, стала задача убедить клиентов в том, что созданный компилятором код достаточно хорош, чтобы оправдать отказ от программирования на ассемблере. Скептицизм по поводу возможности создания эффективных программ с помощью компиляторов ЯВУ был довольно распространён, поэтому разработчикам таких систем должны были продемонстрировать, что они действительно могут генерировать почти такой же эффективный код, как и при ручном кодировании, причём практически для любой исходной задачи.
Одной из важнейших отличительных черт языков третьего поколения стала независимость от аппаратного обеспечения , то есть выражение алгоритма в форме, не зависящей от конкретных особенностей машины, на которой он будет исполняться, что позволило переносить программы с одной ЭВМ на другую. При этом производительность труда программистов значительно возросла, а число ошибок сократилось за счет того, что например, в Фортране (ФОРмул ТРАНслятор) стало возможно писать, подобно алгебраической записи, например, "A = X + B" вместо использования мнемонического обозначения машинной команды, такого как "ADD".Исходный текст программы, написанный на языке третьего поколения, перед исполнением транслируется либо непосредственно в машинные команды, либо в текст на ассемблере, и затем уже ассемблируется. При компиляции, в отличие от предыдущих поколений, уже нет соответствия один-к-одному между инструкциями программы и генерируемым кодом.
Стала широко использоваться интерпретация программ — при этом инструкции программы не преобразуются в машинный код, а исполняются непосредственно одна за другой. Независимость от «железа» достигается за счёт использования интерпретатора - виртуальной машины времени исполнения, скомпилированного под конкретную аппаратную платформу.
Четвёртое поколение
Термин языки программирования четвёртого поколения (4GL) лучше представлять как среды разработки четвёртого поколения. Они относятся к временному периоду с 1970-х по начало 1990-х.
Языки этого поколения предназначены для реализации крупных проектов, повышают их надежность и скорость создания, ориентированы на специализированные области применения , и используют не универсальные, а проблемно-ориентированные языки , оперирующие конкретными понятиями узкой предметной области, например, бухгалтерского учета в системе 1С. В эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках предыдущих поколений потребовались бы многие строки исходного текста .
Пятое поколение
Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся средства автоматизированного создания прикладных программ с помощью визуальных средств разработки, без знания программирования . Одна из базовых идей состояла в возможности автоматического формирования результирующего текста на универсальных языках программирования (который необходимо откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием . На данный момент стоит отметить также такие понятия, как и даже zerocode программирование, а также генерацию программ с помощью искусственного интеллекта , например, ChatGPT .
См. также
Примечания
- ↑ www.pcweek.ru. Дата обращения: 10 декабря 2016. 20 декабря 2016 года.
Ссылки
- от 2 февраля 2017 на Wayback Machine (англ.) Free On-line Dictionary of Computing
- от 2 февраля 2017 на Wayback Machine (англ.) Free On-line Dictionary of Computing
- от 2 февраля 2017 на Wayback Machine (англ.) Free On-line Dictionary of Computing
- от 2 февраля 2017 на Wayback Machine (англ.) Free On-line Dictionary of Computing
- от 2 февраля 2017 на Wayback Machine (англ.) Free On-line Dictionary of Computing
- от 21 декабря 2016 на Wayback Machine (англ.)
- от 3 февраля 2017 на Wayback Machine (рус.)
- от 17 июля 2014 на Wayback Machine (рус.)
- 2020-07-09
- 1