Файл: ИНТЕГРИРОВАННЫЕ СРЕДЫ РАЗРАБОТКИ ПРОГРАММ (Понятие компилятора и интерпретатора).pdf

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

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

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

Добавлен: 25.06.2023

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

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

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

Введение

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

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

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

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

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

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

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

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


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

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

- текстовой редактор;

-компилятор и/ или интерпретатор;

-средства автоматизации сборки;

-отладчик.

Интегрированная среда разработки иногда содержит средства для объединения с системами управлениями разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки включают также браузер классов, инспектор объектов и диаграмму иерархии классов- для использования при объектно-ориентированной разработке программного обеспечения. Существуют интегрированные среды разработки . предназначенные для нескольких языков программирования- такие, как Eclpise, NetBeans, Embarcadero RAD Studio, Qt Creator или Visual Studio,но обычно интегрированные среды разработки предназначается для одного определенного языка программирования.

1.Понятие текстового редактора, принципы работы.

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

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

2.Понятие компилятора и интерпретатора.

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


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

Компиляторы и интерпретаторы в чем отличие и сходство.

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

Схема работы интерпретатора:

[1] исходный код программы->[2]интерпретатор->[3]OC->[4]результат

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

Схема работы компилятора:

[1] исходный код программы->[2]компилятор->[3]OC->[4]объектный код->[5]результат

При использовании программы 1-ый и 2-ой пункты этой схемы «откидывается». Откомпилированные компилятором программы работают заметно быстрее, так как не требуется делать повторный анализ и преобразование исходного кода в код понятный компьютеру.

3. Средства управления версиями.

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

Большинство интегрированных сред разработки используют централизованную модель, когда имеется единое хранилище документов, контролируемое специальным сервером, который выполняет большую часть функций по управлению версиями. Пользователь, работающий с файлами , должен сначала получить нужную ему версию файла из хранилища ; обычно создаётся локальная копия файла , так называемая «рабочая копия». Может быть получена последняя версия или любая из предыдущих, выбранная по номеру версии или дате создания, иногда и по другим признакам. После того, как в документ внесены нужные изменения, новая версия помещается в хранилище. В отличие от простого сохранения файла, предыдущая версия не стирается, а тоже остаётся в хранилище и может быть получена оттуда в любое время. Сервер может использовать дельта-компрессию – способ хранения документов, при котором сохраняются только изменения между последовательными версиями, что позволяет уменьшить объём хранимых данных.


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

Часто бывает, что над одним проектом одновременно работают несколько человек. Если два человека изменяют один и тот же файл, то один из них может случайно отменить изменения, сделанные другим. Системы управления версиями отслеживают такие конфликты и предлагают средства их решения. Большинство систем может автоматически объединить (слить) изменения, сделанные разными разработчиками. Однако такое автоматическое объединение изменений, возможно обычно только для текстовых файлов и то, только при условии, что изменялись разные (непересекающиеся) части этого файла. Такое ограничение связано с тем, что большинство систем управления версиями ориентированы на поддержку процесса разработки программного обеспечения, а исходные коды программ хранятся в текстовых файлах. Если автоматическое объединение выполнить не удалось, система может предложить решить проблему вручную.

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

Другие возможности системы управления версиями состоят:

- в создании разных вариантов одного документа-ветки, с общей историей изменений до точки ветвления и с разными – после неё.

- возможности узнать, кто и когда добавил или изменил конкретный набор строк в файле;

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

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

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


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

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

4.Отдадчик. процесс отладки.

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

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

Исходные данные->программа->результаты

Наиболее распространенными отладчиками являются:

-GNU Debugger-отладчик программ от проекта GNU;

-IDA- дизассемблер и низкоуровневый отладчик для операционных систем Windows;

- Microsoft Visual Studio- среда разработки программного обеспечения, содержащая в себе средства отладки от корпорации Microsoft;

-Dr. Watson- стандартный отладчик Windows, позволяет создавать дампы памяти;

- OllyDbg - бесплатный низкоуровневый отладчик для операционных систем Windows;