Файл: Классификация языков программирования высокого уровня (Классификация языков программирования высокого уровня).pdf
Добавлен: 18.05.2023
Просмотров: 308
Скачиваний: 3
СОДЕРЖАНИЕ
1. ОСНОВНЫЕ ПОНЯТИЯ, СОСТАВНЫЕ ЭЛЕМЕНТЫ И КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1. Языки программирования высокого уровня
1.2. Классификация языков программирования высокого уровня
3. СРАВНИТЕЛЬНЫЙ АНАЛИЗ САМЫХ ВОСТРЕБОВАННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
3.1. Рейтинг популярных языков программирования в России и США
б) Проблемно-ориентированные- используются как средство решения отраслевых и прикладных задач, формируемых при расширении областей применения ПК. Этот вид делится еще на два подвида: функциональный и логический.
- функциональное программирование представляет собой способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы па части является введение имени для функции, а единственным правилом композиции - оператор суперпозиции функции.
Роль основной конструкции в функциональных языках играет выражение. К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из Х^ в X, где Х -множество выражений.
Аппликативный язык программирования включает в себя:
а) классы констант, которыми могут манипулировать функции;
б) набор базовых функций, которые программист может использовать без предварительного объявления и описания;
в) правила построения новых функций из базовых;
г) правила формирования выражений на основе вызовов функций.
Программа представляет собой совокупность описаний функций и выражения, которые необходимо вычислить. Данное выражение вычисляется посредством редукции, то есть серии упрощений, до тех пор, пока это возможно по следующим правилам: вызовы базовых функций заменяются соответствующими значениями; вызовы небазовых функций заменяются их телами, в которых параметры замещены аргументами.
Программирование не использует концепцию памяти как хранилища значений переменных. Операторы присваивания отсутствуют, вследствие чего переменные обозначают не области памяти, а объекты программы, что полностью соответствует понятию переменной в математике. Можно составлять программы и вообще без переменных, помимо этого, нет существенных различий между константами и функциями, то есть между программами и данными. То есть функция может быть значением вызова другой функции и может быть элементом структурированного объекта. Число аргументов при вызове функции не обязательно должно совпадать с числом параметров, указанных при ее описании. Перечисленные свойства характеризуют аппликативные языки как языки программирования очень высокого уровня. [8]
- логическое программирование открыло появление языка Prolog (Пролог) (PROgramminginLOGic- программирование в терминах логики). Этот язык был создан французским ученым А. Кольмероэ в 1973 году. В настоящее время известны и другие языки, но наиболее развитым и распространенным языком логического программирования является Пролог. Существует свыше 15 различных его реализации на ПЭВМ. Языки логического программирования, в особенности Пролог, широко используются в системах искусственного интеллекта.
Основным понятием логического программирования является отношение. Программа представляет собой совокупность определений и отношений между объектами (в терминах условий или ограничений) и цели запроса. Процесс выполнения программы характеризуется как процесс общей значимости логической формулы, построенной из программы по правилам, установленным смысловым значением используемого языка. Результат вычисления является сторонним продуктом этого процесса. В реляционном программировании нужно только определить факты, на которых алгоритм основывается, а не определять последовательность шагов, которые требуется выполнить. Это свидетельствует о декларативности языка логического программирования. Она наиболее точно выражена в формуле Р. Ковальского: «алгоритм = логика + управление». Языки логического программирования характеризуются:
- высоким уровнем;
- строгой ориентацией на символьные вычисления;
- возможностью инверсных вычислений, то есть переменные в процедурах не делятся на входные и выходные;
- возможной логической неполнотой, поскольку зачастую невозможно выразить в программе определенные логические соотношения, а также невозможно получить из программы все выводы правильные.
Логические программы, в принципе, имеют небольшую скорость действий, так как вычисления осуществляются методом проб и ошибок, поиском с возвратами к предыдущим шагам, так как это указанно в учебном пособии Я. А. Ваграменко «Основы информатики и вычислительной техники с применением к лингвистике» [9]
в) Объектно-ориентированное программирование (ООП) - это тип программирования, в рамках которой «во главу угла» ставят понятия объектов и классов.
Объектно-ориентированные- могут быть частными случаями языков первых двух типов, но которые все же адаптируются к пользованию широким кругом разработчиков с разным уровнем подготовки, к примеру, в виде решения с визуальным интерфейсом. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов чуть проще, чем в форме взаимодействующих процедур.
Стоит сразу определить основные понятия класса и объекта:
Класс - это шаблон, описание ещё не созданного объекта. Класс содержит данные, которые описывают строение объекта и его возможности, методы работы с ним;
Объект — экземпляр класса. То, что «рождено» по «чертежу», то есть по описанию из класса. В качестве примера объекта и класса можно привести технический чертёж для изготовления детали - это класс. Выточенная же на станке по размерам и указаниям из чертежа деталь - объект.
Появление объектно-ориентированного программирования стало результатом возросших требований к функционалу программ, когда описывать объект приходилось раз за разом в разных участках кода. Тогда и было введено понятие класса, параметры которого задавались единожды, а после в коде оставлялись только ссылки на класс, чтобы код самостоятельно «собрал» объект.[10]
Определяющие факторы классификации обычно жестко не фиксируются. Чтобы продемонстрировать характер типичной классификации обратимся к учебнику под редакцией Т. Пратт и М. Зелковиц «Языки программирования: разработка и реализация» и опишем наиболее часто применяемые факторы, дадим им условные названия и приведем примеры языков программирования (ЯП) для каждой из классификационных групп в таблице 1.
1. Классификация языков программирования по группам[11]
|
Фактор |
Характеристика |
Группы |
Примеры ЯП |
|
Уровень языков программирования |
Степень близости ЯП в архитектуре компьютера |
Низкий |
Автокод, ассемблер |
|
Высокий |
Fortan, Pascal, Ada, Basic, C и др. языки высокого уровня |
||
|
Сверхвысокий |
SETL |
||
|
Специализация языков программирования |
Потенциальная и реальная область применения |
Общего назначения (универсальные) |
Algol, Pl/1, Simula, Basic, Pascal |
|
Специализированные |
Fortan (инженерные расчеты);Cobol ( задачи); , Lisp ( обработка); , Ada(программирование в времени) |
Продолжение таблицы 1
|
Фактор |
Характеристика |
Группы |
Примеры ЯП |
|
Алгоритмичность (процедурность) |
абстрагироваться от алгоритма задачи. Алгоритмичность тем выше, чем приходится порядок действий. |
Ассамблер, , Pascal, Ada, |
|
|
Непроцедурные |
, Langin |
2. РАЗВИТИЯ ПРОГРАММИРОВАНИЯ
2.1. История развития
развития высокого В 20-х XIX века была мысль о записи действий для последующей реализации - программе. Хотя Бэббиджем программы на , придуманная для ткацкими французским Жозефом , технически не ничего с современными хранения в ЭВМ, принцип один. С момента история . Аду Лавлейс, из немногих Чарльза , кто сумел по оценить машину, первым в программистом. Она разработала приемы последовательностью , которые в программировании и по сей , описала из важнейших практически современного программирования - .[12]
Языки стали уже с середины 50- годов. из первых такого стал Фортран (. FORTRAN от TRANslator - формул), в 1957 . Фортран для описания решения задач с ЦВМ. Так же, как и первые машины, язык , в основном, для научных и расчётов.
В виде язык до нашего . Среди языков уровня он одним из используемых при научных . Наиболее варианты , Фортран-IV, Fortran и их .
После в 1958-1960 появился Алгол (-58, Алгол-60) (. ALGOL от Language - язык). был усовершенствован в годах - -68. Алгол был комитетом, в входили и американские . Он относится к высокого и позволяет переводить формулы в команды. был популярен в , в том числе , в то время как с ним Фортран был в США и Канаде.
оказал влияние на все позднее программирования, и, в , на язык . Этот так же, как и Фортран, для решения задач. того, язык как средство основам - искусства программ.
под понятием подразумевается Алгол-60, в то как Алгол-68 как самостоятельный . Даже язык почти использоваться для , он ещё оставался языком для алгоритмов.
В - 1960 был разработан Кобол (. COBOL от Business Language - язык, на бизнес). Это программирования поколения, , в первую , для разработки приложений. Кобол для решения задач, данных для , страховых и других подобного . Разработчиком единого Кобола Грейс (бабушка Кобола).
обычно за многословность и , поскольку из целей языка максимально конструкции к языку. И до сих пор считается программирования, на было н больше строк . В то же время, имел для своего средства для со структурами и файлами, что ему долгую в бизнес , по крайней , в США.
Почти с Коболом - 1960 гг.) в техн институте был язык (англ. от LISt - обработка ). Лисп был на представлении системой списков , которые являются ой структурой языка. К же он считается после старейшим языком . Этот широко для обработки информации и для создания обеспечения, деятельность мозга.
программа на состоит из выражений. работы состоит в этих . Все выражения сываются в списков - из основных Лиспа, они могут быть посредством языка. Что создавать , изменяющие программы или , которые в очередь существенно возможности .[13]
В середине 60- годов г.) в Дартмутском (США) был язык (англ. от Beginner's Instruction - всецелевой код инструкций для ). Со временем, стали другие , этот «» диалект называть BASIC. был основан на Фортран II и на Алгол-60, с , делающими его для работы в разделения и, позднее, текста и арифметики. Бейсик был на мейнфрейме -265 с поддержкой терминалов. распространённому в момент появления это был язык.
был спроектирован так, студенты писать , используя с разделением . Он создавался как для проблем, со сложностью старых . Его предназначение для более «» пользователей, не заинтересованных в программ, просто в использовать для решения задач. В простоты Бейсик начинающие начинают с свой в программировании.[14]
В 60-х - 70-х появился Форт (. FOURTH - ). Этот стал в задачах различными после , как его автор Мур написал на нём , предназначенную для радиотелескопом обсерватории.
Ряд , а именно , гибкость и разработки Форт привлекательным и языком в исследованиях и при инструментальных . Основными применения языка встраи системы . К тому же он применение при компьютеров под различных систем.
в 1972 язык был назван так в великого математика века, первой в арифметической Блеза . Этот был создан учёным, в области Никлаусом как язык для методам . Паскаль - это программирования назначения.
языка строгая и наличие структурного () программирования. был одним из таких . По мнению , язык способствовать программирования, , наряду со типизацией, в сведены к возможные неоднозначности, а сам интуитивно даже при знакомстве с .
Язык учит как разработать решения и подобрать представления и данных, в задаче. С года Паскаль в учебные информатики школ США.[15]
На языка в конце 70- годов был язык Ада, в честь математика Ады (Огасты Ады - дочери Байрона). она в 1843 смогла миру Аналитической Чарльза . Язык Ада был по заказу обороны США и предназначался для задач космическими . Этот применяется в управления системами кораблей, обеспечения космонавтов в , сложными процессами.
- это структурный, , объектно-ориентированный программирования, высокоуровневые программирования процессов. Ады унаследован от типа или Pascal, но , а также более и логичным. Ада - со строгой , в нём исключена с объектами, не типов, а преобразования сведены к минимуму.[16]
По Стефена , разработка обеспечения на Аде в обходится на 60 % , а разработанная имеет в 9 раз дефектов, чем при языка Си.
В время среди является Си (С - буква алфавита). Си берёт начало от языков - и B. В 1967 Мартин разработал как язык для системного обеспечения и . В 1970 Кен Томпсон язык B для ранних операционной UNIX на DEC PDP-7. Как в , так и в В переменные не на типы - значение занимало слово в и ответственность на , например, и действительных целиком на плечи .