Санкт-Петербургский государственный университет
Опубликован: 25.07.2014 | Доступ: свободный | Студентов: 1039 / 80 | Длительность: 17:26:00
Лекция 1:

Концепция современной интегрированной среды разработки приложений

Лекция 1: 12 || Лекция 2 >

1.5. Моноязыковые и многоязыковые интегрированные среды

Первоначально интегрированные среды разрабатывались для программирования на каком-либо одном исходном языке/ Например, среда Турбо-Паскаль - для программирования на расширении языка Паскаль фирмы Borland.

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

Например, широко известная интегрированная среда NetBeans первоначально создавалась как студенческий проект Карлова университета в Праге для программирования на языке Java. В настоящее время среда NetBeans развилась в мощную многоязыковую интегрированную среду, в которой реализована компонента C / C++ development pack, обеспечивающий поддержку разработки проектов на языках C и C++.

Отметим, что среда Visual Studio.NET с самого начала создавалась как многоязыковая среда. Это принципиальная установка фирмы Microsoft - дать возможность разработчикам выбрать наиболее удобный язык (или языки) для соответствующих частей разработанного проекта, а затем собрать проект из бинарных компонент (сборок - assemblies), полученных путем компиляции с соответствующих языков в единый бинарный промежуточный код CIL. Ниже мы еще раз рассмотрим подробнее эту удобную особенность Visual Studio и поддерживаемый ею набор языков.

1.6. Резюме

Интегрированная среда (integrated development environment - IDE) - набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы.

Первыми интегрированными средами стали Турбо-среды фирмы Borland, GNU Emacs, среда программирования на языке Smalltalk. Интегрированные среды существенно повысили производительность программистов и обеспечили удобство разработки.

К числу возможностей современных интегрированных сред относятся: текстовый редактор (включая code completion - автоматическое завершение кода), система сборки бинарных кодов из исходных кодов, отладчик, профайлер, генератор unit-тестов, инструменты поддерждки коллективной разработки, инструменты связи с системой управления версиями, обфускатор, средства создания различных видов проектов и их визуализации, средства расширения функциональности и видов проектов (plug-ins); инструменты моделирования архитектуры проектов на языке UML.

Интегрированные среды могут быть моноязыковыми и многоязыковыми. Среда Visual Studio изначально является многоязыковой, а с версии 7 поддерживает платформу Microsoft.NET.

Ключевые термины

Генератор тестов (unit test generator) - инструмент для генерации типовых тестов для тестирования модулей (units) - методов или процедур - с различными возможными сочетаниями значений аргументов; типичные примеры - инструмент JUnit в интегрированных Java-средах и аналогичный инструмент NUnit в среде Visual Studio
Инструменты поддержки коллективной разработки программ (teamwork) - инструменты поддержки этапов жизненного цикла программы (требования и спецификации, проектирование, реализация, тестирование), распределения заданий по разработке среди участников команды программистов, контроля выполнения заданий менеджером проекта. В среде Visual Studio такая компонента называлась сначала Team Foundation Server (TFS), а, начиная с версии Visual Studio 2013, она реализована в виде облачного интерфейса и получила название Visual Studio Online.
Интегрированная среда (integrated development environment - IDE) - набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы - набор и редактирование исходного текста (кода), компиляцию (сборку), исполнение, отладку, профилирование и др.
Набор инструментов (toolkit, toolbox) - группа инструментов разработки программ, родственных по тематике и функциональности, но не объединенных в одну интегрированную интерактивную среду и вызываемых в командном режиме
Рефакторинг (refactoring) - инструментарий систематических групповых модификаций программ в среде, без принципиальных изменений их функциональности, с целью улучшения кода. К типичным подобным действиям относится, например, изменение имени метода в его определении и во всех использованиях, добавление его аргумента, добавление try-catch - блока для обработки ранее не учтенного исключения и т.п.
Система поддержки сборки (build) - инструментарий для компиляции проектов из исходных кодов, включающая компилятор с исходного реализуемого языка и компоновщик (linker) объектных бинарных кодов в единый исполняемый код (загрузочный модуль); компоновщик используется либо штатный, поставляемый вместо с ОС, либо специфичный для данной среды
Турбо-среды (Turbo Pascal, Turbo C, Turbo C++, Delphi и др.) - интегрированные среды фирмы Borland для поддержки программирования на конкретных языках, реализованные сначала для операционной системы MS DOS, затем - для Windows
GNU Emacs - многоязыковая и многоплатформная интегрированная среда разработки, реализованная для MS DOS, затем для Windows, OpenVMS и для Linux

Краткие итоги

Интегрированная среда (integrated development environment - IDE) - набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы.

Первыми интегрированными средами стали Турбо-среды формы Borland, GNU Emacs, среда программирования на языке Smalltalk. Интегрированные среды существенно повысили производительность программистов и обеспечили удобство разработки.

К числу возможностей современных интегрированных сред относятся: текстовый редактор (включая code completion - автоматическое завершение кода), система сборки бинарных кодов их исходных кодов, отладчик, профайлер, генератор unit-тестов, инструменты поддерждки коллективной разработки, инструменты связи с системой управления версиями, обфускатор, средства создания различных видов проектов и их визуализации, средства расширения функциональности и видов проектов (plug-ins); инструменты моделирования архитектуры проектов на языке UML.

Интегрированные среды могут быть моноязыковыми и многоязыковыми. Среда Visual Studio изначально является многоязыковой, а, начиная с версии 7, поддерживает платформу Microsoft.NET.

Набор для практики

Вопросы

  1. Сформулируйте определение интегрированной среды разработки программ.
  2. Каковы основные компоненты интегрированной среды?
  3. Назовите наиболее популярные интегрированные среды и их фирмы-разработчики.
  4. Какую функциональность обеспечивала среда Турбо-Паскаль?
  5. Что такое текстовый редактор?
  6. Какие дополнительный функции по синтаксической проверке вводимого исходного кода встроены в современные редакторы в интегрированной среде?
  7. Что такое сборка программ?
  8. Что такое отладчик и каковы его типовые команды?
  9. Какую функциональность обеспечивает поддержка коллективной разработки программ?
  10. Что такое Team Foundation Server?
  11. Что такое рефакторинг?
  12. Какие функции реализует поддержка моделирования программ на языке UML?
  13. Что такое обфускация и с какой целью она выполняется?
  14. Что такое моноязыковые и многоязыковые интегрированные среды?

Упражнения

Для данной вводной лекции упражнения не предусмотрены.

Темы для курсовых работ, рефератов, эссе

  1. Краткий обзор концепции интегрированной среды разработки программ (реферат)
  2. Обзор истории интегрированных сред разработки программ (реферат)
  3. Турбо-среды фирмы Borland и их возможности (реферат)
  4. Возможности среды GNU Emacs (реферат)
  5. Обзор функциональности современных инт егрированных сред разработки программ (реферат)

Дополнительные материалы, презентации

Презентация данной лекции доступна в файле VS_2013_Course_1.pptx.

Лекция 1: 12 || Лекция 2 >
Александр Калинин
Александр Калинин

Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ?