Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Классификация языков программирования высокого уровня (Классификация языков программирования высокого уровня)

Содержание:

ВВЕДЕНИЕ

Целью данной курсовой работы является изучение такого вопроса, как классификация языков программирования высокого уровня, а также тенденции их развития. Данная тема была выбрана потому, что языки программирования это основа прграммирования, без которой не возможно было бы с легкостью создавать записи компьютерных программ. Чем выше уровень языка, тем легче на нем писать программу. Такой язык более понятен человеку, так как позволяет с помощью простых смысловых конструкций задавать необходимую последовательность действий. После создания программы происходит ее компиляция- то есть автоматический перевод в понятный процессору язык машинных кодов. Поэтому основными задачами курсовой работы является:

- изучение основных понятий, составных элементов и классификации языков программирования

- исследовать тенденции развития языков программирования

- проанализировать наиболее востребованные языки программирования в России и США

Предметом исследования данной курсовой работы является изучение процедур, функции и подпрограмм в языках программирования высокого уровня, а также основных подходов к их созданию.

Актуальность данной темы в том, что прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования.

Языки программирования высокого уровня были созданы для того, чтобы преодолеть недостатки низкоуровневого программирования. Они позволяют использовать различные операции, не заботясь о деталях их реализации на конкретной архитектуре. Программы при этом оказываются более короткими, надежными и универсальными, а процесс их составления проще разобраться.

В первой главе курсовой работы была использована информация из учебных пособий, таких как «Начальный курс программирования» Б.И. Березина и С.Б.Березина, а так же Н.В. Макаровой «Информатика», и др.. С помощью учебного пособия А.И. Бочкина и Т. Пратт, была произведена классификация языков программирования, благодоря информации взятой в учебнике Ваграменко, были рассмотрены сферы их применения, вкратце изложены их основные особенности, достоинства и недостатки.

Тенденции развития языков программирования во второй главе курсовой работы, были проанализированы при помощи данных взятых из учебников А.В. Могилевой «Методы программирования. Компьютерные вычисления», И.Г. Семакина «Основы программирования», в котором рассмотрен язык программирования Ада, В.П. Дьяконова «Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ», который помог разобраться в основах языка Бейсик, С.А. Орлова «Теория и практика языков программирования» пояснил для чего был основан язык Java, а так же и другие издания. Обзор и анализ особенностей применения языков программирования удалось изучить благодаря такой литературе как : В.Р. Фазылов «Руководство по основам программирования», А.Ю. Бураго «Язык для микропроцессоров», А.О. Коцюбинский «Хрестоматия работы на компьютере», Г.И. Светозарова «Программирование: Практикум по программированию на языке Бейсик» и др. учебных пособий, при помощи которых был проведен анализ достоинств и недостатков языков прграммирования высокого уровня, и рассмотрены примеры программ на данных языках.

В третьей главе при использовании данных из электронных ресурсов – «Cамые высокооплачиваемые языки программирования по мнению издания Quartz» URL: http://itmentor.by/articles/top-12-samyh-vysokooplachivaemyh-yazykov-programmirovaniya-po-mneniyu-izdaniya-quartz и «Рейтинг языков программирования 2017 года» URL: http://itmozg.ru/news/1286/ был проведен анализ спроса на язков программирования в России и США, и определены самые востребованные из них.

1. ОСНОВНЫЕ ПОНЯТИЯ, СОСТАВНЫЕ ЭЛЕМЕНТЫ И КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1. Языки программирования высокого уровня

Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит компьютер под её управлением. Данное определение было представлено в учебнике Н.В. Макаровой «Информатика», которое явно раскрывает сущность самого понятия. [1]

Высокоуровневый язык программирования – язык программирования, разработан для быстроты и удобства использования. Термин «высокоуровневый» здесь означает, что язык предназначен для решения абстрактных высокоуровневых задач и оперирует не инструкциями к оборудованию, а логическими понятиями и абстракцией данный. Это позволяет быстрее программировать сложные задачи и обеспечивает относительную независимость от оборудования.[2]

Основные требования, предъявляемые к языкам программирования:

а) наглядность - использование в языке уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ;

б) единство - использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным;

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

г) модульность - возможность описания сложных алгоритмов в виде совокупности простых модулей, которые могут быть составлены отдельно и использованы в различных сложных алгоритмах;

д) однозначность - недвусмысленность записи любого алгоритма. Отсутствие ее могло бы привести к неправильным ответам при решении задач.

В настоящее время в мире существует несколько сотен уже используемых языков программирования. Для каждого есть своя область применения.[3]

Важным преимуществом языков высокого уровня является их универсальность, независимость от ЭВМ. Программа, написанная на таком языке, может выполняться на разных машинах. Разработчику программы не нужно знать систему команд ЭВМ, на которой он предполагает проводить вычисления. При переходе на другую ЭВМ программа не требует переделки. Такие языки – не только средство общения человека с машиной, но и людей между собой. Программа, написанная на языке высокого уровня, легко может быть понята любым специалистом, который знает язык и характер задачи.

Исходя из этого, можно сформулировать основные преимущества языков высокого уровня перед машинными:

а) алфавит языка высокого уровня значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;

б) набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;

в) формат предложений достаточно гибок и удобен для использования, что позволяет с помощью одного предложения задать достаточно содержательный этап обработки данных;

