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

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

Содержание:

Введение

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

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

Цель курсовой работы: изучение языков программирования и их развитие.

Задачи курсовой работы:

  • Ознакомиться с понятием языки программирования.
  • Рассмотреть классификацию языков программирования.
  • Описать историю развития языков программирования.
  • Полный обзор языков программирования.

Глава 1: Теоретическая часть

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

Язык программирования[1] — это формальная знаковая система, предназначенная для написания компьютерных программ. Язык программирования имеет набор лексических, синтаксических и семантических правил, которые используются при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут передаваться и храниться данные.

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

Языки программирования также, как и естественные языки имеют алфавит, синтаксис и семантику.

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

Синтаксис языка программирования [3]— это набор правил, описывающий комбинации символов алфавита, считающиеся правильно структурированной программой или её фрагментом. 

Семантика в программировании [4]— это система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений алгоритмического языка.

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

Классификация языков программирования[5]:

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

  • Компилируемые языки. К этой группе относят язык программирования, исходный код которых преобразуется специальной программой-компилятором в объектные модули, которые затем собираются при помощи программы сборки в единый загружаемый модуль. Это представляет собой выполняемую программу. Компилируемыми являются языки C, C++, Object Pascal.
  • Интерпретируемые языки.[6] К этой группе относят язык программирования, исходный код которых считывается и выполняется специальной программой-интерпретатором инструкция за инструкцией. Интерпретируемыми являются большинство версий языков Basic и Forth.
  • Языки, компилируемые на основе псевдокода. В этих языках исходный код программы компилируется и выполняется как последовательность вызовов подпрограмм из существующих библиотек. Таковыми являются некоторые версии Basic.
  • Совмещенные языки[7]. В совмещенных языках исходный код проходит две стадии обработки. На первой стадии происходит компиляция исходного кода до уровня промежуточного языка. На второй стадии происходит интерпретация промежуточного кода.

По факту созданию процесса языки программирования делятся на создающие процесс и сценарные.

  • Языки, создающие процесс. После запуска программы создается отдельный процесс выполнения этой программы. Так происходит в языках C, C++, Object Pascal.
  • Сценарные языки. Сценарий, или скрипт — это программа, которую выполняет другая программа. В качестве примеров можно привести скрипты оболочки в UNIX, программы на языках PHP, Python, Ruby.

По степени автономности[8] языки программирования делятся на автономные и встроенные.

  • Автономные языки программирования (C, C++, Java) являются автономным инструментом для создания программ.
  • Встроенные языки программирования[9] являются частью какой-то системы и позволяют создавать программы, предназначенные для работы только в этой системе. Пример наиболее известного встроенного языка – VBA (Visual Basic for Application), который используется только внутри приложений Microsoft Office для автоматизации и расширения их функциональности. Встроенными являются также язык программирования системы 1C и язык JavaScript, который выполняется только внутри интернет-приложений.

По уровню отдаленности[10] языка программирования от естественных языков их делят на низкоуровневые и высокоуровневые.

  • Языки низкого уровня ближе к логике процессора вычислительной машины, например, машинный язык, ассемблер.
  • Языки высокого уровня ближе лингвистически к человеческому языку. Это все остальные языки программирования.

По парадигмам[11] языки программирования делятся на императивные (процедурные), функциональные, логические и объектно-ориентированные.

  • Императивные (процедурные)[12] языки описывают решение задачи как последовательность процедур. К императивным относится большинство современных языков программирования.
  • Функциональные языки описывают требуемый результат в виде набора вложенных друг в друга функций (Haskell).
  • Логические языки описывают требуемый результат в виде суммы логических операций (Prolog).
  • Объектно-ориентированные языки способны определять абстрактные типы данных и реализовывать основные парадигмы объектно-ориентированного программирования (ООП): инкапсуляцию, наследование и полиморфизм (C++, Java, Object Pascal, и др.).

1.2 Компиляторы и интерпретаторы

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

Интерпретатор[14] функционирует следующим образом: берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. Если один и тот же оператор в программе выполняется несколько раз, интерпретатор всякий раз воспринимает его так, будто встретил впервые. Поэтому программы, в которых требуется произвести большой объем повторяющихся вычислений, будут работать медленно. Для выполнения программы на другом компьютере также необходимо установить интерпретатор, так как без него программа представляет собой набор слов и работать не может.

Компиляторы[15] полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят на машинный язык. Текст программы преобразуется в готовый к исполнению ЕХЕ-файл, его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.

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

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

Глава 2: Классификация языков программирования

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

В группу языков низкого уровня входят машинные языки и языки символического кодирования: Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. Е. являются машинно-зависимыми. Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).

Следующую, существенно более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.

К языкам сверхвысокого уровня можно отнести лишь Алгол-68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.

