Для формирования исходного кода программы в интегрированной системе программирования используется

Обновлено: 16.05.2024

Презентация на тему: " Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования." — Транскрипт:

1 Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования Вопросы по теме

11 Вопрос 1 Интегрированная система программирования включает компонент для набора исходного текста программы (исходного кода), который называется. редактором связей отладчиком конструктором текстовым редактором библиотекой далеедалее

12 Ответ на вопрос1 Интегрированная система программирования включает компонент для набора исходного текста программы (исходного кода), который называется. редактором связей отладчиком конструктором текстовым редактором библиотекой далеедалее

13 Вопрос 2 Интегрированная система программирования включает компонент для перевода исходного текста программы в машинный код, который называется. текстовым редактором редактором связей построителем кода компилятором Далее Далее

14 Ответ на вопрос2 Интегрированная система программирования включает компонент для перевода исходного текста программы в машинный код, который называется. текстовым редактором редактором связей построителем кода компилятором ДалееДалее

15 Вопрос 3 Компилятор отличается от интерпретатора тем, что… создает объектный код проверяет синтаксис исходной программы анализирует текст исходной программы проверяет правильность семантики исходной программы Далее Далее

16 Ответ на вопрос3 Компилятор отличается от интерпретатора тем, что… создает объектный код проверяет синтаксис исходной программы анализирует текст исходной программы проверяет правильность семантики исходной программы Далее Далее

17 Вопрос 4 Процесс трансляции всей программы без ее выполнения осуществляет … драйвер ассемблер компилятор интерпретатор Далее Далее

18 Ответ на вопрос 4 Процесс трансляции всей программы без ее выполнения осуществляет … драйвер ассемблер компилятор интерпретатор Далее Далее

19 Вопрос 5 Система программирования предоставляет программисту возможность … анализа существующих программных продуктов по соответствующей тематике автоматической сборки разработанных модулей в единый проект автоматического построения математической модели исходя из постановки задачи выбора языка программирования ДалееДалее

20 Ответ на вопрос 5 Система программирования предоставляет программисту возможность … анализа существующих программных продуктов по соответствующей тематике автоматической сборки разработанных модулей в единый проект автоматического построения математической модели исходя из постановки задачи выбора языка программирования ДалееДалее

21 Вопрос 6 Пошаговую трансляцию и немедленное выполнение операторов исходной программы осуществляет … интерпретатор ассемблер компилятор драйвер Далее Далее

22 Ответ на вопрос 6 Пошаговую трансляцию и немедленное выполнение операторов исходной программы осуществляет … интерпретатор ассемблер компилятор драйвер Далее Далее

23 Вопрос 7 И компилятор, и интерпретатор,- оба выполняют … непосредственное исполнение исходной программы создание объектного кода создание программы на языке высокого уровня анализ текста исходной программы Далее Далее

24 Ответ на вопрос 7 И компилятор, и интерпретатор,- оба выполняют … непосредственное исполнение исходной программы создание объектного кода создание программы на языке высокого уровня анализ текста исходной программы Далее Далее

25 Вопрос 8 Программа, которая объединяет объектные модули отдельных частей программы и добавляет к ним стандартные модули подпрограмм стандартных функций, в единую программу, готовую к исполнению, называется … библиотекой редактором связей текстовым редактором отладчиком Далее Далее

26 Ответ на вопрос 8 Программа, которая объединяет объектные модули отдельных частей программы и добавляет к ним стандартные модули подпрограмм стандартных функций, в единую программу, готовую к исполнению, называется … библиотекой редактором связей текстовым редактором отладчиком Далее Далее

27 Вопрос 9 Системами программирования являются: a)Ms Dos б)Java в)Adobe PhotoShop г)Visual C++ д)Borland Delphi а,г в,д а,в б,г,д ДалееДалее

28 Ответ на вопрос 9 Системами программирования являются: a)Ms Dos б)Java в)Adobe PhotoShop г)Visual C++ д)Borland Delphi а,г в,д а,в б,г,д ДалееДалее