г) требуемые операции задаются с помощью общепринятых математических обозначений;

д) данным в языках высокого уровня присваиваются индивидуальные имена, выбираемые программистом;

е) в языке может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором машинных типов данных.

Высокоуровневые языки в по своей специфике являются машинно-независимыми. Они облегчают работу программиста и повышают надежность создаваемых программ.

Основные компоненты алгоритмического языка:

а) алфавит,

б) синтаксис,

в)семантика.

Алфавит — это фиксированный для данного языка набор основных символов, "букв алфавита", из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются.

Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. По правде говоря, синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются рациональными предложениями на этом языке.

Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика указывает, какие последовательности действий описываются теми или иными фразами языка и, какой алгоритм определен данным текстом на алгоритмическом языке.

Семантику каждого языка программирования можно условно поделить на "область пересечения" (общие для всех языков конструкции) и "область объединения" (нестандартные для данного языка конструкции).

Из учебника «Основы информатики и вычислительной техники» В.В. Гедрановича и Ю.В. Змеевой стало известно, что использование разнообразных трансляторов и интерпретаторов обеспечивает связь программ, написанных при помощи языков высокого уровня, с различными операционными системами и различным аппаратным оборудованием, в то время как их исходный текст остаётся, в большей части, неизменным.[4]

Высокоуровневый язык не даёт возможности создания точных инструкций оборудованию. Таким образом, программы, написанные на языках высокого уровня, проще для понимания программистом, но гораздо менее эффективны, чем их аналоги, написанные при помощи низкоуровневых языков. В частности, поэтому в большинство профессиональных высокоуровневых языков программирования сегодня встроена поддержка того или иного языка низкого уровня – языка ассемблера.

Большинство современных компиляторов позволяют комбинировать в одной программе, код написанный на разных языках программирования. Что позволяет быстро писать сложные программы, используя язык высокого уровня, не теряя скорости действий в критических ко времени задачах, применяя для них части написанные на языке ассемблера.

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

Многие современные компиляторы работают в два этапа. На первом этапе каждый файл программы компилируется в объектный модуль. А на втором объектные модули соединяются в готовую программу. Прелесть модульной компиляции состоит в том, что каждый объектный модуль будущей программы может быть полноценно написан на своем языке программирования и скомпилирован своим компилятором.[5]

1.2. Классификация языков программирования высокого уровня

Высокоуровневые языки программирования могут быть классифицированы по разным основаниям, к примеру, как это представлено на схеме:

Языки программирования высокого уровня

объектно-ориентированные

процедурно-ориентированные

проблемно-ориентированные

C++

Ada

Visual Basik

Java

Delphi

Prolog ++

Basic

Pascal

Fortran

Cobol

LISP

GPSS

Prolog

Схема. Классификация языков программирования

а) Процедурно-ориентированные (императивные) - испльзуются в качестве инструмента при обработке информации на любом этапе вычислений.

Императивное программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга». 

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

Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, а именно в результаты. То есть, имеются программа и память, причем первая последовательно обновляет содержимое последней. [6]

Процедурные языки характеризуются следующими особенностями: 

а) необходимостью явного управления памятью, в частности, описанием переменных; 

б) малой пригодностью для символьных вычислений; 

в) отсутствием строгой математической основы; 

г) высокой эффективностью реализации па традиционных ЭВМ. 

Одним из важнейших классификационных признаков процедурного языка является его уровень. Уровень языка программирования определяется семантической емкостью его конструкций и степенью его ориентации на программиста. Язык программирования частично ликвидирует разрыв между методами решения различного рода задач человеком и вычислительной машиной. Чем более язык ориентирован на человека, тем выше его уровень. [7]

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

- функциональное программирование представляет собой способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы па части является введение имени для функции, а единственным правилом композиции - оператор суперпозиции функции.

Роль основной конструкции в функциональных языках играет выражение. К выражениям относятся скалярные константы, структурированные объекты, функции, тела функций и вызовы функций. Функция трактуется как однозначное отображение из Х^ в 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. Как в , так и в В переменные не на типы - значение занимало слово в и ответственность на , например, и действительных целиком на плечи .

Язык Си был (на основе В) Ритчи из Laboratories и был реализован в году на DEC PDP-11. Си получил в языка ОС . Сегодня все основные системы написаны на Си или С++. По двух Си имеется в на большинстве . Он не зависит от части.

В 70-х Си превратился в то, что мы «традиционный Си». В году комитетом стандартов в компьютеров и информации был единый этого .

Этот имеет средства, писать программы, все возможности персональных .[17]

Ещё один , который языком , был создан в 70-х группой Марсельского . Это язык . Своё он получил от «ПРОграммирование на ЛОГики». В этого лежат математической . Как и язык , Пролог , в основном, при исследований в программной деятельности человека. В от описанных языков, язык не алгоритмическим. Он к так называемым (от англ. - описательный) - языкам. язык не от программиста всех выполнения . Вместо , в соответствии с такого , программист описать данных, решаемой , и набор , на которые получить , используя из этой .

Язык  (Джава, ) был создан Sun Microsystems в 90-х г на основе Си ++. Он был , чтобы разработку на основе Си ++ исключения из всех возможностей. Но особенность языка - не в машинный код, а в байт-код, т.е. ка команда один . Этот может с помощью - виртуальной - машины Virtual ), версии созданы для любых . Благодаря множества программы на можно не только на исходных , но и на уровне байт-кода, по популярности Ява сегодня второе в мире Бейсика.