2.1 Машинно-зависимые языки

Машинные языки. [18]Любой компьютер может понимать лишь свой собственный машинный язык. Он определяется при проектировании аппаратных средств данного компьютера. Машинные языки в общем случае содержат строки чисел (в конечном счете сокращенные до единиц и нулей), которые являются командами компьютеру для выполнения большинства элементарных операций.

Машинные языки машинно-зависимы, т.е. каждый машинный язык может быть использован только на компьютере определенного типа.

Машинно-ориентированные языки [19]– этом язык программирования, учитывающий структуру и характеристики ЭВМ определенного типа или конкретной ЭВМ. Машинно-ориентированные языки позволяют использовать все возможности и особенности Машинно-зависимых языков:

  1. возможность использования конкретных аппаратных ресурсов;
  2. высокое качество создаваемых программ (компактность и скорость выполнения);
  3. предсказуемость объектного кода и заказов памяти;
  4. низкая скорость программирования;
  5. для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
  6. трудоемкость процесса составления программ, плохо защищенного от появления ошибок;
  7. невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

Языки символического кодирования[20]. Так же как машинный язык, языки символического кодирования, являются командными. Но коды операций и адреса в машинных командах, представляющие собой последовательность двоичных или восьмеричных цифр, в языке символического кодирования заменены на символы, форма написания которых помогает программисту легче запоминать смысловое содержание операции. Благодаря этому существенно уменьшается число ошибок при составлении программ.

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

Автокоды. [21]Также есть языки, которые включают в себя все возможности языка символического кодирования, посредством расширенного введения макрокоманд, которые называются Автокоды.

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

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

Макрос[22] — является средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму.

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

2.2 Машинно-независимые языки

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

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

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

Проблемно-ориентированные.[25] С расширением областей применения вычислительной техники возникла необходимость формализовать представления постановки и решения новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач. Программы, составленные на основе этих языков программирования, записаны в терминах решаемой задачи и реализуются выполнением соответствующих процедур.

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

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

Глава 3: История и краткая характеристика языков программирования

3.1 Языки низкого уровня

Ассемблер. [29]Данный язык относится к языкам низкого уровня. Свое название они получили от имени системной программы Ассемблер. Она преобразует исходные программы, которые написаны на таких языках, непосредственно в коды машинных команд. Термин «ассемблер» произошел от английского слова assembler – сборщик частей в одно целое. Частями здесь служат операторы, а результатом сборки — это последовательность машинных команд. Ассемблированием называется процесс сборки.

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

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

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

На языке ассемблера пишут:

  • программы, которые взаимодействуют с внешними устройствами;
  • программы, которые требуют максимальную скорость выполнения;
  • программы, которые используют в полном объёме возможности операционной системы;
  • программы, которые используют в полном объёме возможности процессора.

 Недостатки языка Ассемблера:

  • трудоемкость в чтении;
  • трудоемкость в написании программы;
  • для совместных проектов он малопригоден.

Достоинства языка Ассемблера:

  • максимальная адаптация под соответствующий процессор;
  • максимальная оптимизация программ, как по размеру, так и по скорости выполнения.

3.2 Языки высокого уровня

Фортран. [30]Данный язык был создан в 1956 г. Он был одним из первых языков программирования высокого уровня, которые появились в мире. Этот язык понимал формулы, записанные в форме, которая похожа на обычную математическую запись. Так и появилось название языка -FORmula TRANslation (перевод формулы).

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

Надо сказать, что Фортран того периода не был тем языком, на котором удобно и легко было программировать. Жесткая структура программы, достаточно примитивный набор операторов управления, а также слабые средства описания данных делали написание программы на данном языке не самым простым занятием.

В 1990, 1995 и 2003 гг. были приняты новые стандарты языка, что позволило существенно изменить положение. Фортран избавился от ненужных и устаревших конструкций и приобрёл новые. Этот язык во многом догнал, а в чем-то и перегнал другие языки программирования и превратился в современный и мощный язык. Не поменялась у него основа, язык программирования Фортран — это язык для описания численных методов и для выполнения математических вычислений.

В наше время Фортран занимает очень скромное место среди всех языков программирования. Сейчас вместе с новыми программами появились и новые языки программирования. Доля математических расчетов среди всех других вычислений существенно сократилась, сократилась и доля языка Фортрана среди других языков программирования.

Кобол.[31] Данный язык был разработан в 1959 – 1960 годах. С англ. COBOL от COmmom Business Oriented Language (общий язык, ориентированный на бизнес). Кобол — это язык программирования третьего поколения, предназначенный, в основном для разработки бизнес-приложений. Ещё этот язык предназначался для обработки данных для банков, для решения экономических задач, для страховых компаний и других учреждений подобного рода. Кобол позволяет эффективно работать с большим количеством данных, у него много разных возможностей сортировки, поиска и распределения.

Программы на этом языке основаны на широком использовании английского языка. Из недостатков можно назвать, что на Коболе можно запрограммировать лишь простые алгебраические вычисления. Для инженерных расчетов Кобол не подходит.

Алгол. [32]Данный язык изначально был разработан в 1958 году. С англ. ALGOL от ALGOrithmic Language (алгоритмический язык). Алгол использует слова в качестве ограничителей блоков. Этот язык программирования был первым, кто использовал слова "begin" и "end".

Были три основные версии языка программирования Алгола: Алгол 58, Алгол 60 и Алгол 68. Свои названия каждая версия Алгола получила в честь того года, в котором она была опубликована.

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

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

В 1960 году Джоном Бэкусом и Питером Нарос был выпущен язык программирования Алгол 60. Он вдохновил разработчиков многих других языков, которые были созданы позже.

Обычно под понятием Алгол подразумевается язык программирования Алгол-60, в то время как Алгол-68 рассматривается как самостоятельный язык. Даже когда Алгол почти перестал использоваться для программирования, он всё же ещё оставался официальным языком для публикации алгоритмов.

Лисп.[33] Данный язык был создан в 1959 – 1960 гг. в Массачусетском технологическом институте. С англ. LISP от LISt Processing (обработка списков). Язык программирования Лисп считается вторым после Фортрана старейшим высокоуровневым языком программирования. Лисп широко используется для обработки символьной информации и применяется для создания программного обеспечения, который имитирует деятельность человеческого мозга.

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

Бейсик.[34] Данный язык был создан в 1964 году. С англ. BASIC от Beginner's All-purpose Symbolic Instruction Code (многоцелевой код символьных инструкций для начинающих). Изначально он был разработан в качестве учебного пособия. Изобрели этот язык Джон Джордж Кемени и Томас Курц Евгений в Дартмутском колледже.

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

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

Восемь принципов Бейсик[35]

  1. Простота в использовании для начинающих;
  2. Общность назначения (отсутствие специализации);
  3. Возможность расширения функциональности средствами, доступными программистам;
  4. Интерактивность;
  5. Четкие и понятные сообщения об ошибках;
  6. Высокая скорость работы на небольших программах;
  7. Отсутствие необходимости понимания работы аппаратного обеспечения для написания программ;
  8. Эффективное посредничество между пользователем и операционной системой.

Сразу после выпуска Бейсик, компьютерные специалисты стали высмеивать его как слишком медленный и слишком простой язык. Так как элитарность языка является постоянной темой в компьютерной индустрии. 
Несмотря на это, данный язык стал распространяться на большое количество машин.

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

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

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

Но ко второй половине 1980-х годов новые компьютеры стали намного сложнее и у них появилось много возможностей, что делало язык программирования Бейсик всё менее подходящим для программирования.

Форт. [36]Данный язык был создан в 70-х годах Чарльзом Муром. С англ. FOURTH (четвёртый). Название Forth произошло от слова Fourth поскольку Мур хотел разработать язык программирования четвертого поколения. Но согласно принятой позднее классификации языков программирования, Форт не является языком четвертого поколения.

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

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

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

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

Паскаль. [37]Данный язык появился в 1972 году. Язык Паскаль был назван так в честь великого французского математика XVII века, изобретателя первой в мире арифметической машины Паскаля. Данный язык был создан, как язык для обучения методам программирования. Паскаль – это язык программирования общего назначения.

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

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

Достоинства языка Паскаль[38]:

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

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

Ада. [39]Данный язык был создан в 1983 году. Язык программирования высокого уровня Ада назван в часть Августы Ады Байрон, графини Лавлейс и дочери английского поэта лорда Байрона. Язык Ада был разработан по инициативе и при содействии министерства обороны США.

Требования к языку Ада содержали такие технические особенности:

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

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

Си.[40] Язык Си был создан в 1972 г. Этот язык считается универсальным языком программирования, для которого характерны экономичность выражения, современный набор операторов и типов данных. Язык Си не является языком высокого уровня. Отсутствие ограничений и общность языка делают его для некоторых задач более удобным и эффективным, чем другие языки, которые считаются более мощными.

Язык Си не связан с какими - либо определенными аппаратными средствами или системами, и на нем легко писать программы, которые можно пропускать без изменений на любой ЭВМ, имеющей Си-компилятор.

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

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

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

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

Си++.[41] Язык программирования Си++ представляет высокоуровневый компилируемый язык программирования общего назначения, который подходит для создания самых различных приложений. На сегодняшний день Си++ является одним из самых популярных и распространенных языков.

