Файл: Классификация языков программирования. Критерии выбора среды и языка программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.04.2023

Просмотров: 265

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

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

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

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

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

Соответственно, сформулируем задачи исследования:

  1. Изучить историю возникновения развития языков программирования.
  2. Рассмотреть классификацию языков программирования.
  3. Провести обзор современных языков программирования.
  4. Оценить и проанализировать критерии выбора среды и языка программирования для разработки программ.

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


Глава 1. Теоретический подход. Классификация языков программирования

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

Программа представляет собой записанный на языке программирования алгоритм, и является последовательностью операторов языка. Языки программирования являются строго формализованными искусственными языками. Правила записи операторов языка называются его синтаксисом [2].

Рассмотрим этапы возникновения и развития языков программирования.

  1. Машинный язык, появившийся в 40-50 годы XX в.

Созданные на машинном языке программы представляли собой достаточно длинные последовательности нулей и единиц и являлись машинно-зависимыми, для каждой электронно-вычислительной машины (ЭВМ) требовалось составлять свою программу [3].

  1. Ассемблер, появившийся в начале 50-ых годов XX в.

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

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

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

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

Фортран, например, по своей сути тоже является языком ассемблера, но с определенными ограничениями [2].

  1. Первые языки программирования высокого уровня.

Уже с середины 50-ых гг. XX в. начали появляться первые языки программирования высокого уровня (high-level language), которые уже были машинно-независимыми, то есть не привязанными к конкретному типу ЭВМ. Однако при этом для каждого языка были созданы собственные компиляторы. Примерами таких языков можно назвать FORTRAN, разработанный для технических и научных расчетов; COBOL (1959), применяемый, в основном, для коммерческих приложений (был способен обрабатывать большие объемы нечисловых данных); язык BASIC– универсальный язык символьных инструкций для начинающих программистов). Естественно, к минусам данной технологии можно отнести необходимость предварительной разработки транслятора [6]. Язык высокого уровня выполняет роль посредника между человеком и компьютером, позволяя человеку общаться с компьютером более привычным для человека способом. Зачастую он помогает выбрать правильный метод решения задачи [3]. На рис. 1 схематично представлено дерево развития языков программирования высокого уровня.

  1. Алгоритмические языки программирования.

В период начала 80-ых г. XX в. начали разрабатываться языки программирования, позволившие перейти к структурному программированию (применение операторов ветвления, выбора, цикла и почти полный отказ от частого применения операторов перехода). К ним можно отнести: язык Pascal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970); язык Си, способствующий быстрому и эффективному созданию программного кода (1971).

  1. Языки объектно-ориентированного программирования.

Появились в 90-ые г. XX в., и в их основу были положены программные объекты, объединяющие данные и методы их обработки. В них сохранялся алгоритмический стиль программирования [2].

Рисунок 1. Дерево развития языков программирования высокого уровня.

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

- язык С++ (1983) - продолжение алгоритмического языка Си;

- язык Object Pascal (1989), разработанный на основе языка Pascal. После создания среды программирования получил название Delphi (1995);

- язык Visual Basic (1991) был разработан корпорацией Microsoft на основе языка Qbasic (1975) для создания приложений с графическим интерфейсом в среде ОС Windows [4].

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


  1. Языки программирования для компьютерных сетей.

Уже с 90-ых годов XX в. одновременно со стремительным развитием Интернета были разработаны языки, призванные обеспечить межплатформенную совместимость. На компьютерах, подключенных к Интернету, с различными операционными системами (такими как Windows, Linux, Mac OS и др.) могли быть выполнены одни и те же программы. Тогда исходная программа компилируется в промежуточный код, исполняемый на компьютере встроенной в браузер виртуальной машиной [2]. Назовем примеры этих языков:

- язык Java - объектно-ориентированный язык, созданный компанией Sun Microsystems для формирования сетевого программного обеспечения (1995);

- язык JavaScript – это язык сценариев Web-страниц (организация Netscape), (1995).

  1. Языки программирования на платформе .NET.

Интегрированная среда программирования Visual Studio .Net, созданная корпорацией Microsoft, дает возможность разработки приложения на различных языках объектно-ориентированного программирования, например:

- на языке Visual Basic .Net (созданный на основе Visual Basic) – 2003 г.;

- на языке Visual C# (С-шарп) – на основе языков С++ и J – 2003 г.;

- на языке Visual J# (J-шарп) – на основе Java и JavaScript – 2003 г. [4].

Можно выделить некоторые особенности современных языков программирования:

  • введение конструкций для поддержки параллельного программирования (несколько процессов) и распределенных вычислений (несколько компьютеров);
  • увеличение поддержки функционального программирования в ключевых языках программирования для упрощения кода;
  • использование альтернативных механизмы для композиции и модульности: примеси, делегаты, аспектно-ориентированное программирование и т.д.
  • механизмы повышения безопасности языка (проверки типов, зависимостей и др.);
  • метапрограммирование;
  • компонентно-ориентированная разработка (в т.ч. использование различных фреймворков);
  • автоматизация процесса программирования (XML for graphical interface (XUL, XAML)) [3];
  • интеграция с базами данных;
  • предметно-ориентированные языки;
  • открытое программное обеспечение как философия создания и развития языков программирования;
  • исследования возможности разработки языков программирования для квантовых компьютеров;
  • кроссплатформенность [2].

На рис.2 представлен принцип работы языков платформы .NET. [4].

Рисунок 2. Принцип работы языков платформы .NET.

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


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

Язык программирования представляет собой систему обозначений, предназначенную для точного описания алгоритмов или программ для электронной вычислительной техники. Такие языки являются искусственными и отличаются от естественных ограниченным количеством «слов» и достаточно строгими правилами записи команд (операторов). По этой причине при их использовании по назначению они не допускают свободного толкования, присущего естественным языкам [4]. Язык программирования может быть представлен в виде набора спецификаций, определяющих его синтаксис и семантику [3].

Сформулируем ключевые требования к языкам программирования:

  • Единство – возможность использования одинаковых символов для обозначения одних родственных понятий в различных частях алгоритма, причем число таких символов должно быть минимальным по возможности;
  • Наглядность – применение по возможности существующих уже символов, понятных и известных не только программистам, но и пользователям;
  • Модульность – способность описания сложных алгоритмов в виде суммы простых модулей, составленных по отдельности и примененных в разных сложных алгоритмах;
  • Гибкость – наличие возможности достаточно простого и удобного описания известных приемов вычислений посредством существующего ограниченного набора изобразительных средств в языке;
  • Однозначность – недвусмысленность записи каждого алгоритма, отсутствие которой могло бы способствовать неправильным ответам при решении задач [3].

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

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

По данному критерию можно выделить уровни языков программирования:

  • Машинные
  • Машинно-независимые (высокого уровня)
  • Машинно-ориентированные (ассемблеры) [1].

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