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

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

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

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

Добавлен: 16.05.2023

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

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

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

describe node{

ip_[200,122,122,122] hostname ['admin-node'] system port 3000 alternative port 3001 security method :SSL

}

describe node{

ip_[200,122,122,102] hostname ['indexer-node'] system port 3000 alternative port 3001 security method :none java version JDK 1 4

}

Рис. 4. Пример использования ПОЯ для конфигурирования системы

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

  1. Инструментальные средства языка (language workbenches) - это среды разработки (IDE - Integra­ted Development Environment), предназначенные для создания новых ПОЯ. Среда позволяет определять абстрактный синтаксис языка совместно с редак­торами и генераторами языка (см. рис. 5). Редактор позволяют получить продвинутое и удобное окру­жение, которое учитывает специфику создаваемого ПОЯ по аналогии с IDE для языков общего назна­чения (Eclipse, MS Visual Studio, IDEA, и т. д.).

Рис. 5. JetBrains MPS - пример оболочки для разработки ПОЯ

При использовании подобного инструментария разработчик, практически, не пишет код, а лишь манипулирует абстрактным представлением про­граммы. Разумеется, IDE отображает эти измене­ния в тексте программы, но сути это не меняет - разработчик модифицирует не код, а абстрактное представление. Нечто подобное наблюдается и во время процесса рефакторинга.

О целесообразности разработки ПОЯ

Проблемно-ориентированный язык остается довольно специфичным инструментом - он не вполне вписывается в объектно-ориентированную методологию разработки или в другие модели проектирования (такие как, например, Agile Processes), которые представляют собой существенный сдвиг в понимании процесса разработки. Парадигма ПОЯ предоставляет разработчику возможность в одном и том же проекте использовать 5-10 разных языков, в зависимости от задач конкретного моду- ля/подсистемы без изменения общего подхода к реализации.

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


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

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

• Смена контекста выполнения - даёт разработчику широкие возможности по оптимизации продукта.

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

• Резкое снижение уровня «семантического шума» - позволяет разработчику сконцентрироваться на решении проблемы предметной области.

Недостатки:

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

• Высокие требования к архитектуре ПОЯ- сильно ограничивают спектр предложений на рынке труда.

• Языковое смешение в рамках одного проекта/продукта - значительно усложняет процесс детального понимания принципов работы системы.

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

Заключение

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

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

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

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

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


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

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

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

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

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

Список использованных источников

  1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 2012
  2. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. М.: “Наука”, 2013
  3. Вирт Н. Алгоритмы и структуры данных. - М.: Мир, 2014
  4. Вайсфельд, М. Объектно-ориентированное мышление / М. Вайсфельд. - М.: Питер, 2014. - 338 c.
  5. Васильев, А. Н. Java. Объектно-ориентированное программирование / А.Н. Васильев. - М.: Питер, 2012. - 398 c.
  6. Васильев, А. Н. Java. Объектно-ориентированное программирование / А.Н. Васильев. - М.: Питер, 2013. - 400 c.
  7. Васильев, Алексей C#. Объектно-ориентированное программирование / Алексей Васильев. - М.: Питер, 2012. - 320 c.
  8. Дагене В.А., Григас Г. К., Аугутис К.Ф. 100 задач по программированию. - М.: Просвещение, 2013
  9. Дунаев В. В. HTML, скрипты и стили. Спб.: БХВ – Петербург, 2011 – 816 с.
  10. Епашников A.M., Епашников В.А. Программирование в среде Турбо Паскаль 7.0. - М.: МИФИ, 2014
  11. Комлев, Николай Юрьевич Объектно Ориентированное Программирование. Хорошая книга для Хороших Людей / Комлев Николай Юрьевич. - М.: Солон-Пресс, 2014. - 770 c.
  12. Лафоре, Р. Объектно-ориентированное программирование в С++ / Р. Лафоре. - М.: Питер, 2015. - 928 c.
  13. Лесневский, А. С. Объектно-ориентированное программирование для начинающих (+ CD-ROM) / А.С. Лесневский. - М.: Бином. Лаборатория знаний, 2010. - 232 c.
  14. Мэтью Д. HTML5. Разработка веб-приложений. М.: Рид Групп, 2012 – 320 с.
  15. Никсон Р. Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript. Спб.: Питер, 2011 – 496 с.
  16. Павловская, Татьяна C/C++. Процедурное и объектно-ориентированное программирование. Учебник / Татьяна Павловская. - М.: Питер, 2015. - 496 c.
  17. Пьюривал С. Основы разработки веб-приложений. СПб: Питер, 2015 – 272 с.
  18. Рассел, Джесси Аспектно-ориентированное программирование / Джесси Рассел. - М.: VSD, 2013. - 942 c.
  19. Санников, Е. В. Курс практического программирования в Delphi. Объектно-ориентированное программирование / Е.В. Санников. - Москва: Наука, 2013. - 188 c.
  20. Шакин, В.Н. Объектно-ориентированное программирование на Visual Basic в среде Visual Studio .Net / В.Н. Шакин, А / В.Н. Шакин, Г.К. Сосновиков, З. - Москва:  РГГУ, 2015. - 118 c.