Поколения языков компьютерного программирования

Поколения языков программирования

Языки программирования принято делить на пять поколений. Термин «поколение» обобщает основные эволюционные достижения в языках программирования. Языки первого поколения были базовыми инструкциями данных для выполнения процессорами. 2GL используют ассемблер для преобразования языковых инструкций в машинный язык. 3GL используют операторы языка высокого уровня, которые преобразуются компилятором в конкретные операторы языка программирования. 3GL, такие как C и Java, требуют значительных навыков и знаний в области программирования.

Первое поколение

К первому поколению (1GL) относят машинные языки — языки программирования на уровне команд процессора конкретной машины. Для программирования не использовался транслятор, команды программы вводились непосредственно в машинном коде переключателями на передней панели машины. Такие языки были хороши для детального понимания функционирования конкретной машины, но сложны для изучения и решения прикладных задач.

Термины «первое поколение» и «второе поколение» были введены одновременно с термином «третье поколение». Фактически, эти термины в то время не использовались. С появлением языков высокого уровня, языки ассемблера стали относить к первому поколению языков.

Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера, в программу на машинном языке.

Второе поколение

Язык программирования второго поколения (2GL) также известен как язык ассемблера. Эти архаичные языки программирования были популярны в конце 1950-х годов. 2GL использует буквы алфавита, поэтому программирование технически проще, чем просто использование сложных рядов нулей и единиц. 2GL предлагают различные мнемоники ассемблера, что облегчает программистам запоминание кодов. Сегодня они, как правило, не используются широкой публикой, но некоторые языковые программы третьего поколения (3GL) все еще используются.

Структуры второго поколения основаны на структурах первого, но структуры данных используют простые обобщения, такие как динамические массивы и различные нижние границы. Как и первое поколение, они по-прежнему линейны и тесно основаны на режимах машинной адресации. 2GL обычно имеют сильные встроенные типы, иерархические структуры имен и лучший контроль пространств имен, что позволяет эффективно распределять динамическую память. Это связано с тем, что иерархическое структурирование увеличивает поток управления, что устраняет необходимость в запутанных сетях.

Трансля́тор — программа или техническое средство, выполняющее трансляцию программы

Эти структуры управления предлагают рекурсивные процедуры, режимы передачи параметров и синтаксические структуры. 2GL используют политики слов, которые устанавливают правила для ключевых слов в контексте. Во время своего пика популярности многие программисты второго поколения воспользовались неограниченной функциональностью обобщения, что привело как к желаемым результатам, так и к нежелательным последствиям. Эти языки специфичны для определенного типа семейства процессоров и процессорной среды. Иногда они используются в ядрах и драйверах устройств для создания игр и графики, требующих интенсивной обработки.

код программирование

Существует очень ограниченное количество профессий, доступных для тех, кто хочет программировать на 2GL и 3GL. Иногда они все еще используются для устаревших бизнес-систем, промышленных машин и производственных консолей. Например, в системах промышленного производства и производства пиломатериалов по-прежнему используются архаичные программы третьего поколения. Программист может найти работу в аналогичных отраслях по обслуживанию, устранению неполадок и программированию старых систем.

Эти компьютерные программисты иногда работают в офисе, пишут и проектируют программное обеспечение, которое управляет автоматизированными промышленными машинами и оборудованием. Но, в отличие от большинства компьютерных программистов, они проводят много времени на производстве, устраняя неполадки в оборудовании.

Они должны оптимально делегировать задачи станка, процедуры подачи, выбор инструмента, траектории движения продукта и шаблоны форм. Они будут полагаться на графические пользовательские интерфейсы для проектирования и разработки новых решений, а также для проведения ежедневной калибровки и диагностики. Иными словами, 2GL — это устаревшее программное решение, которое было заменено эффективными и удобными для пользователя альтернативами.

Третье поколение

Под третьим поколением (3GL) первоначально понимались все языки более высокого уровня, чем ассемблер. Главной отличительной чертой языков третьего поколения стала независимость от аппаратного обеспечения, то есть выражение алгоритма в форме, не зависящей от конкретных характеристик машины, на которой он будет исполняться. Код, написанный на языке третьего поколения, перед исполнением транслируется либо непосредственно в машинные команды, либо в код на ассемблере и затем уже ассемблируется. При компиляции, в отличие от предыдущих поколений, уже нет соответствия один-к-одному между инструкциями программы и генерируемым кодом.

Интерпретатор — программа (разновидность транслятора), выполняющая построчный анализ, обработку и выполнение исходного кода программы или запроса.

Стала широко использоваться интерпретация программ — при этом инструкции программы не преобразуются в машинный код, а исполняются непосредственно одна за другой. Независимость от «железа» достигается за счёт использования интерпретатора, скомпилированного под конкретную аппаратную платформу.

Четвертое поколение

Термин языки программирования четвёртого поколения (4GL) лучше представлять как среды разработки четвёртого поколения. Они относятся к временному периоду с 1970-х по начало 1990-х.

Языки этого поколения предназначены для реализации крупных проектов, повышают их надежность и скорость создания, ориентированы на специализированные области применения, и используют не универсальные, а объектно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. В эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного кода. Языки четвертого поколения (4GL) очень похожи на человеческую грамматику и язык. Эти языки часто используются для доступа к базам данных. 

Пятое поколение

Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Основная идея была заключена в возможности автоматического формирования результирующего текста на универсальных языках программирования (который необходимо откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.

Языки пятого поколения (5GL) используют графический интерфейс для создания языковых инструкций, которые компилируются с помощью компилятора 3GL или 4GL. Некоторые из крупнейших компьютерных компаний, такие как IBM и Microsoft, выпускают решения для визуального программирования пятого поколения для создания новых приложений. Программирование с помощью визуального интерфейса позволяет пользователям легко понимать и выполнять задачи объектно-ориентированного программирования.

Самые используемые языки программирования

В первую пятерку самых распространенных языков программирования, по версии IEEE Spectrum, входят Python, Java, C, C++ и JavaScript, а вторая пятерка состоит из языков R, Arduino, Go, Swift и Matlab. От рейтинга топ-10 IEEE Spectrum образца 2019 г. данный перечень практически не отличается, разве что Matlab был на одну строчку впереди GO, а седьмую строчку занимал C#, в 2020 г. оказавшийся на 23 месте.

Вопрос-ответ

Какой самый популярный язык программирования в России

В 2021 году, по версии JB, самый популярный ЯП в России — JavaScript. Одним из основных или основным его назвали 28% российских программистов; за последний год с ним работали 56% участников опроса. JavaScript популярнее среди программистов Украины и Беларуси: основным его указали 38 и 36% опрошенных соответственно.

Какие языки программирования относятся к языкам высокого уровня?

Примеры: C++, C#, Delphi, Fortran, Java, JavaScript, Лисп, Паскаль, PHP, также Ruby, Python, Perl, которые иногда называют сверх высокоуровневыми.
Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.
 

Какие языки нужны для веб-программирования?

Чтобы верстать UI, веб-разработчики обязательно изучают HTMLCSS и JavaScript. Бэкенд-специалисту нужно добавить к этому один или несколько других языков программирования — например, PHP, Java, Python, Go, C# или Ruby.

Источники:

  • https://ru.m.wikipedia.org/
  • https://www.cnews.ru/news/top/2020-07-27_nazvany_samye_populyarnye
  • https://habr.com/ru/company/skillfactory/blog/593025/

 

Рейтинг
( 5 оценок, среднее 4.2 из 5 )
Понравилась статья? Поделиться с друзьями:
Инфоучка
Добавить комментарий

ninety eight − = 95

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: