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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

Для достижения данной цели необходимо выполнить следующие задачи:

  • рассмотреть понятие языка программирования;
  • классифицировать языки программирования как таковые и в частности – языки программирования высокого уровня;
  • осуществить краткий обзор наиболее распространенных языков программирования высокого уровня: C++, Python и Delphi;
  • подвести итоги исследования.

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

Методологической основой исследования выступили научные труды таких отечественных исследователей проблемы, как Герман О., Павловская Т. А., Хабибуллин И. и др.

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

Глава 1. Языки программирования

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

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

Языки программирования – это формальные искусственные языки [12]. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.

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

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

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

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

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

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

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

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

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

Классификацию языков программирования можно вести по нескольким критериям: машинно–ориентированные (ассемблеры) и машинно–независимые, специализированные и универсальные.

К специализированным языкам можно отнести язык АРТ (Automatically Programmed Tools) – первый специализированный язык программирования для станков с числовым управлением. Язык был разработан группой американских специалистов в 1956–1959 гг. под руководством математика Дугласа Т. Росса. Язык СOBOL (Common Business–Oriented Language), созданный в США под руководством Грейс Мюррей Хоппер в 1959 г., ориентирован на обработку экономической информации. Математик Грейс Мюррей Хоппер (рисунок 1) возглавила проект по разработке СOBOL в чине капитана второго ранга, впоследствии она стана контр–адмиралом. Г. М. Хоппер называют «мамой и бабушкой» СOBOLа [6].

Грейс Мюррей Хоппер

Рисунок 1 Грейс Мюррей Хоппер

К специализированным языкам можно отнести и современные языки web–программирования Perl и PHP. Языки Рапира, Е–язык (Россия), SMR (Великобритания), LOGO (США) можно отнести к языкам, предназначенным для обучения программированию.

Самыми распространенными универсальными языками программирования сегодня являются C++, Delphi, Java, Pascal, Visual Basic, Python. Рассматривая языки программирования как самостоятельный объект исследования, можно провести их классификацию по концепции построения языка.

Языки программирования можно разделить на два класса: процедурные и непроцедурные (рисунок 2). Процедурные (императивные) языки – это языки операторного типа. Описание алгоритма на этом языке имеет вид последовательности операторов. Характерным для процедурного языка является наличие оператора присваивания (Basic, Pascal, С). Программа, написанная на императивном языке, очень похожа на приказы, выражаемые повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер. Программируя в императивном стиле, программист должен объяснить компьютеру, как нужно решать задачу.

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

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

https://xn----7sbbfb7a7aej.xn--p1ai/informatika_kabinet/programm/img/321.gif

Рисунок 2 Классификация языков программирования [21]

Логические языки

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

Первым языком логического программирования был язык Planner, он был разработан Карлом Хьюитом в Лаборатории искусственного интеллекта Массачусетсского технологического института в 1969 г. В этом языке была заложена возможность автоматического вывода (получения) результата из данных и заданных правил путем перебора вариантов (совокупность которых называлась планом). Но самым известным языком логического программирования является ПРОЛОГ, который был создан во Франции в Марсельском университете в 1971 г. Аленом Кольмеро (рисунок 3) [12].

https://xn----7sbbfb7a7aej.xn--p1ai/informatika_kabinet/programm/img/330.gif

Рисунок 3 Ален Кольмеро

Программа на языке ПРОЛОГ содержит две составные части: факты и правила. Факты представляют собой данные, с которыми оперирует программа, а совокупность фактов составляет базу данных ПРОЛОГа, которая, по сути, является реляционной базой данных. Основная операция, выполняемая над данными, – это операция сопоставления, называемая также операцией унификации или согласования. Правила состоят из заголовка и подцелей. Выполнение программы, написанной на ПРОЛОГе, начинается с запроса и состоит в доказательстве истинности некоторого логического утверждения в рамках заданной совокупности фактов и правил. Алгоритм этого доказательства (алгоритм логического вывода) и определяет принципы исполнения программы, написанной на ПРОЛОГе.

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