Своими корнями данный язык уходит в язык Си. Фактически вначале Cи++ просто дополнял язык Си некоторыми возможностями объектно-ориентированного программирования.

Впоследствии новый язык стал набирать популярность. В него были добавлены новые возможности, которые делали его не просто дополнением к Си, а совершенно новым языком программирования.

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

Пролог. [42]Язык Пролог прошёл длинный путь развития, около 20 лет. Он продолжает довольно быстро распространяться.

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

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

Пролог стал привлекать внимание специалистов из США. Это произошло после того, как Министерство внешней торговли и развития Японии объявило о том, что японский проект создания ЭВМ 5-го поколения будет основываться на методах логического программирования. С этого момента интерес к Прологу непрерывно рос. Теперь Пролог применяется для решения прикладных задач многими правительственными организациями и фирмами Европы, США и Японии. Сейчас существует международное сообщество ученых и специалистов, активно работающих в области логического программирования. Японские исследователи играют важную роль в этих работах.

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

Java. [43]Язык программирования Java является объектно-ориентированным языком программирования. Он был разработана в 1991 году, как часть проекта "Green Project", а официально объявлен 23 мая 1995 года в SunWorld, но выпущен в ноябре. Java была изначально разработана как замена для C++.

Основные цели при создании языка Java:[44]

  • Объектно-ориентированный язык.
  • Независим от целевой платформы.
  • Должен содержать объекты и библиотеки для работы в сети.

Синтаксис этого языка напоминает синтаксис языка C++, однако эти языки имеют мало общего. Java интерпретируемый язык: для него определены внутреннее представление и интерпретатор этого представления, которые уже сейчас реализованы на большинстве платформ. Интерпретатор упрощает отладку программ, написанных на языке Java, обеспечивает их переносимость на новые платформы и адаптируемость к новым окружениям.

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

Object Pascal. [45]Язык программирования Pascal был разработан Никлаусом Виртом в 1968-1970 гг. и назван так в честь ученого Блеза Паскаля, жившего в XVII веке и оставившего заметный след в науке.

Язык программирования Object Pascal является последней версией семейства языков Pascal, реализующей принципы объектно-ориентированного программирования. Этот язык является основой системы визуального программирования Delphi. Наиболее существенным отличием от традиционного языка Pascal является наличие достаточно сложных структур данных.

Object Pascal позволяет использовать множество самых разнообразных

типов и структур данных. Все типы данных можно разбить на две

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

Особенности Pascal[46]:

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

Заключение

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

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

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

Список литературы

  1. Александреску, А. Язык программирования D / А. Александреску. - СПб.: Символ-плюс, 2014. - 544 c.
  2. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.
  3. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. - М.: КноРус, 2010. - 184 c.
  4. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. - М.: МГУ, 2012. - 408 c.
  5. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.
  6. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.
  7. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.
  8. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 224 c
  9. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК, 2011. - 464 c.
  10. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.
  11. Кундиус, В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.
  12. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.
  13. Орлов, С. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения / С. Орлов. - СПб.: Питер, 2013. - 688 c.
  14. Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2012. - 236 c.
  1. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.

  2. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.

  3. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  4. Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2012. - 236 c.

  5. Александреску, А. Язык программирования D / А. Александреску. - СПб.: Символ-плюс, 2014. - 544 c.

  6. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК, 2011. - 464 c.

  7. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.

  8. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  9. Кундиус, В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.

  10. Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2012. - 236 c.

  11. Орлов, С. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения / С. Орлов. - СПб.: Питер, 2013. - 688 c.

  12. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  13. Кундиус, В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.

  14. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.

  15. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК, 2011. - 464 c.

  16. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 224 c

  17. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.

  18. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.

  19. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.

  20. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. - М.: МГУ, 2012. - 408 c.

  21. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. - М.: КноРус, 2010. - 184 c.

  22. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.

  23. Александреску, А. Язык программирования D / А. Александреску. - СПб.: Символ-плюс, 2014. - 544 c.

  24. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.

  25. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК, 2011. - 464 c.

  26. Дорогов, В.Г. Основы программирования на языке С: Учебное пособие / В.Г. Дорогов, Е.Г. Дорогова; Под общ. ред. проф. Л.Г. Гагарина. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013. - 224 c

  27. Кундиус, В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.

  28. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  29. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.

  30. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  31. Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2012. - 236 c.

  32. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.

  33. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. - М.: КноРус, 2010. - 184 c.

  34. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. - М.: МГУ, 2012. - 408 c.

  35. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.

  36. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.

  37. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  38. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.

  39. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.

  40. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. - М.: МГУ, 2012. - 408 c.

  41. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.

  42. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.

  43. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.

  44. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.

  45. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.

    Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК, 2011. - 464 c.