Файл: Обзор языков программирования высокого уровня.pdf

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

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

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

Добавлен: 22.04.2023

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

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

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

Поставляемые пакеты NuGet, интерактивное взаимодействие с объектами, ADO/OLE/Entity/ASP, интеллектуальная подсказка, одно из самых широчайших и полезных сообществ.

  1. Инновационность

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

C# – отличный язык для корпоративных приложений, но у него есть некоторые недостатки. Поскольку C# является частью .NET Framework, сервер, на котором выполняется приложение, должен иметь Windows. Другими словами, любому приложению .NET требуется платформа Windows для выполнения. Многие новые компании работают с серверами Linux, поскольку это намного более дешевая среда. Вам нужен хостинг Windows для запуска приложения .NET. Microsoft перестает поддерживать старые платформы .NET после нескольких обновлений операционных систем. Например, старые серверы Windows 2000 могут поддерживать только приложения .NET 2.0. Хотя установка старой операционной системы кажется ошибкой, многие корпоративные организации сохраняют старые операционные системы из-за множества проблем, которые может привести к обновлению платформы. Основные обновления серверной архитектуры должны быть протестированы и утверждены перед развертыванием, что увеличивает время и затраты на разработку. Если организация использует рабочие станции и серверы Windows, .NET проще всего интегрировать. C# может использоваться для автоматизации, такой как Windows Services или веб-приложения.

Плюсы C# в целом перевешивают минусы, но тем не менее в качестве языка для разработки программного обеспечения был выбран язык C++, более производительный и портативный [8.].

3.Выбор интегрированной среды разработки для языка высокого уровня

Dev-C++ – это полнофункциональная среда для языка программирования C/C++. Как и подобные ей интегрированные среды разработки, она предлагает программисту простой и универсальный инструмент для редактирования, компиляции, компоновки и отладки программ. Она также обеспечивает поддержку управления файлами программы в проектах, содержащих все элементы, необходимые для создания окончательной исполняемой программы.

Dev-C++ включает в себя следующие возможности:


  • Поддержка компиляторов на основе GCC (включая Mingw);
  • Интегрированная отладка (с GDB);
  • Поддержка нескольких языков (локализация);
  • Класс браузера;
  • Отладка переменной браузера;
  • Завершение кода;
  • Список функций;
  • Менеджер проектов;
  • Настраиваемый редактор подсветки синтаксиса;
  • Быстрое создание Windows-приложения, консольные приложения, статические библиотеки и DLL;
  • Поддержка шаблонов для создания собственных типов проектов;
  • Создание Makefile;
  • Редактирование и компиляция файлов ресурсов;
  • Менеджер инструментов;
  • Менеджер пакетов для легкой установки дополнительных библиотек;
  • Поддержка печати.

Кроме того, Dev-C++ имеет набор меню, которые дают возможность давать имена и сохранять файлы исходного кода, а также компилировать, компоновать, выполнять и отлаживать программы, не покидая окно среды разработки. Если компилятор обнаруживает ошибки, выполняется возврат в программу редактора (при этом указываются ошибочные строки программы и соответствующие сообщения об ошибках). Если программа содержит несколько исходных модулей, в среде разработки создается проект, в котором указываются имена файлов, содержащих исходные модули. Это дает возможность не только компоновать все объектные модули проекта в единый загрузочный модуль, но и автоматически перекомпилировать только те модули проекта, в которых были сделаны изменения. Вызов пунктов меню, переключение окон и выход из среды выполняется таким же образом, как и в других приложениях Windows.

Dev-C++, написанная на языке программирования Delphi для Windows, является легковесной средой разработки, бесплатной и с открытым исходным кодом, которой требуется всего пару минут для установки. Можно сделать вывод о том, что это отличная среда разработки для новичков, которая позволяет легко создавать консольные приложения, но, тем не менее, в силу своей простоты она не предоставляет возможности создавать полнофункциональные программные средства с графическим интерфейсом пользователя без установки дополнительных плагинов или фреймворков.

Microsoft Visual Studio – это современная интегрированная среда, предназначенная для разработки программного обеспечения. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода [10.]. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Присутствует удобный редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода.


Основными преимуществами Visual Studio являются:

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

Главными недостатками среды является ее ориентированность на платформу .NET и тот факт, что точно так же, как и в случае с Windows, лицензия VS для коммерческих продуктов является платной.

Наиболее подходящим вариантом для низкобюджетных проектов остается операционная система Linux. Кроме того, что большинство дистрибутивов этой ОС являются свободно распространяемыми, до сих пор имеется ряд бесплатных средств для разработки ПО для этой системы. Одним из наиболее распространенных средств для программирования на языках C, C++ и QML является кроссплатформенная свободная IDE под названием Qt Creator. Эта среда была разработана Trolltech (Digia) для работы с фреймворком Qt; первоначальное кодовое название – Greenhouse. Qt Creator включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием виджетов QtWidgets (аналог WinForms), так и QML.