внимание в этого уделяется направлениям: всевозможных устройств и , встраиваемых в технику и платформно-независимых модулей, работать на в глобальных и сетях с операционными (технология Beans). основной не этого – невысокая действий, так как Ява интерпретируемый.[18]

С# ( Шарп) был конце 90- годов в Microsoft, Андерса берга. В нем лучшие Си и Си ++, а также Java. С#, как и технологии , ориентирован на Windows, но он не отличается от универсальных , а корпорация планирует его . Язык С# для быстрой . NET-приложений, и его в системе Visual . NET содержит особенностей, С# к внутренней Windows и .NET.[19]

В последние в программировании и получил развитие подход. Это программирования, реальную мира: , используемая для задачи, в виде взаимодействующих . Каждый из имеет свойства и поведения. объектов при помощи сообщений: объект получать от других , запоминать и обрабатывать её способом и, в очередь, сообщения. Так же, как и в мире, хранят свойства и вместе, часть из них от объектов.

идеология во всех программных , включая системы.

объектно-ориентированный Simula-67 был как средство работы приборов и . Большинство языков - объектно-ориентированные. них последние языка , C++, Ada и другие.

В время используются визуального Visual , Visual C++, и другие. Они создавать прикладные , обладающие и удобным интерфейсом.[20]

В очередь, программирования уровня осуществлять взаимодействие с ПК вне от того, конкретно установлено на . При написании систем всего язык ания уровня. Но и операционные , которые на ассемблере.

пишут, и сопровождают. язык и преимущества, и . Критерии могут как объективные, так и . Иногда внешние , влияющие на . Например, особые предъявляет программного , но иногда фирма или организация, корыстные , искусственно тот или иной программирования.

входят в программирования уровня. В ключевых применения — «перевод» , формируемых на программирования уровня, в код, понятный аппаратному ПК, например, . К тому же, они данную , именуются компиляторами. другая соответствующих к — интерпретаторы, в свою предназначены для «» высокоуровневых в те, что понятны системе или программе.[21]

свойства, должны языки . Понятность языка – это , обеспечивающее лёг восприятия человеком. е свойство программирования от выбора слов и нотации, позволяла бы при текста легко основные каждой кон части , а также от ности модульных про. Высокая понятности языка позволяет находить . Под надёжностью степень обнаружения , которое быть транслятором. язык выявлять ошибок во трансляции , а не во время её .

Существует способов правильности программой функций:

а) формальных верификации ,

б) проверка чтения программы,

в) программы с наборами .

Гибкость программирования про в том, сколько ностей он программисту для всех , требуемых .

Простота обеспечивает понимания языковых и запоминания их . Простой предоставляет , простой и набор . Правда тельно при этом мальное различных с как можно простыми и матизированными их комбинирования, т.е. должен свойс концептуальной .

Естественность. должен такие данных, структуры и , а также такой , которые бы отражать в логические , лежащие в реализуемого .

Мобильность. , независимый от , предоставляет воз переносить с одной на другую. На добиться довольно , особенно в реального ни, в которых из задач языка в максимальном преимуществ машинного . [22]

Суммарная использования программирования вается из составляющих:

а) обучения определ степенью языка;

б) создания зависит от и системы рования, для реализации приложения;

в) трансляции тесно со стоимостью её . Совокупность , используемых для уменьшения и/или времени оттранслированной , называется . Чем выше оптимизации, тем получается программа и уменьшается её выполнения, но при возрастает трансляции;

г) выполнения особенно для программного систем времени;

д) сопровождения включает в затраты на дефектов и программы в с обновлением или расширением возможностей.

На языка часто влияют причины.

Каждый из ниже программирования для решения круга .[23]

К первому языков, используется для процедур или обработки относят:

а) Фортран (). Является из первых программирования уровня. К его достоинствам наличие числа библиотек, работы с , вещественными и числами точности, средств массивов.

К можно отсутствие отладки и поведения , сложность исходного . По сути, на момент является языком, для научных и вычислений.[24]

 программы,  строку «Hello, world!» на Fortan:

формат ( «␣» выделены в позициях с 1 по 6):

␣␣␣␣␣␣ hello

PRINT*, ', World!'

END

Свободный :

program

print *, ", World!"

end

.

Оператор не обязательным. обязательный Фортан- - оператор END.

описанных или букв для операторов произволен. С зрения стандартов Фортан, прописных и множество букв при операторов совпадают.

системы позволяют полученные в трансляции программы файлы с файлами от компиляторов с языков, что создавать гибкие и приложения. Для Фортан доступно количество , содержащих как решения вычислительных (LAPACK, IMSL, BLAS), организации вычислений (MPI, ), так и задач графических (Quickwin, FORTRAN/TK) или к СУБД (Oracle).[25]

б) язык (Basic).

достоинствами языка , простой , который в кратчайшие освоить язык , простота графического , возможность WinAPI , что значительно возможности .[26]

Одним из недостатков является то, что он только системы Windows, DOS и Mac OS X что сужает его применения. к недостаткам отнести скорость и отсутствие наследования зации .

Одним из распространенных языка стала интерпре QBasic корпорации Microsoft. годы она сь как бесплатное , входящее в системы системы MS-DOS и  Windows. В нем имелись мощные и звуковые , позволяющие на этом даже .

Бейсик версий ( с Turbo Basic и Visual Basic) резко от ранних . Фактически, это язык, во многом к Фортану или , чем к исходному . Основные версий 1990- годов в следующем:

а) от представления как неструктурированного пронумерованных . Номер превратился в метки, стали и перестали на порядок программы. ранее с номером 15 шла в программе строки с 20, то теперь исполнения определять расположения в исходном . Метки быть числовыми.

б) В появились подпрограммы с , механизм подпрограмм обычным: вызывается по с указанием фактических .

в) Были структурные конструкции, в для организации ветвлений и перестало необходимым оператора и меток .

г) Существенно номенклатура данных, возможность описывать обычных .

д) Стали типизирующие в именах , хотя их незапрещалось.

е) В поздних появилась исключений и элементов ООП.

ж) введены поддержки - появилась без «фокусов» ( динамической модулей с явных вызовов) программу на файлов кода.

з) средства для с цветной и звуковой .

Visual , ориентированный на Windows- с графическим пользователя, был интегрированным с дизайнером , что позволило писать программы .

и) Появились реализации, , FreeBasic и .

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

Фрагмент  программы на :

# Lang "fb"

Dim As n,s,t,n2,t2

Cls : Print " пожаловать!" ' в первой

Do

'Цикл, линию под , на всю ширину

For i As Integer=1 To (Width)

"="

Next i

' символьных от пользователя

"Имя: ",n

Input ": ",s

Input ": ",t

'Вырезаем первых из имени и

n2=Left(n,1)

t2=(t,1)

'Выводим

Print " имя кратко: "; s; " "; n2; ". "; t2; "."

"Повторить ? (y/n) "

Loop LCase((1))="y"

End 0

Несмотря на , в 2001 Microsoft от дальнейшей Visual   в пользу нового Visual Basic .NET – в этой язык был кардинально , и в текущем он практически по набору с языком С#, только синтаксиса и слова. образом,  перерос из с для создания любителям- до полноценного создания .

Помимо полноценных , Basic  применяется как для различных языков (, макросы в Microsoft Office пишутся на  VBA).

Интересные 

- В СССР, а и в России, Basic шуточное Васик- образованно прочтения в Basic латиницы в похожих на них кириллицы.

- В году Пол , молодой из Бостона, в со студентом Гарвардского университета Биллом Гейтсом программу, для микрокомпьютера 8800 Basic, использовав его для обеспечения компьютеров. Гейтс и основали фирму Microsoft.[27]

в) Си (С)

Одним из достоинств кроссплатформенность, а минимальные требования для скомпилированных , широкий средств для как прикладных, так и задач.

К языка отнести четкой . В ходе развития его элементы заимствовались из языков, вне от наличия элементов. Это к наличию и иногда друг элементов. аспекты к тому, что стал сложным для .

С Программа «Hello, world!»

Эта , появившаяся в издании «Язык Си» Кернинга и , обычно первой большинства Си. Она печатает «Hello, world!» на стандартном вывода ( является , но межет и файл, устройство область , в зависимости от , как отражается устройство на данной ).

main() { ("Hello, !\n"); }

Несмотря на то, что на современных эта программа быть , она порождает предупреждений на стандарта . Кроме , этот код не компилироваться, компилятор стандарту С99, так как в случае int не подразумевается для , когда тип в функции не (а оформление main описано ).

Эти сообщения убрать, внести в эту несколько изменений:

# <stdio.h>

int (void)

{

("Hello, !\n");

return 0;

}

В строке расположена препроцессора #, встретив , компилятор ее на полный файла, на она ссылается. В случае эта будет стандартных файло .h. Угловые указывают искать stdio.h в стандартных файлов.

строка объявлением с именем . Эта функция в Си является , так как выполняется из написанных при запуске . Слова int , что функция возвращает число. скобки функций обозначают ее .

Следующая «вызывает» printf. заголовочный stdio.h информацию, щую то, как нужно эту функцию. В примере функции единственный , содержащий строку «? World!\n. \n транслируется в «новая », который при соответственно разрыв . Функция возвращает типа int, возвращает напечатанных ( в этом возвращаемое игнорируется).

return прогрограмму выполнение (main в случае), вызвавшей значение, после слова (здесь 0). Так как функция – это , то вызывающим код, который и программу. фигурная обозначает определения main. По С99, return 0 в не обязательно ( return в означает 0;).

Новые С++ включают в виде , преобразования в виде , операторы new и ? Тип bool, , расширенное константности, функции, по умолчанию, , пространства , классы ( и все связанные с возможности, как наследование, - члены, функции, классы и ), переопределения , шаблоны, ::, обработку , динамическую и многое . Язык С++ так же во случаях относится к типов, чем С.

В С++ комментарии в двойной черты которые и в предшественнике С- BCPL.

особенности С++ были в С, например, слова  и inline, в циклах for и в стиле ++(//). В более реализациях С были возможности, нет в С++, например va_arg и улучшенная с массивами-параметрами.[28]

г) Паскаль ().

Одним из достоинств Паскаль четкая , удобная разработки и , позволяющая обнаружить и синтаксические в программе. к достоинствам отнести скорость программ, использования языка

В отличие от С (С++) в при Паскаль к минимуму синтаксические неоднозначности, синтаксис языка является интуитивно понятным и доступным, поскольку, как уже было отмечено выше, язык изначально разрабатывался для обучения студентов программированию.

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

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

Программы на Паскале начинаются с ключевого слова program и следующего за ним имени программы строчкой с запятой (в некоторых диалектах является необязательным), за именем может в скобках следовать список внешних файловых дескрипторов в качестве параметров; за ним следует тело программы, состоящее из секций описания переменных, типов и констант, объявлений процедур и функций и следующего за ними облака операторов, являющегося точкой входа в программу. В языке Паскаль блок ограничивается ключевыми словами begin и end. Операторы разделяются точками с запятой, после тела помещается точка, служащая признаком конца программы. Регистр символов в Паскале не имеет значения.

Таким образом, простейшая программа на Паскале будет выглядеть следующим образом:

program p;

begin

end.

Программа не выполняет никаких действий и содержит пустой блок  операторов.

Пример программы, выводящей строку «Hello, world!»:

program HelloWorld(output);

begin

writeln('Hello, World!') { оператор вывода строки }

end.

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, while, for, и т.д.[29]

Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алого-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции, как перегрузка операторов и функций.[30]

д) язык Лисп (Lisp). Считается вторым после Фортрана старейшим высокоуровневым языком программирования. Данный язык наиболее часто применяется при разработке экспертных систем и систем аналитических вычислений. Существуют современные версии этого языка, которые активно применяются при разработке новейших web-технологий. Также модификации данного языка используются в качестве встроенных языков программирования в САПР. Примером может послужить AutoLISP – язык для разработки надстроек в продуктах компании AutoDesk.

Пример Куайн (программы, выводящей свой исходный код) на Лиспе:

((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))

Данная программа должна работать на большинстве диалектов Лиспа, в том числе и на числаФибоначчи с использованием макроса Loop:

(defun fibonacci (n)

(loop repeat n

for a = 1 then b

and b = 1 then (+ a b)

finally (return a)))

Первые области применения Лиспа были связанны с символьной обработкой данных и процессами принятия решений

Наиболее популярный на сегодня диалект Лисп является универсальным языком программирования. Он широко используется в самых разных проектах: Интернет- серверы и службы, серверы приложений и клиенты, взаимодействующие с реляционными и объектными данными, научные расчеты и игровые программы.

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

Лисп используется как язык сценариев в САПР AutoLISP .

Лисп является одним из базовых средств текстового редактора EmacsLISР. По сути большая часть Emacs написана на EmacsLISP, что дает неограниченные возможности расширения функциональности.

В оконном менеджере Rep, который в значительной степени повторяет диалект Лиспа от Emacs.

Диалект Gimp.

Диалект GOAL используется для высокодинамичных трёхмерных игр.

Лисп может использоваться для написания скриптов в аудиоредакторе

Интересные факты

Существует расшифровка названия LISP в виде рекурсивного акронимаLISP is ProcessingLanguage.[31]

е) язык Пролог (Prolog). Используется для реализации систем искусственного интеллекта, а также и интеллектуальных систем баз данных.

Написание программ на языке Пролог существенно отличается от использования других языков программирования. Программа на Прологе не является реализацией некоторого алгоритма, а представляет собой запись на языке формальной логики . Таким образом, данный язык относится к описательным языкам программирования.

Таким образом, сферой применения данного языка является решение логических задач. Для создания вычислительных, графически задач, реализации пользовательского интерфейса данный язык не предназначен.

Большинство объектно-ориентированных языков являются версиями процедурно-ориентированных и проблемно-ориентированных.

Пример:

Вычисление наибольшего общего делителя нескольких чисел:

% Как запускать.

%

% Проверено с GNU Prolog 1.3.1

%

% # gplc --no-top-level gcd.pro

% # ./gcd 22 33 44 121

% Первое число, второе число, НОД

% Верно, что НОД (A, 0) = A

gcd2(A, 0, A).

% Верно, что НОД(A, B) = G,

% когда A>0, B>0 и НОД(B, A % B) = G (% - остаток от деления)

gcd2(A, B, G) :- A>0, B>0, N is mod(A, B), gcd2(B, N, G).

gcdn(A, [], A).

gcdn(A, [B|Bs], G) :- gcd2(A, B, N), gcdn(N, Bs, G).

gcdn([A|As], G) :- gcdn(A, As, G).

:- initialization(main).

str2int([], []).

str2int([S|St], [N|Nt]) :- number_atom(N, S), str2int(St, Nt).

main :-

argument_list(Args),

str2int(Args, Numbers),

gcdn(Numbers, G),

write(G), nl.

Программа на Прологе описывает отношения, определяемые с помощью предложений. Как и в любом другом языке, ориентированном на символьные вычисления, предложения выстраиваются из термов, которые в свою очередь подразделяются на атомы, числа, переменные и структуры. Атом записывается со строчной буквы или заключается в кавычки, когда требуется запись с прописной буквы.

atom

'Atom'

Переменные, записывающиеся с прописной буквы, отличаются от переменных в процедурных языках программирования, они не связанны с конкретной ячейкой памяти, а скорее ближе к математической переменной.