Возможности применения языка ПРОЛОГ весьма обширны. Среди наиболее известных – применение в символической математике, планировании, автоматизированном проектировании, построении компиляторов, базах данных, обработке текстов на естественных языках. Но, наверное, самое характерное применение ПРОЛОГа – это экспертные системы [19].

На сегодняшний день существует целый класс логических языков; так, от языка Planner также произошли логические языки программирования QA–4, Popler, Conniver и QLISP. Языки программирования Mercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog.

Функциональные языки

Первым языком функционального типа является язык ЛИСП, созданный в Массачусетсском технологическом институте в 1956–1959 гг. Джоном Маккарти (рисунок 4), который в 1956 г. на Дармутской конференции (США) впервые предложил термин «искусственный интеллект» [6].

Джон Маккарти

Рисунок 4 Джон Маккарти

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

После своего появления ЛИСПу присваивали много эпитетов, отражающих его черты: язык функций, символьный язык, язык обработки списков, рекурсивный язык. С позиций сегодняшней классификации ЛИСП определяется как язык программирования функционального типа, в основу которого положен метод https://xn----7sbbfb7a7aej.xn--p1ai/informatika_kabinet/programm/img/lyamda.gif–исчисления (метод https://xn----7sbbfb7a7aej.xn--p1ai/informatika_kabinet/programm/img/lyamda.gif–исчисления разработан в 30–е годы прошлого столетия А.Черчем в качестве строгой математической модели для вычислимых функций, см. «Теория алгоритмов»).

Программа, написанная на функциональном языке, состоит из неупорядоченного набора уравнений, определяющих функции и значения, которые задаются как функции от других значений. Программы и данные ЛИСПа существуют в форме символьных выражений, которые хранятся в виде списковых структур. ЛИСП имеет дело с двумя видами объектов: атомами и списками. Атомы – это символы, используемые для идентификации объектов, которые могут быть числовыми и символьными (понятия, материалы, люди и т.д.). Список – это последовательность из нуля или более элементов, заключенных в круглые скобки, каждый из которых является либо атомом, либо списком. Над списками выполняются три примитивные операции: извлечение первого элемента списка; получение оставшейся части списка после удаления первого элемента; объединение первого элемента списка L и оставшейся части списка Q [22].

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

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

  • краткость и простота;
  • строгая типизация;
  • модульность;
  • функции – объекты вычисления;
  • чистота (отсутствие побочных эффектов);
  • отложенные (ленивые) вычисления.

Объектно–ориентированные языки

Объектно–ориентированные языки – это языки, в которых понятия процедуры и данных, используемых в обычных системах программирования, заменены понятием «объект» (см. статью «Объектно–ориентированное программирование»). Языком объектно–ориентированного программирования в чистом виде считается SmallTalk, возможности объектно–ориентированного программирования заложены также в Java, C++, Delphi [21].

Дальнейшее развитие современного программирования связано с так называемым «параллельным программированием». Для реализации этой технологии разрабатываются специализированные объектно–ориентированные языки. К языкам такого типа относят, например, MC# (mcsharp) – высокоуровневый объектно–ориентированный язык программирования для платформы .NET, поддерживающий создание программ, работающих в распределенной среде с асинхронными вызовами [7].

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

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

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

Высокоуровневые языки используются в машинно–независимых системах программирования. Такие системы программирования в сравнении с машинно–ориентированными системами предстают более простыми в использовании. Языки программирования высокого уровня подразделяют на процедурно–ориентированные, проблемно–ориентированные и объектно–ориентированные [1].

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

  • язык Фортран (Fortran), название которого происходит от слов Formulae Translation – «преобразование формул». Фортран представляет собой один из старейших языков программирования высокого уровня. Длительность его существования и применения можно объяснить простотой структуры данного языка;
  • язык Бейсик (Basic), который расшифровывается как Beginner's All–purpose Symbolic Instruction Code, что в переводе означает – «многоцелевой символический обучающий код для начинающих», разработан в 1964 г. как язык для обучения программированию;
  • язык Си (С), применяемый с 1970–х гг. как язык системного программирования специально для написания ОС UNIX. В 1980–е гг. на основе языка С был разработан язык C++, практически включающий в себя язык С и дополненный средствами объектно–ориентированного программирования;
  • язык Паскаль (Pascal), который назван в честь французского ученого Б. Паскаля, начал применяться с 1968–1971 гг. Н. Виртом. При создании Паскаль использовался для обучения программированию, но со временем стал широко применяться для разработки программных средств в профессиональном программировании.

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

  • язык Лисп (Lisp – List Information Symbol Processing), который был изобретен в 1962 г. Дж. Маккарти. Первоначально он применялся как средство для работы со строками символов. Лисп употребляется в экспертных системах, системах аналитических вычислений и т. п.;
  • язык Пролог (Prolog – Programming in Logic), используемый для логического программирования в системах искусственного интеллекта [7].

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

  • Visual Basic (~ Basic);
  • Delphi (~ Pascal);
  • Visual Fortran (~ Fortran);
  • C++ (~ C);
  • Prolog++ (~ Prolog) [12].

2.2 Краткий обзор языков программирования высокого уровня

Кратко рассмотрим наиболее распространенные сегодня языки программирования высокого уровня: С++, Delphi, Phyton.

C++ – компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования как процедурное программирование, объектно–ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником – языком C, – наибольшее внимание уделено поддержке объектно–ориентированного и обобщённого программирования [12].

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

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

Методы класса – это функции, которые смогут применяться к экземплярам класса. Грубо говоря, метод – это функция объявленная внутри класса и предназначенная для работы с его объектами. Методы объявляются в теле класса. Описываться могут там же, но могут и за пределами класса (внутри класса в таком случае достаточно представить прототип метода, а за пределами класса определять метод поставив перед его именем – имя класса и оператор ::). Методы и поля входящие в состав класса называются членами класса. При этом методы часто называют функциями–членами класса.

Наследование

В C++ при наследовании одного класса от другого наследуется реализация класса, плюс класс–наследник может добавлять свои поля и функции или переопределять функции базового класса. Множественное наследование разрешено [19].

Конструктор наследника вызывает конструкторы базовых классов, а затем конструкторы нестатических членов–данных, являющихся экземплярами классов. Деструктор работает в обратном порядке.

Наследование бывает публичным, защищённым и закрытым.

Полиморфизм

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

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

Инкапсуляция

Основным способом организации информации в C++ являются классы. В отличие от структуры (struct) языка C, которая может состоять только из полей и вложенных типов, класс (class) C++ может состоять из полей, вложенных типов и функций–членов. Инкапсуляция в С++ реализуется через указание уровня доступа к членам класса: они бывают публичными (public), защищёнными (protected) и закрытыми (private). В C++ структуры отличаются от классов тем, что по умолчанию члены и базовые классы у структуры публичные, а у класса – собственные.

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

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

Достоинства:

  • высокая совместимость с языком С;
  • вычислительная производительность;
  • поддержка различных стилей программирования: структурное, объектно–ориентированное, обобщённое программирование, функциональное программирование, порождающее метапрограммирование;
  • автоматический вызов деструкторов объектов (в порядке обратном вызову конструкторов) упрощает и повышает надёжность управления памятью и другими ресурсами (открытыми файлами, сетевыми соединениями, т. п.);
  • перегрузка операторов;
  • шаблоны (дают возможность построения обобщённых контейнеров и алгоритмов для разных типов данных);
  • возможность расширения языка для поддержки парадигм, которые не поддерживаются компиляторами напрямую;
  • доступность. Для С++ существует огромное количество учебной литературы, переведённой на всевозможные языки [12].

Недостатки:

  • плохо продуманный синтаксис сужает спектр применимости языка;
  • язык не содержит многих важных возможностей;
  • язык содержит опасные возможности;
  • производительность труда программистов на языке оказывается неоправданно низка;
  • громоздкость синтаксиса;
  • тяжелое наследие;
  • необходимость следить за памятью [12].

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

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

Python может поддерживать широкий перечень стилей разработки приложений, в том числе, очень удобен для работы с ООП и функционального программирования. Один из самых популярных интерпретаторов языка – CPython, написанный на Си. Распространяется эта среда разработки бесплатно по свободной лицензии. Интерпретатор поддерживает большинство популярных платформ.

Питон активно развивается. Примерно раз в 2 года выходят обновления. Важной особенностью языка является отсутствие таких стандартов кодировки как ANSI, ISO и некоторых других, они работают благодаря интерпретатору [7].

Язык начал разрабатываться во второй половине 80–х г.г. прошлого века. Автором Питона стал программист из Нидерландов по имени Гвидо ван Россум. Изначально язык должен был стать объектно–ориентированным. Фактически, это был язык сценариев, т.е. скриптовый язык. В феврале 1991 года ван Россум опубликовал исходный код языка в одной из новостных групп.

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

В 2008 года появилось большое обновление языка – Python 3.0. Версия продукта известна так же под названием Py3k. В этой версии были устранены многие ключевые недоработки в архитектуре ядра. Что было важно – новая версия продукта сохранила полную совместимость с более старыми вариантами. Сегодня разработчиками поддерживается две линии – Python 3.x и 2.x

Питон – не самый «молодой» язык программирования, но и не слишком старый. К моменту его создания уже существовали такие «монстры», как Pascal или С. А потому при создании ЯП авторы старались взять лучшее из различных платформ для разработчиков. Фактически Python представляет из себя своеобразный «микс» удачных решений более чем из 8 различных языков. К примеру, байт компиляция появилась еще до создания Питона, но была очень удачна в него интегрирована.

Питон поддерживает практически все распространенные операционные системы. Он может прекрасно работать на карманных компьютерах, так и на больших серверах. В случае если платформа значительно устаревает, она исключается из поддержки ядра. К примеру, версии языка, начиная от 2.6, уже не работают с платформами Windows 95, 98 и ME. В случае необходимости можно воспользоваться более старыми версиями, отказавшись от применения современных инструментов языка. И тогда приложение будет работать в том числе с этими ОС. Для старых версий периодически выходят патчи. Язык также может поддерживать работу с виртуальной машиной Java [7].

Язык программирования имеет четко структурированное семантическое ядро и достаточно простой синтаксис. Все, что пишется на этом языке, всегда легко читаемо.

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

В 2018 году в Питоне были изменены некоторые ключевые термины, но это скорее упростило понимание. А потому проблем у разработчиков при изучении документации не возникает.

Питон – это высокоуровневый язык, который можно применять и для создания прикладных программ, и для WEB разработки. Производительность платформы весьма высока, код отличается простой и читабельностью [9].

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

Краткий перечень возможностей:

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

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

Delphi является языком программирования и средой разработки программного обеспечения. Он разработан Borland (ранее известный как Inprise). Язык программирования Делфи, ранее известный как Object Pascal (Pascal с объектно–ориентированными расширениями), первоначально ориентированный только на Microsoft Windows, но в настоящее время позволяет строить собственные приложения для Linux и Microsoft. NET Framework, и других.