Компиляция — это сборка программы, включающая трансляцию всех модулей программы, написанных на одном или нескольких исходных языках программирования в эквивалентные программные модули на машинном (двоичном) языке (коде) и последующие действия по сборке исполняемой машинной программы. Программное обеспечение выполняющее эти многоступенчатые операции (см. ниже) называется компилятором.
Первый компилятор был создан Грейс Хоппер (1906 — 1992) — американской учёной и коммодором флота США. (Ей также приписывается популяризация термина debugging для устранения сбоев в работе компьютера.)

Примечание. Обратите внимание, что разрабатываемые стандарты (С++20 и С++23) имеют в GCC экспериментальную поддержку.

Процесс создания программы

Верстка исходного кода
Препроцессор
Компиляция
Компоновка
Тестирование и отладка программы

Структура программы

Пустая программа

В С++ main() называется главной функцией программы. В ней осуществляется реализация основного алгоритма программы: вызовы функций, обращения к объектам библиотечных и пользовательских классов, инициализация, ввод и вывод данных, взаимодействие с операционной системой.

говорит о том, что мы будем использовать пространство имен стандартной библиотеки (STD). Это позволит сделать код более лаконичным. В противном случае строка 11 выглядела бы следующим образом:

Создание консольного приложения

Сохраним этот файл с именем mypro1.cpp в директории

5

/workspace/my_pro_1/

Для компиляции и линковки приложения необходимо ввести следующую команду в окне терминала Konsole:

6

Данная команда состоит из следующих элементов: g++ - вызов программы-компилятора (GCC) с флагом -o . Далее вводится имя бинарного файла и имя компилируемого "исходника".

В результате выполнения этой команды в директории

/workspace/my_pro_1/ появится исполняемый бинарный файл с именем mypro1 . В окне терминала запустим эту программу обращаясь по имени файла: ./mypro1 . Результат работы программы появится здесь же, в окне терминала - это символьная строка ". Hello World. " .
В компиляторе GCC, по умолчанию, не включена поддержка стандарта C++11 . Для включения поддержки этого стандарта в команду g++ необходимо добавить следующий флаг: -std=c++11 . (Отметим, что программы нашего курса требуют включения поддержки стандарта не ниже C++11).
Флаги стандартов:

  • -std=c++11 или -std=c++0x
  • -std=c++14 или -std=c++1y
  • -std=c++17 или -std=c++1z
  • -std=c++2a

Интегрированные среды разработки (IDE)

Мы не будем использовать при создании программ текстовые редакторы, поскольку они не предлагают разработчикам никакого инструментария для быстрой верстки приложений. Для эти целей мы будем использовать интегрированную среду разработки (IDE). IDE включают в себя редакторы кода, средства работы с компилятором и отладчиком, интеграцию с системами управления версиями, конструкторы GUI. IDE существенно облегчают и ускоряют верстку программного кода, так как встроенные редакторы обладают возможностью подсветки синтаксиса, автодополнения, навигации и рефакторинга. Существует большое семейство IDE для программирования на C/C++ как проприетарных, так и free software. Крупнейшие производители коммерческого ПО предлагают некоторые свои продукты, такие как IDE и компиляторы, совершенно свободно, но с весьма усеченным комплектованием.
Однако, в настоящее время, разработчики обеспечены значительным количеством свободных IDE, которые имеют довольно мощные интерфейсы, ничем не уступающие интерфейсам коммерческих аналогов. Динамично развивающиеся проекты доступны на гораздо большем числе платформ, что позволяет свободно писать кроссплатформенные приложения. Ими поддерживается большой спектр компиляторов, включая коммерческие. Среди крупнейших, из свободных IDE, можно отметить следующие:

  • Eclipse IDE for C/C++ Developers (Допускается к использованию на Всероссийской олимпиаде по информатике)
  • Code::Blocks (Допускается к использованию на Всероссийской олимпиаде по информатике, является базовым в нашем курсе)
  • QtCreator (это среда будет базовой в нашем курсе при знакомстве с технологией RAD)
  • CodeLite