X is 2 + 2.

Структуры представляют собой совокупности термов, заключенные в круглые скобки, в том числе и другие структуры. Структура обозначается именем (функтором), которое располагается перед круглыми скобками.

book('Название', '2009', 'Спб', authors('Первый автор', 'Второй автор')).

Еще одной конструкцией является списки, элементы которых заключаются в квадратные скобки. В основе списков в Пролог лежат связные списки.

List = [a, b, [c, d], e].

В чистом Прологе предложения ограничиваются Дизъюнктами Хорна

Вывод :- Условие.

И читаются как: Заголовок ИСТИНА, если Тело ИСТИНА. Тело правила содержит ссылки на предикаты, которые называются целями правила. Встроенные предикаты, /2, означающий оператор с двумя аргументами, определяющий конъюнкцию целей и ;/2 определяющий дизъюнкцию.[32]

В настоящий момент наиболее активно используются и развиваются следующие среды программирования:

а) Delphi (Lazarus некоммерческая – версия для ОС семейства Linux) – основана на Object Pascal;

б) C++, С# (~ C);

в) Visual Basic (~ Basic);

г) Visual Fortran (~ Fortran);

д) Prolog++ (~ Prolog).

Новой тенденцией является появление ЯП еще более высокого уровня (ультравысокоуровневых). Такого рода языки характеризуются наличием дополнительных структур и объектов, ориентированных на прикладное использование. Прикладные объекты требуют минимальной настройки в виде параметров и моментально готовы к использованию. Использование ультравысокоуровневых ЯП снижает временные затраты на разработку программного обеспечения и повышает качество конечного продукта за счет уменьшения объема и исходных кодов.

Пример: Application XML

3. СРАВНИТЕЛЬНЫЙ АНАЛИЗ САМЫХ ВОСТРЕБОВАННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

3.1. Рейтинг популярных языков программирования в России и США

Новостной ресурс Quartz представил свою обработку масштабного исследования рынка труда в США, выбрав оттуда работы для программистов. Им было интересно узнать, какие языки программирования сейчас котируются на рынке – то есть, кто из программистов зарабатывает больше. На гистограмме представлены отсортированные данные по средней зарплате в отрасли в зависимости от ЯП за май 2017 года.

Рейтинг популярности языков программирования в США

Очень востребованы программисты Java, а также разработчики, использующие иные технологии, например, ASP.NET, SharePoint. Кроме того, на рынке труда также ценятся профессионалы в сфере автоматизации бизнеса и производства на базе систем SAP и др. Особый спрос идет на программистов высокого уровня.[33]

TIOBE-индекс, продемонстрировал популярность языков программирования в России за определенный промежуток времени. Его система основана на количестве поисковых запросов руководств по конкретному языку программирования. Ссылаясь на эти запросы, можно увидеть, рейтинг популярности ЯП в России за май 2017 года, а так же проследить изменение спроса по сравнению с 2016 годом.

Таблица 2. Рейтинг популярности языков программирования в России

Май 2017

Май 2016

Язык программирования

Рейтинг 

Изменение %

1

1

Java

17.278%

-4.19%

2

2

C

9.349%

-6.69%

3

3

C++ С++

6.301%

-0.61%

4

4

C#

4.039%

-0.67%

5

5

Python

3.465%

-0.39%

6

7

Visual Basic .NET

2.960%

+0.38%

7

8

JavaScript

2.850%

+0.29%

8

11

Perl

2.750%

+0.91%

9

9

Assembly language

2.701%

+0.61%

10

6

PHP

2.564%

-0.14%

11

12

Delphi/Object Pascal

2.561%

+0.78%

12

10

Ruby

2.546%

+0.50%

13

54

Go

2.325%

+2.16%

14

14

Swift

1.932%

+0.57%

15

13

Visual Basic

1.912%

+0.23%

16

19

R

1.787%

+0.73%

Продолжение таблицы 2

Май 2017

Май 2016

Язык программирования

Рейтинг 

Изменение %

17

26

Dart

1.720%

+0.95%

18

18

Objective-C

1.617%

+0.54%

19

15

MATLAB

1.578%

+0.35%

20

20

PL/SQL

1.539%

+0.52%

В 2016 г. самым популярным языком программирования был признан Go, разработанный Google. Данный язык программирования набрал 2,16% за год и уверенно обогнал своих ближайших конкурентов- Dart (+ 0,95%) и Perl (+ 0,91%).[34]

ЗАКЛЮЧЕНИЕ

В данной курсовой работе была рассмотрена тема классфикации языков прогаммирования высокого уровня, чтобы исследовать ее были использованы многие литературные источники, которые помогли разобраться и выявить основные элементы данной темы и понять принцип работы этих программ.

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

Во второй главе были исследованы тенденции развития языков программирования, так как: Basic, Pascal, Fortran, Cobol, LISP, Prolog,С, C++, Ada, Java, Delphi. С помощью данной главы удалось детально изучить историю каждого из них, узнать от том кто и когда создал известные всем языки. А так же было изучено, для какой области они предназначены.

Было обращено внимание на темпы роста и развития новейших технологий в области программирования.

Был проведен сравнительный анализ самых востребованных языков программирования. С помощью новостного ресурса Quartz стало известно, что на сегодняшний день востребованным языком у программистов в США является Java, а также и у разработчиков, использующих иные технологии, например, ASP.NET, SharePoint. Отсюда был сделан вывод, что особый спрос идет на программистов высокого уровня.

При помощи TIOBE-индекса были получены результаты популярности языков программирования в России за май 2017 года, в сравнении с 2016 годом. Самым популярным был признан Go, разработанный Google.

Проанализировав все выше изложенное, можно сделать вывод, что каждый язык высокого уровня имеет свои преимущества, и недостатки. Критерии оценки могут быть как объективные, так и субъективные и иногда имеются внешние причины, влияющие на оценку языков программирования. В основе всех языков программирования лежит некоторая руководящая идея, оказывающая существенное влияние на стиль и технологию соответствующих программ, что в большей степени сказывается на спросе того или иного языка программирования.

СПИСОК ЛИТЕРАТУРЫ

1.Абрамов В.Г. Введение в язык Паскаль: Учебное пособие.- М.: Наука, 2013.- 215 с.

2. Абрамов В.Г. Задачи по программированию: Учебно-методическое пособие.- М.: «Наука», 2014.- С. 107.

3. Баранов С.Н. Системная информатика: Учебное пособие - Новосибирск: ВО «Наука», 2013.- 193 с.

4. Бочкин А.И. Методика преподавания информатики: Сборник материалов научно- практической конференции.- Минск: Высшая школа, 2016.- 25 с.

5. Бураго А.Ю. Язык для микропроцессоров: Практическое пособие – M.: Общество «Знание», 2014.- 36 с.

6. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С. - СПб.: Издательство Бином, 2015.-76 с.

7. Ваграменко Я. А. Основы информатики и вычислительной техники с применением к лингвистике: Учебное пособие.- М.: МОПИ, 2013.- 314 с.

8. Вирт Н. Алгоритмы и структуры данных.- М.: Мир, 2014.-19 с.

9. Гедранович В.В. Основы компьютерных информационных технологий: Учебно-методический комплекс- 2-е изд., стереотип.- Минск: Изд-во МИУ, 2014. - 344 с.

10. Дейтел Х.М. Как программировать на С.-М: «Бином», 2015.- 65 с.

11. Дьяконов В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ. - М.: Наука, Физматлит, 2015. – С. 240- 246.

12. Кауфман В. Языки программирования. Концепции и принципы. – М.: Радио и связь, 2014. - 231 c.

13. Келли М. Язык программирования Фортан: Пер. с англ.. - М.: Радио и связь, 2015.- 72 с.

14. Макарова Н.В. Информатика: Учебник. - М.: Финансы и статистика, 2015. - 168 с.

15. Маурер У. Введение в программирование на языке ЛИСП: Учебное пособие. - M.: Мир, 2015.- 51 с.

16. Методы программирования. Компьютерные вычисления / А. В. Могилев, Л. В. Листрова. - СПб.: БХВ-Петербург, 2013.- С. 10-17.

17. Начальный курс программирования./ Б.И. Березин, С.Б.Березин.-М., 2014.- С. 80- 86.

18. Орлов С.А. Теория и практика языков программирования: Учебник.-СПб., 2013. - С. 12- 15. 

19. Паскаль для персональных компьютеров: Справочное пособие. / Ю.С. Бородич, А.Н. Вальвачев.- М.: Выш. шк.: БФ ГИТМП «НИКА», 2014.- 11 с.

20. Петров А.В. Вычислительная техника и программирование.- Спб.: Изд-во «Макет», 2013.- 117 с.

21. Программирование: Практикум по программированию на языке Бейсик/Г.И. Светозарова, А.А. Аникьев.– Спб.: Москва «Наука», 2014– С. 67.

22. Рейтинг языков программирования 2017 года. [Электронный ресурс]: URL: http://itmozg.ru/news/1286/ (05.09.2017).

23. Руководство по основам программирования: Учебное пособие. / В.Р. Фазылов, Е.Е. Беляев, В.Я. Соловьев.- М.: Мир ПК, 2013.- 158 с.

24. Cамые высокооплачиваемые языки программирования по мнению издания Quartz . [Электронный ресурс]: URL: http://itmentor.by/articles/top-12-samyh-vysokooplachivaemyh-yazykov-programmirovaniya-po-mneniyu-izdaniya-quartz (05.09.2017).

25. Семакин И. Г. Основы программирования: Учебник. - М.: Мастерство, 2015–С. 32-36.

26. Фортан ЕС ЭВМ: учеб.-метод. пособ./ З.С. Брич, Д.В. Капилевич, В.И Цагельский. - М.:Статистика, 2016.- 256 с.

27. Хрестоматия работы на компьютере: практ. пособ. / А.О. Коцюбинский, С.В. Грошев.- М.: Изд-во «ТРИУМФ», 2013.- 27 с.

28. Шрайнер П.А. Основы программирования на языке Пролог : Учебное пособие. - М. : Интернет - Ун-т Информ. Технологий, 2015. - 176 с.

29. Языки программирования: разработка и реализация : 4-е издание/ Под. ред. Т. Пратт , М. Зелковиц.- СПб., 2013.- 32 с.

30. Языки программирования: Учебное пособие./ О.Л. Голицына, Т.Л. Партыка, И.И. Попов - М.: Издат-во «ИНФРА-М»., 2014 .- 92 с.

  1. Макарова Н.В. Информатика: Учебник./ Н.В. Макарова. - М.: Финансы и статистика, 2015. - С. 168.

  2. Начальный курс программирования./ Б.И. Березин, С.Б.Березин.-М., 2014.- С. 80.

  3. Петров А.В. Вычислительная техника и программирование./ А.В. Петров- Спб.: Изд-во «Макет», 2013.- C. 117.

  4. Основы информатики и вычислительной техники: Учебно-методический комплекс: в 2 ч. / В.В. Гедранович, Ю.В. Змеева. - Минск: Изд-во МИУ, 2014. - Ч. 2. – С.162.

  5. Языки программирования: Учебное пособие./ О.Л. Голицына, Т.Л. Партыка, И.И. Попов - М.: Издат-во «ИНФРА-М»., 2014 .- С. 92.

  6. Бочкин А.И. Методика преподавания информатики: Сборник материалов научно- практической конференции./ А.И. Бочкин. - Минск: Высшая школа, 2016.-С. 11.

  7. Баранов С.Н. Системная информатика: Учебное пособие./ С.Н. Баранов. - Новосибирск: ВО «Наука», 2013.- С. 193.

  8. Вирт Н. Алгоритмы и структуры данных./ Н. Вирт. - М.: Мир, 2014.- С. 19.

  9. Ваграменко Я. А. Основы информатики и вычислительной техники с применением к лингвистике: Учебное пособие./ Я.А. Ваграменко. - М.: МОПИ, 2013.- С. 314.

  10. Бочкин А.И. Методика преподавания информатики: Сборник материалов научно- практической конференции.- Минск: Высшая школа, 2016.-С. 15.

  11. Языки программирования: разработка и реализация : 4-е издание/ Под. ред. Т. Пратт , М. Зелковиц.- СПб., 2013.- С. 32.

  12. Начальный курс программирования. Учебное пособие/ Б.И. Березин, С.Б.Березин.-М., 2014.- С. 88.

  13. Методы программирования. Компьютерные вычисления / А. В. Могилев, Л. В. Листрова.- СПб.: БХВ-Петербург, 2013.- С. 10-17.

  14. Дьяконов В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ./ В.П. Дьяконов - М.: Наука, Физматлит, 2015.- С. 240.

  15. Абрамов В.Г. Введение в язык Паскаль: Учебное пособие./ В.Г. Абрамов - М.: Наука, 2013.- С. 215.

  16. Семакин И. Г. Основы программирования: Учебник./И.Г. Семакин - М.: Мастерство, 2015. - С. 32-36.

  17. Дейтел Х.М. Как программировать на С./ Х.М. Дейтел. - М: «Бином», 2015.- С. 65.

  18. Кауфман В. Языки программирования. Концепции и принципы./ В. Кауфман. – М.: Радио и связь, 2014. - 231 c.

  19. Руководство по основам программирования: Учебное пособие. / В.Р. Фазылов, Е.Е. Беляев, В.Я. Соловьев.- М.: Мир ПК, 2013.- С. 158.

  20. Бураго А.Ю. Язык для микропроцессоров: Практическое пособие./ А.Ю. Бураго – M.: Общество «Знание», 2014.- С. 36.

  21. Хрестоматия работы на компьютере: практ. пособ. / А.О. Коцюбинский, С.В. Грошев.- М.: Изд-во «ТРИУМФ», 2013.- С. 27

  22. Келли М. Язык программирования Фортан: Пер. с англ.. - М.: Радио и связь, 2015.- С.72.

  23. Фортан ЕС ЭВМ: учеб.-метод. пособ./ З.С. Брич, Д.В. Капилевич, В.И Цагельский. - М.:Статистика, 2016.- С. 256.

  24. Дьяконов В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ./ В.П. Дьяконов. - М.: Наука, Физматлит, 2015. – С. 246.

  25. Программирование: Практикум по программированию на языке Бейсик/Г.И. Светозарова, А.А. Аникьев.– Спб.: Москва «Наука», 2014. – С. 67.

  26. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С./ Г. Буч - СПб.: Издательство Бином, 2015.- С.76.

  27. Абрамов В.Г. Задачи по программированию: Учебно-методическое пособие./В.Г. Абрамов- М.: «Наука», 2014.- С. 107.

  28. Паскаль для персональных компьютеров: Справочное пособие. / Ю.С. Бородич, А.Н. Вальвачев.- М.: Выш. шк.: БФ ГИТМП «НИКА», 2014.- С. 11.

  29. Маурер У. Введение в программирование на языке ЛИСП: Учебное пособие./ У. Маурер - M.: Мир, 2015.- С. 51.

  30. Шрайнер П.А. Основы программирования на языке Пролог : Учебное пособие./ П.А. Шрайнер - М. : Интернет - Ун-т Информ. Технологий, 2015. – С. 176.

  31. Cамые высокооплачиваемые языки программирования по мнению издания Quartz . [Электронный ресурс]: URL: http://itmentor.by/articles/top-12-samyh-vysokooplachivaemyh-yazykov-programmirovaniya-po-mneniyu-izdaniya-quartz (05.09.2017)

  32. Рейтинг языков программирования 2017 года. [Электронный ресурс]: URL: http://itmozg.ru/news/1286/ (05.09.2017).