Наиболее популярное использование – разработка настольных приложений и баз данных предприятия, а как инструмент язык программирования Делфи может использоваться и для большинства типов развивающихся проектов. Это был один из первых языков, который стал известным как инструмент RAD (быстрая разработка приложений), когда вышел в 1995 году. Delphi 2, вышедший год спустя, поддерживал 32–разрядную среду Windows , и а только несколько лет спустя вышли C, C + + Builder. В 2001 году стала доступна версия под ОС Linux известная как Kylix (классическая греческая урна). Каждый год выходило по одной новой версии, в 2002 году продукт стал известен как Delphi 7 Studio, язык стал официально называться язык программирования Delphi, а не Object Pascal, а также была добавлена поддержка Linux (через Kylix) и. NET (через Предварительный компилятор). Полная поддержка. NET запланирована на предстоящий Delphi 8. Программирование для чайников.

Основные компоненты Delphi и Kylix: язык Delphi (ранее официально известный как языка Object Pascal), ВК / CLX (Visual Component Library), сильные связи с базами данных, в сочетании с мощной IDE (Integrated Development Environment) и дополнительными инструментами поддержки [20].

Особенности языка Delphi включают:

  • прозрачная обработка объектов через ссылки или указатели;
  • свойства как часть языка, вкупе с функциями Get и Set, которые являются прозрачной инкапсуляцией доступа к членам полям;
  • свойства индекса и свойствами по умолчанию, которые обеспечивают доступ к коллекции удобным и прозрачным способом;
  • делегаты или по–другому методы указателей безопасного типа, которые используются для приведения в действие события вызванных компонентами;
  • делегирование реализации интерфейса в поле или свойство класса;
  • простота внедрения обработчики Windows сообщение, отметь метод класса с числом / имя окна сообщений для обработки;
  • большинство функций, перечисленных выше, были введены в Delphi первой и адаптированы на других языках позже [8].

Главным архитектором Delphi, и его предшественника Turbo Pascal, был Андерс Хейлсбергом, пока он не перешел в Microsoft в 1996 году посвятил свое дело основам программирования.

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

  • персональный;
  • профессиональный;
  • предприятие;
  • архитектор.

Веские причины для использования Delphi:

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

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

Во второй главе рассмотрена классификация языков программирования высокого уровня и основные представители объектно-ориентированной подгруппы. Определено, что в настоящее время наиболее распространенными языками программирования высокого уровня являются объектно-ориентированные языки C++, Delphi и Phyton. Данные языки были рассмотрены подробнее, благодаря чему можно сделать вывод, что сегодня Delphi незначительно отстает от остальных двух языков по нескольким показателем, но при этом продолжает развиваться.

ЗАКЛЮЧЕНИЕ

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

Для достижения данной цели были выполнены следующие задачи:

  • рассмотрено понятие языка программирования;
  • классифицированы языки программирования как таковые и в частности – языки программирования высокого уровня;
  • осуществлен краткий обзор наиболее распространенных языков программирования высокого уровня: C++, Python и Delphi.

Классификация языков программирования высокого уровня показала, что сегодня используется не так много языков из всех возможных. Были рассмотрены наиболее распространенные на сегодня языки высокого уровня, и определено, что каждый из них обладает относительно тождественным числом преимуществ и недостатков, что говорит о субъективности применимости того или иного языка. Так, в зависимости от целей и задач разработки, может выбран любой из рассмотренных языков программирования. В то же время определено, что, несмотря на продолжение развития, Delphi в некоторой степени отстает от своих «Старших братьев» C++ и Python, предлагающих программисту больше свободы и средств для достижения целей программирования. Несмотря на это, есть то, что объединяет все языки программирования высокого уровня – это высокие требования к программисту, его навыкам и знаниям. Так, для продуктивной работы с языками высокого уровня обязательно наличие опыта и навыков работы с более примитивными языками низкого уровня.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Биллиг, В. А. Основы объектного программирования на C# (C# 3.0, Visual Studio 2008) / В. А. Биллиг. – М.: Интернет–университет информационных технологий, Бином. Лаборатория знаний, 2016. – 584 c.
  2. Буховец, А. Г. Алгоритмы вычислительной статистики в системе R. Учебное пособие / А. Г. Буховец, П. В. Москалев. – М.: Лань, 2015. – 160 c.
  3. Васильев, П. П. Турбо Паскаль в примерах и задачах / П. П. Васильев. – М.: Финансы и статистика, 2016. – 496 c.
  4. Гавриков, М. М. Теоретические основы разработки и реализации языков программирования / М. М. Гавриков, А. Н. Иванченко, Д. В. Гринченков. – М.: КноРус, 2014. – 184 c.
  5. Гергель, В. П. Современные языки и технологии параллельного программирования / В. П. Гергель. – М.: Издательство МГУ, 2016. – 408 c.
  6. Герман, О. Программирование на Java и C# для студента / О. Герман, Ю. Герман. – М.: БХВ–Петербург, 2014. – 512 c.
  7. Истомин, Е. П. Информатика и программирование / Е. П. Истомин, A. M. Власовец. – М.: Андреевский Издательский дом, 2015. – 294 c.
  8. Зыков, С. В. Введение в теорию программирования. Курс лекций. Учебное пособие / С. В. Зыков. – М.: Интернет–университет информационных технологий, 2017. – 400 c.
  9. Ишкова, Э. А. C#. Начала программирования / Э. А. Ишкова. – М.: Бином–Пресс, 2016. – 334 c.
  10. Кетков, Ю. Л. Свободное программное обеспечение. FREE PASCAL для студентов и школьников (+ CD) / Ю.Л. Кетков, А.Ю. Кетков. – М.: БХВ–Петербург, 2017. – 376 c.
  11. Культин, Н. Visual Basic для студентов и школьников / Н. Культин. – М.: БХВ–Петербург, 2017. – 354 c.
  12. Медведик, В. И. Практика программирования на Паскаль. Задачи и решения. Учебное пособие / В. И. Медведик. – М.: ДМК Пресс, 2015. – 590 c.
  13. Опалева, Э. А. Языки программирования и методы трансляции / Э. А. Опалева, В. П. Самойленко. – М.: БХВ–Петербург, 2015. – 480 c.
  14. Павловская, Т. А. C/C++. Программирование на языке высокого уровня / Т. А. Павловская. – М.: Питер, 2016. – 464 c.
  15. Павловская, Т. А. C/C++. Процедурное и объектно–ориентированное программирование. Учебник / Т. А. Павловская. – М.: Питер, 2015. – 496 c.
  16. Рапаков, Г. Г. Turbo Pascal для студентов и школьников / Г. Г. Рапаков, С. Ю. Ржеуцкая. – М.: БХВ–Петербург, 2017. – 352 c.
  17. Санников, Е. В. Курс практического программирования в Delphi. Объектно–ориентированное программирование / Е. В. Санников. – М.: Солон–Пресс, 2015. – 188 c.
  18. Семакин, И. Г. Основы программирования и баз данных. Учебник / И. Г. Семакин. – М.: Academia, 2016. – 224 c.
  19. Финогенов, К. Г. Использование языка Ассемблера. Учебное пособие / К. Г. Финогенов. – М.: Горячая линия – Телеком, 2017. – 440 c.
  20. Финогенов, К. Основы языка Ассемблера / К. Финогенов. – М.: Горячая Линия – Телеком, Радио и связь, 2017. – 963 c.
  21. Хабибуллин, И. Программирование на языке высокого уровня. C/C++ / И. Хабибуллин. – М.: БХВ–Петербург, 2016. – 512 c.
  22. Хорев, П. Б. Объектно–ориентированное программирование с примерами на С#. Учебное пособие / П. Б. Хорев. – М.: Форум, Инфра–М, 2016. – 200 c.
  23. Черпаков, И. В. Основы программирования. Учебник и практикум / И. В. Черпаков. – М.: Юрайт, 2016. – 220 c.