Qt-creator



Qt Creator — кроссплатформенная свободная IDE для разработки на С, С++ и QML. Разработана Trolltech для работы с фреймворком Qt. Включает в себя графический интерфейс отладчика и визуальные средства разработки интерфейса как с использованием QtWidgets, так и QML. Данная IDE является базовой в нашем курсе.

IDE Code::Blocks



Code::Blocks написана на С++ и использует библиотеку wxWidgets. Имея открытую архитектуру, может масштабироваться за счёт подключаемых модулей. Поддерживает языки программирования С, С++, D, Fortran. Code::Blocks разрабатывается для Windows, Linux и Mac OS X.

Потоки. Поток вывода

2

В программе b-2.2 мы впервые столкнулись с понятием потока. Что же такое поток? Поток ( stream ) — это абстракция, отражающая перемещение данных от источника к приемнику. В большинстве программ требуется получать данные из-вне (например, с клавиатуы), а также отправлять результаты вычислений на стандартное устройство (монитор).

Такое движение данных называется стандартным потоком ввода/вывода. Разумеется, среда C++ реализует потоки не сама по себе, а в непосредственном взаимодействии с операционной системой. Реализация потоков в языке C++ выполнена таким образом, что потоки для различных источников и приемников выглядят единообразно. Синтаксически вывод на языке C++ действительно напоминает поток. Инструкция потока вывода начинается соответствующим объявлением cout (читается "си-аут"). cout является объектом класса библиотеки C++ отвечающей за ввод и вывод - iostream . Данные отправляют (или добавляются) в поток с помощью операции вставки (вывода) . Например:

Такая строка может быть очень длинной, поэтому, для читабельности кода, эту строку можно (и даже нужно!) оформлять в виде столбца:

Как мы уже сказали ранее, поток завершается манипулятором endl . (Манипуляторы - это инструкции форматирования, которые вставляются непосредственно в поток). Этот манипулятор вставляет завершающий ("нулевой") символ, являющийся признаком конца строки и освобождает буфер вывода. На самом деле, данные не выводятся сразу же на устройство, а накапливаются в специальной области памяти, называемой буфером. Буфер не является чем-то недоступным в программе и в процессе работы, с помощью специальных функций, мы можем получать доступ к элементам буфера непосредственно.

Примечание. Хотя endl и производит переход на новую строку, внутри потока использовать его не следует (но возможно). Для того, чтобы осуществить переход на новую строку используется специальная управляющая последовательность "\n" (как во фрагменте программы выше).

Форматированный вывод

Язык С++ имеет средства форматированного вывода данных. Форматированный вывод обеспечивают манипуляторы. Манипуляторы вставляются в поток, также как и прочие данные - с помощью операции вставки. Полный список манипуляторов вы можете увидеть в методичке.
Постановка задачи. Вывести на экран фигуру по образцу:

В этой программе используется манипулятор setw() , который определяет ширину поля вывода (выравнивание осуществляется справа по умолчанию). В отличие от прочих манипуляторов, для использования setw требуется подключить заголовочный файл iomanip .

Интегрированные системы программирования, или просто системы программирования (СП) – это пакеты программ для создания или изменения программ для ЭВМ. Это инструментальные средства программного обеспечения.

Язык программирования, с которым работает СП, называется ее входным языком. Системы программирования именуются по названию своего входного языка. Например: «Система Бейсик», «Система Паскаль», «Система СИ» и т.д. Иногда название СП содержит префиксы, обозначающие, например, ее фирменное происхождение, например, «Турбо-Бейсик», «Турбо-Паскаль». Приставка «Турбо» означает, что данная СП разработана фирмой Borland International (США).

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

Текстовый редактор. Для создания исходного текста программы (исходного модуля) используются специализированные редакторы, ориентированные на конкретный язык программирования. Такие редакторы могут автоматически проверять правильность синтаксиса программы непосредственно в процессе ее ввода.

Транслятор является обязательным элементом любой системы программирования.

Для того чтобы исходный текст программы, написанный на языке высокого уровня, был переведен на «понятный» ЭВМ язык машинных команд, нужна программа-переводчик – транслятор (англ. – translater).

Существуют два различных метода трансляции. Они соответственно называются: интерпретация и компиляция (англ. compile – составлять, собирать).

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

1. Синхронный перевод. Преподаватель читает лекцию, переводчик одновременно с ним слово за словом переводит ее.

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

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

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

Результаты этих переводов в памяти не сохраняются. Если один и тот же оператор встречается в тексте несколько раз, интерпретатор будет добросовестно выполнять его так, как будто встретил его впервые. Вследствие этого программы-интерпретаторы работают достаточно медленно. Но интерпретатор имеет свои преимущества – с его помощью проще отлаживать программу.

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

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

Основной недостаток компиляторов – это трудности, возникающие при трансляции программ, ориентированных на обработку данных сложных структур (например, массивов).

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

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

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

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

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

На рис. 1.1 показан порядок создания исполняемого модуля в интегрированной системе программирования Turbo Pascal (ТР). Прежде всего с помощью экранного редактора вводится исходный текст программы (исходный модуль), который записывается в файл, например, Prog1.pas. Затем выполняется компиляция и строится объектный модуль – файл Prog1.obj, который далее преобразуется компоновщиком в исполняемый модуль – файл Prog1.exe. Модули Prog1.pas, Prog1.obj и Prog1.exe хранятся на диске. Загрузчик переносит файл Prog1.exe в оперативную память ЭВМ. После этого управление передается на программу, и она начинает выполняться. По окончании процесса происходит возврат в среду Turbo Pascal.

Редактор Prog1.pas Компилятор Prog1.obj Компоновщик Prog1.exe Загрузчик Исполняемый модуль

Магнитный диск Оперативная память

Контрольные вопросы

1. Что такое программа для ЭВМ?

2. Что такое языки программирования? Язык программирования Паскаль, его особенности.

3. Интегрированная система Турбо Паскаль, ее возможности.

4. Зачем нужны трансляторы? Что такое компилятор, чем он отличается от интерпретатора?

5. Что такое отладка программы? Структура ошибок. Для чего нужен контрольный пример?

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

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

Dartmouth BASIC был первым языком, который был создан с IDE, и был также первым, который был разработан для использования в консоли или терминале. Эта IDE (часть Dartmouth Time Sharing System) управлялась при помощи команд, поэтому существенно отличалась от более поздних, управляемых с помощью меню и горячих клавиш, и тем более графических IDE, распространённых в XXI веке. Однако она позволяла редактировать исходный код, управлять файлами, компилировать, отлаживать и выполнять программы способом, принципиально подобным современным IDE.

Maestro I — продукт от Softlab Munich, был первой в мире интегрированной средой разработки для программного обеспечения в 1975 г. и, возможно, мировым лидером в этой рыночной нише в течение 1970-х и 1980-х годов.

Одной из первых IDE с возможностью подключения плагинов была Softbench .

Начиная с 1980-х годов произошло бурное развитие и разнообразие интегрированных сред.

Одной из первых интегрированных сред, которая была качественная, недорогая и с быстрым компилятором стала среда Turbo Pascal фирмы Borland, руководителем разработки которой в середине 1980-х гг. стал Филипп Кан, ученик Никлауса Вирта.

Корпорация Microsoft внесла особо выдающийся вклад в развитие интегрированных сред, благодаря созданию и развитию среды Visual Studio , которая является одним из лучших образцов современной интегрированной среды.

Интегрированные среды

