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

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

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

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

Добавлен: 31.03.2023

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

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

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

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

Операционная среда разработки MS Visual Studio на сегодняшний день является предпочтительным выбором многих разработчиков, работающих на платформе Windows. Среда позволяет эффективно создавать сложные приложения в течение короткого периода времени. В отличие от рассмотренных выше операционных сред модель данной среды существенно богаче и использует такие понятия как решение (solution), проект, пространство имен (namespace) и сборка (assembly). Понятие проекта присутствует во многих средах, например, в среде Delphi. Файл проекта содержит перечисление исходных файлов и прочих ресурсов, из которых система будет строить приложение. В решение среды Visual Studio входят несколько проектов, которые могут быть зависимыми или независимыми друг от друга. Выделяется стартовый проект. Понятие сборки исходит из общеязыковой исполнительной среды CLR (Common Language Runtime). Среда CLR является наиболее революционным изобретением, с появлением которого процесс написания и выполнения приложений становиться принципиально другим.

Компилятор преобразует файлы с исходными кодами в коды на промежуточном языке MSIL (Microsoft Intermediate Language). Вместе с метаданными эти коды записываются PE-файлы (Portal Executable), имеющие расширение exe или dll в зависимости от типа проекта. Также может быть получен модуль с расширением netmodule, который не содержит метаданных.

Всего имеется 12 типов проектов. При загрузке PE-файлы «на лету» транслируются в команды реального процессора.

Каркас Framework.NET, обеспечивающий выполнение программ, не входит в Visual Studio, а является настройкой над операционной системой. Это аналог виртуальной Java-машины.

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


На уровне языка C# пространства имен, аналогично пакетам в Java, служат для структурирования проекта. Пространство имен включает один или несколько классов. В одном исходном файле может определяться несколько пространств имен и в тоже время одно пространство имен может определяться в нескольких файлах. И даже класс может располагаться в нескольких файлах (partial classes) .

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

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

В обзоре экосистема Eclipse относится к консолидированным технологиям, годом широкого распространения которой является 2007 год.

Система реализована на языке Java и изначально представляла собой полноценную интегрированную среду для языка Java. В дальнейшем стали поддерживаться и другие языки. Первые версии были неудобны в том, что целевой продукт вынуждено включал лишнюю функциональность. Начиная с третьей версии, была переработана архитектура всей системы с целью максимального разделения модулей и взаимосвязи между ними. При этом модули Eclipse, образованные из согласованных наборов классов, давали функциональность целых подсистем, таких как подсистемы помощи, обновления продукта, обучения, презентации, многоязыковой поддержки и множество других. Разрабатывая приложение теперь можно постепенно наращивать функциональность, подключая уже готовые бесплатные компоненты. В терминологии Eclipse эти компоненты называются «подключаемыми модулями» или «плагинами» (Plugins). Такая технология становится типичной для развитых операционных сред. Платформа на основе этой технологии получила название RCP (Reach Client Platform), а приложения, соответственно, RCP-приложениями.

Графический интерфейс Eclipse построен с использованием графической библиотеки SWT, которая опирается на графику используемой операционной системы. Предусмотрена возможность создания настраиваемых стилей, которые позволяют произвольно менять как внешний вид приложения, так и поведение составляющих его компонентов. Многооконный интерфейс MDI, реализованный в ОС Windows еще в версии 3.1, заменен на альтернативный интерфейс, основанный на закладках. Этот интерфейс похож на интерфейс MS Visual Studio, но имеет и отличия. Режимы работы могут объединяться в одну панель, либо размещаться каждый в отдельной панели. Имеется встроенный механизм чередования панелей или механизм «быстрых» панелей, когда они не занимают место на экране, а вызываются кнопками по необходимости.


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

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

Такая, сложная на первый взгляд, организация интерфейса, оказывается удобной именно благодаря использованию проекций. Проекцию можно рассматривать как набор визуальных компонент для выполнения конкретно поставленных задач. Например, проекция "Java" содержит необходимый набор для разработки java-приложений, а проекция "CVS" предназначена для оперирования удаленным репозитарием проектов при коллективной разработке. Каждая проекция имеет свой набор меню и панелей инструментов, состав которых можно настраивать и сохранять. Начальный макет проекции определяется разработчиком, но его можно изменять, открывая и закрывая панели и встраивая их в различные места окна Рабочей среды.

Основные визуальные компоненты рабочей среды – панели и редакторы.

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

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


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

За последнее время произошли существенные шаги по упрощению разработки собственных приложений. Кроме мастеров по созданию RCP-приложений, появился мастер конфигурирования и экспорта продукта. Это существенно упрощает подготовку продукта для развертывания клиентом. Доступен экспорт, как в целевой каталог, так и в архив, который можно передать клиенту. Дополнительных инсталляторов не требуется, достаточно просто распаковать архив и создать ярлык на запускаемый файл. Есть возможность создания сборки сразу для нескольких операционных платформ. При желании, можно произвести экспорт продукта в каталог, используя содержимое которого создать автоматический инсталлятор для упрощения жизни неподготовленным пользователям.

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