Эта интегрированная среда разработки также выглядит слишком ориентированной на Qt и прекрасно интегрируется с экосистемой Qt (Qt Designer, система сборки Qt), в то же время ее возможности ничем не уступают другим средам. Вот лишь некоторые из них:

  • простой и удобный конструктор GUI-форм;
  • кроссплатформенность;
  • поддержка отладки, компиляции, профилирования, автозаполнения кода и рефакторинга;
  • поддержка анализа статического кода;
  • быстрый компилятор Qt;
  • визуализация данных Qt;
  • Qt Quick 2D Renderer;
  • Qt WebView;
  • Qt Virtual Keyboard.

Основная задача Qt Creator – упростить разработку приложения с помощью фреймворка Qt на разных платформах. Поэтому среди возможностей, присущих любой среде разработки, есть и специфичные, такие как отладка приложений на QML и отображение в отладчике данных из контейнеров Qt, встроенный дизайнер интерфейсов: как на QML, так и на QtWidgets.

В Qt Сreator реализовано автодополнение, в том числе ключевых слов, введённых в стандарте C++11 (начиная с версии 2.5), подсветка кода (её определение аналогично таковому в Kate, что позволяет создавать свои виды подсветок или использовать уже готовые). Также, начиная с версии 2.4, есть возможность задания стиля выравнивания, отступов и постановки скобок.


Реализован ряд возможностей при работе с сигнатурами методов, а именно:

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

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

Для небольших и средних мультиплатформенных проектов свободно распространяемая среда разработки Qt Creator будет лучшим выбором.

ЗАКЛЮЧЕНИЕ

Итак, языки программирования высокого уровня (ЯВУ) изначально были созданы, чтобы облегчить написание программ и для того, чтобы приблизить описание программы к человеку и предоставить абстракцию, не привязанную к ЭВМ. Сейчас ЯВУ ушли далеко за пределы только описания программ. Например, существуют полуформальные графические языки для описания алгоритмов, дизайна программ, описания вариантов использования и многого другого (имеются ввиду различные блок-схемы и UML). Существует большое число языков программирования на сегодняшний день, причем все они обладают своими особенностями, поддерживают различные парадигмы, имеют свою область применения. Само понятие ЯВУ претерпело со временем множество изменений – для первых языков, таких как COBOL, числа, строки и файлы были существенным уровнем абстракции, теперь же большинство языков снабжены полиморфизмом и абстрактными типами данных. Стоит отметить, что в различных инженерных дисциплинах есть свои формальные языки, но в области программирования их выбор существенно больше и разнообразнее, и этот выбор не ограничен какими-либо стандартами, государственными или отраслевыми [4.].

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

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


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

Таким образом, все поставленные в курсовой работе цели были выполнены в полном объеме.

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

  1. Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона + CD / Н. Вирт; пер. Д. Б. Подшивалов. - 2-е изд., испр. - М.: ДМК Пресс, 2012. - 272 с.
  2. Давыдов В.Г. Visual С++. Разработка Windows-приложений с помощью MFS и API функций / В.Г. Давыдов – СПб.: БХВ – Петербург, 2008. – 576 с.
  3. Демидович Е.М. Основы алгоритмизации и программирования. Язык Си, учебное пособие / Е. М. Демидович. - 2-е изд., испр. и доп. - СПб.: БХВ - Петербург, 2008. - 440 с.
  4. Ключарев А.А., Матьяш В.А., Щекин С.В. Структуры и алгоритмы обработки данных: Учебное пособие / СПбГУАП. СПб., 2004.
  5. Кнут Д. Искусство программирования // The art of computer programming: [в 3 т.]. Т.1. Основные алгоритмы / Д. Кнут; ред. Ю. В. Козаченко. - 3-е изд. - М.: Вильямс, 2014. - 720 с.
  6. Колдаев В.Д. Основы алгоритмизации и программирования: Учебное пособие / В. Д. Колдаев под ред. проф. Л.Г. Гагариной - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2016. - 416 с.
  7. Оберг Р.Д., Торстейнсон П. Архитектура .NET и программирование с помощью Visual C++ / Р.Д. Оберг, П. Торстейнсон пер.с англ. М.:Издательский дом "Вильям", 2002. - 656 с.
  8. Страуструп Б. Язык программирования C++: специальное издание / Б. Страуструп; пер.: С. Анисимов, М. Кононов; ред.: Ф. Андреев, А. Ушаков. - [Б. м.]: Бином-Пресс, 2008. - 1098 с.
  9. Шилдт Г. Полный справочник по С#, 4-ое издание / Г. Шилдт пер. с англ. – М.: Издательский дом «Вильямс», 2015. – 704 с.
  10. Документация по семейству продуктов Visual Studio [Электронный ресурс] / URL: https://docs.microsoft.com/ru-ru/visualstudio/?view=vs-2019 (дата обращения – 13.05.2020).
  11. Advantages and Disadvantages of C++ [Электронный ресурс] / URL: https://data-flair.training/blogs/advantages-and-disadvantages-of-cpp/ (дата обращения: 13.05.2020)
  12. Index | TIOBE [Электронный ресурс] / URL: https://www.tiobe.com/tiobe-index/ (дата обращения: 13.05.2020)