Программное обеспечение (ПО) - все или часть программ, процедур, правил и соответствующей документации системы обработки информации.

Среда разработки программного обеспечения (ПО) — совокупность программных средств, используемая программистами для разработки программного обеспечения .

Простая среда разработки включает в себя:

· средства автоматизации сборки,

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

Интегрированная среда разработки , IDE (англ. IDE, Integrated Development Environment или Integrated Debugging Environment ) — система программных средств, используемая программистами для разработки программного обеспечения (ПО). Такая среда представлена одной программой, не выходя из которой можно производить весь цикл разработки.

В состав комплекса кроме перечисленных выше компонент могут входить

· средства управления проектами

· инструменты для упрощения разработки интерфейса пользователя

· стандартные заготовки («мастера»), упрощающие разработку стандартных задач

Современные среды разработки, поддерживающие объектно-ориентированную разработку ПО, также включают

· диаграмму иерархии классов

Обычно IDE ориентирована на определенный язык программирования, предоставляя набор функций, который наиболее близко соответствует парадигмам этого языка программирования. Однако, есть некоторые IDE с поддержкой нескольких языков, такие как Eclipse, ActiveState Komodo, последние версии NetBeans, Microsoft Visual Studio, WinDev и Xcode

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

Пример задачи в интегрированной среде:

Вывести привет мир!


Интегрированные среды разработки также часто поддерживают пометки в комментариях в исходном тексте программ, отмечающие места, требующие дальнейшего внимания или предполагающие внесение изменений, такие как TODO. В дальнейшем эти пометки могут выделяться редакторами (напр. vim, emacs, встроенный редактор Visual Studio) или использоваться для организации совместной работы с построением тегов и задач (например, в IntelliJ). Использование комментариев с TODO так же является стандартом оформления кода на Object Pascal, Delphi. Microsoft в руководстве по Visual Studio рекомендует использовать тег TODO (наравне с HACK, UNDONE) для следующих пометок:

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

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

Строго говоря, интегрированные среды разработки не относятся к числу средств отладки. Отладка – лишь одно из свойств интегрированных сред, которые представляют собой основу любой визуальной среды разработки.

При традиционном подходе, начальный этап написания программы строится следующим образом:

1. Исходный текст набирается при помощи какого-либо текстового редактора.

2. По завершении набора, работа с текстовым редактором прекращается и запускается кросс компилятор.

3. Как правило, вновь написанная программа содержит синтаксические ошибки, и компилятор сообщает о них на консоль оператора.

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

Интегрированные среды (оболочки) разработки (Integrated Development Environment, IDE) позволяют избежать большого объема однообразных действий и тем самым существенно повысить эффективность процесса разработки и отладки позволяют, то есть они являются RAD-средами различной степени автоматизации процесса программирования.

Рассмотрим по подробнее основные компоненты интегрированных сред.

Основные компоненты интегрированных сред

Как говорилось выше, простая среда разработки включает в себя:

· средства автоматизации сборки,

1)Текстовый редактор — самостоятельная компьютерная программа или компонент программного комплекса (например, редактор исходного кода интегрированной среды разработки или окно ввода в браузере), предназначенная для создания и изменения текстовых данных в общем и текстовых файлов в частности.

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

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

Виды текстовых редакторов:

· Построчный (строковый) текстовый редактор ( англ. line editor) работает с текстом как последовательностью пронумерованных строк, выполняя операции над текстом в указанных строках. Примером такого редактора может быть edlin, входивший в состав MS-DOS .

· Контекстный (строковый) редактор ( англ. context editor), примером которого может быть ECCE ( англ. Edinburgh Compatible Context Editor), выполняет операции над текстом в текущей позиции.

· Экранный текстовый редактор позволяет пользователю перемещать курсор в тексте с помощью клавиш или других устройств ввода.

2)Компилятор — программа , выполняющая компиляцию.

Компилировать — проводить трансляцию машинной программы с объектно-ориентированного языка на машинно-ориентированный язык.