ЗАКЛЮЧЕНИЕ

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


  1. увеличение абстракции,
  2. кросс-платформенность,
  3. простота использования,
  4. интерактивность,
  5. расширение функционала и т.д.

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Семакин И.Г. Шестаков А.П. Основы программирования: Учебник / И.Г. Семакин, А.П. Шестаков. – М.: Мастерство, 2002. – 432 с.
  2. Макарова Н.В. Основы программирования. Учебник с практикумом (для СПО): учебник / Н.В. Макарова. — М.: КНОРУС, 2016. — 454 с.
  3. Синицын С.В. Программирование на языке высокого уровня: учебник для студентов ВУЗ / С.В. Синицын, А.С. Михайлов, О.И. Хлытчиев. – М.: Издательский центр «Академия», 2010. – 400 с.
  4. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: учебное пособие. – 3-е изд., испр. и доп. / О.Л. Голицына, И.И. Попов. – М.: ФОРУМ, 2008. – 432 с.
  5. Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – 416 с.
  6. Давыдов В.Г. Программирование и основы алгоритмизации: Учебное пособие / В.Г. Давыдов. — М.: Высш. шк., 2003. — 447 с.
  7. Кауфман В. Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК Пресс, 2010. - 464 с.
  8. Опалева Э.А., Самойленко В.Л. Языки программирования и методы трансляции / Э.А. Опалева, В.Л. Самойленко. – СПб.: БВХ-Петербург, 2005. – 480 с.
  9. Орлов С.А. Теория и практика языков программирования: учебник для вузов. Стандарт 3-го поколения / С.А. Орлов. – СПб.: Питер, 2014. – 688 с.
  10. Свердлов С.З. Языки программирования и методы трансляции: учебное пособие / С.З. Свердлов. – СПб.: Питер, 2007. – 638 с.
  1. Семакин И.Г., Шестаков А.П. Основы программирования: Учебник / И.Г.Семакин А.П.Шестаков. – М.: Мастерство, 2002. – С. 22

  2. ) Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – С. 36-37

  3. Свердлов С.З. Языки программирования и методы трансляции: учебное пособие / С.З. Свердлов. – СПб.: Питер, 2007. – С. 26

  4. Орлов С.А. Теория и практика языков программирования: учебник для вузов. Стандарт 3-го поколения / С.А. Орлов. – СПб.: Питер, 2014. – С. 23

  5. Свердлов С.З. Языки программирования и методы трансляции: учебное пособие / С.З. Свердлов. – СПб.: Питер, 2007. – С. 34

  6. Семакин И.Г. Шестаков А.П. Основы программирования: Учебник / И.Г. Семакин, А.П. Шестаков. – М.: Мастерство, 2002. – С. 23

  7. Свердлов С.З. Языки программирования и методы трансляции: учебное пособие / С.З. Свердлов. – СПб.: Питер, 2007. – С. 44

  8. Макарова Н.В. Основы программирования. Учебник с практикумом (для СПО): учебник / Н.В. Макарова. — М.: КНОРУС, 2016. — С. 25

  9. Синицын С.В. Программирование на языке высокого уровня: учебник для студентов ВУЗ / С.В. Синицын, А.С. Михайлов, О.И. Хлытчиев. – М.: Издательский центр «Академия», 2010. – С. 9

  10. Давыдов В.Г. Программирование и основы алгоритмизации: Учебное пособие / В.Г. Давыдов. — М.: Высш. шк., 2003. — С. 16

  11. Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – С. 40

  12. Кауфман В. Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК Пресс, 2010. – С. 44

  13. Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – С. 40

  14. Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – С. 41

  15. Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – С. 42

  16. Колдаев В.Д. Основы алгоритмизации и программирования: учебное пособие / под ред. проф. Л.Г. Гагариной. – М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – С. 42

  17. Свердлов С.З. Языки программирования и методы трансляции: учебное пособие / С.З. Свердлов. – СПб.: Питер, 2007. – С. 18

  18. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования: учебное пособие. – 3-е изд., испр. и доп. / О.Л. Голицына, И.И. Попов. – М.: ФОРУМ, 2008. – С. 38

  19. Опалева Э.А., Самойленко В.Л. Языки программирования и методы трансляции / Э.А. Опалева, В.Л. Самойленко. – СПб.: БВХ-Петербург, 2005. – С. 19

  20. Орлов С.А. Теория и практика языков программирования: учебник для вузов. Стандарт 3-го поколения / С.А. Орлов. – СПб.: Питер, 2014. – С. 27