Файл: Классификация языков программирования высокого уровня.pdf
Добавлен: 22.04.2023
Просмотров: 118
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Основные понятия алгоритма, программы, языков программирования
Глава 2. Поколения развития языков программирования
ГЛАВА 3. Классификация языков программирования высокого уровня
3.1.1. Трансляторы – интерпретаторы и компиляторы языков высокого уровня
3.2. Процедурные и непроцедурные языки высокого уровня
Глава 4. Краткий обзор языков программирования высокого уровня
При этом различие состоит в повышении эффективности труда разработчиков за счет абстрагирования от конкретных деталей аппаратного обеспечения. Одна инструкция (оператор) языка высокого уровня соответствовала последовательности из нескольких низкоуровневых инструкций, или команд.[8]
________________________
[2] Методы программирования. Компьютерные вычисления /А. В. Могилев, Л. В. Листрова. — СПб.: БХВ-Петербург, 2008. — С.13.
[5] Семакин И. Г., Шестаков А. П. Основы программирования: Учебник. — М.: Мастерство, 2002. –С23.
[3] Программирование на языках высокого уровня: учебное пособие/ О.Л. Голицына, И.И. Попов. – М.: ФОРУМ, 2017. – С.4.
[8] Введение в теорию программирования. Функциональный подход. Лекция 2: Классификация языков программирования. URL:https://www.intuit.ru/studies/courses/39/39/lecture/1153?page=2. (дата обращения 09.02.2018).
Важной особенностью ЯВУ стала возможность повторного использование ранее написанных программных блоков (подпрограмм), выполняющих те или иные действия, путем их идентификации и последующего обращения к ним по имени [3].
Такие блоки получили название функций или процедур, и программирование приобрело более упорядоченный характер [8].
Кроме того, с появлением языков высокого уровня зависимость реализации от аппаратного обеспечения существенно уменьшилась. Платой за это стало появление специализированных программ, преобразующих инструкции языков в коды той или иной машины, или трансляторов, а также некоторая потеря в скорости вычислений, которая, впрочем, компенсировалась существенным выигрышем в скорости разработки приложений и унификацией программного кода.
Нужно отметить, что операторы и ключевые слова новых языков программирования были более осмысленными, чем безликие цифровые последовательности кодов, что также обеспечивало повышение производительности труда программистов [8].
Понятная большинству пользователей структура этих языков привлекла к написанию небольших программ (как правило, инженерного или экономического характера) значительное число специалистов из некомпьютерных областей. Подавляющее большинство языков этого поколения успешно применяется и сегодня [6].
С начала 70-х годов по настоящее время продолжается период языков четвертого поколения. Эти языки предназначены для реализации крупных проектов, повышения их надежности и скорости создания. Они обычно
________________________
[3] Программирование на языках высокого уровня: учебное пособие/ О.Л. Голицына, И.И. Попов. – М.: ФОРУМ, 2017. – С.4.
[8] Введение в теорию программирования. Функциональный подход. Лекция 2: Классификация языков программирования. URL:https://www.intuit.ru/studies/courses/39/39/lecture/1153?page=2. (дата обращения 09.02.2018).
[6] Учебник: Информатика: Базовый курс 20.1. языки программирования: http://uchebnik.biz/book/62-informatika-bazovyj-kurs/96-201-yazyki-programmirovaniya.html . (дата обращения 13.02.2018)
ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного кода [6] .
К языкам программирования четвёртого поколения чаще всего относят языки объектно-ориентированные, декларативные (непроцедурные) и визуальные. Но эти языки с уверенностью можно отнести и к языкам третьего поколения. Также очень часто сюда относят языки запросов, например, SQL. Вообще, часто можно прочитать о том, что языки программирования четвёртого поколения – это языки, встроенные в определённую программную оболочку и используемые для узкоспециализированных задач, например, для создания баз данных и управления ими (встроенные языки систем управления базами данных). Вернее сказать, что языки программирования четвёртого поколения – логичное развитие языков третьего поколения, упрощающее работу программистов ввиду того, что в основе своей эти языки встроены в собственную программную оболочку с функциями, помогающими разработчикам. Также к языкам четвёртого поколения нужно отнести языки параллельного программирования, ориентированные на создание программных средств многопроцессорной архитектуры [7].
Языки четвертого поколения – это ЯВУ усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных [14].
________________________
[6] Учебник: Информатика: Базовый курс 20.1. языки программирования: http://uchebnik.biz/book/62-informatika-bazovyj-kurs/96-201-yazyki-programmirovaniya.html . (дата обращения 13.02.2018)
[7] Быканов Н.П. Классификация языков программирования // Международный журнал социальных и гуманитарных наук. – 2016. – Т. 5. №1. – С. 229-232. URL:: http://intjournal.ru/klassifikatsiya-yazykov-programmirovaniya. (дата обращения 09.02.2018).
[14] Язык программирования и их классификация С.2. URL: http://megapredmet.ru/1-44152.html (дата обращения 09.02.2018 ).
Рождение языков пятого поколения произошло в середине 90-х годов. К ним относятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладывается в эти языки, — возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием [6].
Языки пятого поколения, теоретически, должны ещё больше упростить и ускорить работу программистов: целью этих языков является переложить значительную часть работы с человека на компьютер. Чаще всего сюда относят языки экспертных систем, баз знаний [7].
Языки пятого поколения – это языки программирования для Интернета – скрипт-языки – HTML, Perl, PHP, XML, JavaScript, VBScript [17].
Рассмотрев поколения языков программирования, можно сказать, что языками высокого уровня являются все языки программирования, начиная с третьего поколения.
Развиваются старые языки программирования, разрабатываются новые. Необходимо языки программирования классифицировать [7]. В следующей главе будет рассмотрена классификация языков программирования высокого уровня, даны их характерные признаки.
________________________
[6] Учебник: Информатика: Базовый курс 20.1. языки программирования: http://uchebnik.biz/book/62-informatika-bazovyj-kurs/96-201-yazyki-programmirovaniya.html . (дата обращения 13.02.2018)
[7] Быканов Н.П. Классификация языков программирования // Международный журнал социальных и гуманитарных наук. – 2016. – Т. 5. №1. – С. 229-232. URL:: http://intjournal.ru/klassifikatsiya-yazykov-programmirovaniya. (дата обращения 09.02.2018).
[17] https://infourok.ru/konspekt-lekciy-po-discipline-informatika-na-temu-yaziki-programmirovaniya-2721699.html (дата обращения 09.02.2018).
ГЛАВА 3. Классификация языков программирования высокого уровня
3.1. Машинные, машинно-ориентированные, машинно-независимые языки, языки программирования низкого уровня и высокого уровня
На данный момент существует несколько различных классификаций языков программирования по отдельным признакам, и каждый автор толкует их по-своему, по-своему распределяя языки по классам [7].
Прежде всего, языки программирования нужно классифицировать по уровням. Разные авторы разбивают языки либо на три уровня (машинные, машинно-ориентированные и машинно-независимые языки), либо на два уровня (языки программирования низкого уровня, языки программирования высокого уровня) [7].
Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные отдельные прикладные области обработки информации, называют языками высокого уровня [10].
Любой алгоритм, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования – чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
- машинные;
- машинно-оpиентиpованные (ассемблеры);
- машинно-независимые (языки высокого уровня) [4].
________________________
[7] Быканов Н.П. Классификация языков программирования // Международный журнал социальных и гуманитарных наук. – 2016. – Т. 5. №1. – С. 229-232. URL:: http://intjournal.ru/klassifikatsiya-yazykov-programmirovaniya. (дата обращения 09.02.2018).
[10] Лекция 8. ЯЗЫКИ ПРОГРАММИРОВАНИЯ. URL: https://studfiles.net/preview/1494785/ (дата обращения 13.03.2018).
[4] Основы алгоритмизации и программирования : учебное пособие Г. Р. Кадырова. – Ульяновск : УлГТУ, 2014. – С.14..
В случае деления языков программирования на три уровня, низшим уровнем будет являться машинный код – набор команд, выполняемых конкретным процессором и разработанных специально для него. Средним уровнем будут являться машинно-ориентированные языки, то есть языки, призванные управлять непосредственно командами процессора, но более доступным для человеческого восприятия языком. Примером являются языки ассемблера. Как правило, язык ассемблера использует особенности конкретного семейства процессоров. Высшим же уровнем будут считаться машинно-независимые языки. Они разработаны для удобства восприятия, быстроты понимания и работы с ними [7].
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека [4].
ЯВУ характеризовались следующими чертами:
- от пользователя не требуется знания машинного языка;
- язык не связан с определенным типом ЭВМ, поэтому обеспечивает перевод программ с одной ЭВМ на другую;
- одна инструкция ЯВУ переводится в несколько команд машинного кода;
- выражения языка соответствуют области его применения и представляют собой жесткую табличную форму [3].
В современной классификации языков программирования по уровням всё чаще используют деление на два уровня: языки высокого и низкого уровней [7].
________________________
[7] Быканов Н.П. Классификация языков программирования // Международный журнал социальных и гуманитарных наук. – 2016. – Т. 5. №1. – С. 229-232. URL:: http://intjournal.ru/klassifikatsiya-yazykov-programmirovaniya. (дата обращения 09.02.2018).
[4] Основы алгоритмизации и программирования : учебное пособие Г. Р. Кадырова. – Ульяновск : УлГТУ, 2014. – С.14..
[3] Программирование на языках высокого уровня: учебное пособие/ О.Л. Голицына, И.И. Попов. – М.: ФОРУМ, 2017. – С.4.
Классификацию языков программирования по уровням можно представить с помощью рисунка 1.
Языки программирования
Низкого уровня
Высокого уровня (машинно-независимые)
машинно-оpиентиpованные (ассемблеры)
Машинные коды
Рис.1 Классификация языков программирования по уровням
3.1.1. Трансляторы – интерпретаторы и компиляторы языков высокого уровня
Существенное сокращение зависимости программ от аппаратного обеспечения было достигнуто за счет появления специализированных программ-трансляторов, преобразующих конструкции ЯВУ в коды конкретной вычислительной машины [3].
Работа всех трансляторов строится по одному из двух принципов: интерпретация или компиляция [4].
Транслятор, работающий по принципу компиляции, называется компилятором; транслятор, работающий методом интерпретации, — интерпретатором.
Интерпретатор в течение всего времени работы программы находится во внутренней памяти. В ОЗУ помещается и программа на ЯПВУ. Интерпретатор в последовательности выполнения алгоритма «читает» очередной оператор программы, переводит его в команды и тут же выполняет эти команды. Затем переходит к переводу и выполнению следующего оператора [5].