Программа-компилятор ( от слова compile – составлять, собирать) переводит исходный текст в машинный код и записывает его на диск в форме исполняемого(загрузочного) файла. После этого программа выполняется независимо от исходного текста.

Интерпретатор — программа (разновидность транслятора ), выполняющая интерпретацию.

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

Программа-интерпретатор всегда работает совместно с исходным текстом. Она разбирает каждую инструкцию исходного текста (интерпретирует ее) и немедленно исполняет (т.е. файл на машинном языке не создается). Программа в режиме интерпретации работает гораздо медленнее, чем та же программа в машинном коде. Это связано с тем, что каждую инструкцию приходится разбирать во время выполнения (а не заранее, как при компиляции). Многие инструкции в программе выполняются многократно, - и при каждом выполнении интерпретируются заново. Поэтому всюду, где возможно стараются заменить режим интерпретации режимом компиляции. Правда, интерпретация имеет и свои преимущества: с ее помощью проще отлаживать программу. Иногда пользуются режимом «псевдокомпиляции»: ускоряют интерпретацию. За счет предварительного запоминания тех или иных элементов разобранных команд в памяти машины.

Типы интерпретаторов:

· Простой интерпретатор анализирует и тут же выполняет (собственно интерпретация) программу по командно (или построчно), по мере поступления её исходного кода на вход интерпретатора. Достоинством такого подхода является мгновенная реакция. Недостаток — такой интерпретатор обнаруживает ошибки в тексте программы только при попытке выполнения команды (или строки) с ошибкой.

· Интерпретатор компилирующего типа — это система из компилятора , переводящего исходный код программы в промежуточное представление, например, в байт-код или p-код , и собственно интерпретатора, который выполняет полученный промежуточный код (так называемая виртуальная машина ). Достоинством таких систем является большее быстродействие выполнения программ (за счёт выноса анализа исходного кода в отдельный, разовый проход, и минимизации этого анализа в интерпретаторе). Недостатки — большее требование к ресурсам и требование на корректность исходного кода. Применяется в таких языках, как Java и др., а также в различных СУБД .

3)Автоматизация сборки — этап написания скриптов или автоматизация широкого спектра задач, применяемого разработчиками в их повседневной деятельности. Включает в себя такие действия, как:

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

4)Отладчик (дебаггер, англ. debugger) — компьютерная программа , предназначенная для поиска ошибок в других программах , ядрах операционных систем, SQL-запросах и других видах кода. Отладчик позволяет выполнять трассировку , отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.

Основные функции IDE

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

· отладки программного обеспечения

Цель среды разработки заключается в абстрагировании конфигурации, необходимой, чтобы объединить утилиты командной строки в одном модуле, который позволит уменьшить время, чтобы изучить язык, и повысить производительность разработчика. Также считается, что трудная интеграция задач разработки может далее повысить производительность. Например, IDE позволяет проанализировать код и тем самым обеспечить мгновенную обратную связь и уведомить о синтаксических ошибках. В то время как большинство современных IDE являются графическими, они использовались еще до того, как появились системы управления окнами (которые реализованы в Microsoft Windows или X11 для *nix-систем). Они были основаны на тексте, используя функциональные клавиши или горячие клавиши, чтобы выполнить различные задачи (например, Turbo Pascal). Использование IDE для разработки программного обеспечения является прямой противоположностью способа, в котором используются несвязанные инструменты, такие как vi (текстовый редактор), GCC (компилятор), и т.п.

Для больших проектов в среду разработки включаются разнородные продукты разных фирм, разных версий. Пример такого набора: файловый менеджер, набор вспомогательных утилит и пакетных файлов, С++ Builder – как IDE , PLSQL Developer – для работы с СУБД Oracle , Cristal Reports – для создания отчетов , StarTeam – для ведения версий и поддержки коллективной работы.

Работа в интегрированной среде дает программисту:

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

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

Читайте также: