Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Интегрированные среды разработки программ ( Эволюция первых устройств и сред разработки )

Содержание:

ВВЕДЕНИЕ

Современные системы средств для разработки и отладки программ позволяют провести весь этап разработки продукта – от выработки первых идей, лежащих в основе ранних его версий, до выпуска полного набора программной документации и моделирования ключевых сущностей, составляющих основу продукта. Автоматизация многих процессов с целью упрощения конструирования основных парадигм и графического интерфейса пользователя прикладным программистом стала возможной благодаря эволюции интегрированных сред разработки программ [1.]. Таким образом, изучение возможностей современных средств разработки для выполнения такой автоматизации является актуальной задачей.

Интегрированные среды разработки предназначены для охвата всех необходимых задач программиста в одном приложении. Современные среды предлагают единый интерфейс, который включает в себя все инструменты, которые требуются разработчику. Обычно они включают в себя [2.]:

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

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

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

1. Эволюция первых устройств и сред разработки

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

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

Ничего не изменилось, даже когда в 60-х годах начали появляться менее дорогие и более компактные компьютеры меньшего размера, основанные на более интегрированных электронных схемах, которые начали становиться доступными. Деятельность таких компаний, как DEC (Digital Equipment Corporation), DG (Data General) и TI (Texas Instruments), привела к росту численности компьютеров, поскольку многие компании и университеты покупали их, но метод работы остался прежним.

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

В 1970-е компания Intel создала и популяризировала первые микропроцессоры. В середине этого же десятилетия была основана Microsoft, которая на заре своей деятельности продавала интерпретаторы для языка программирования BASIC. В это время большой популярностью пользуются процедурные языки. Они позволяли разбивать задачи на шаги и решать их за шагом, причем возможность определять каждый шаг в процессе решения задачи была предоставлена программисту. Эти языки использовали императивную парадигму, но последовательно выполняемые операторы могли быть собраны в подпрограммы, то есть более крупные целостные единицы кода, с помощью самого языка. Согласно некоторым классификациям [3.], такой подход выделяется в самостоятельную парадигму, получившую название процедурной. К процедурным языкам программирования относятся также Паскаль, Си [4.], Алгол, КОБОЛ и Фортран. Компиляторы к последним двум языкам программирования появились в 1977 и 1978 годах соответственно и также продавались компанией Microsoft.

Эти ранние интерпретаторы и компиляторы уже были чем-то большим, поскольку они предоставляли простые текстовые редакторы с возможностью нескольких этапов компиляции (в частности, лексический и синтаксический анализ). Компания Softlab Munich в 1975 году разработала Maestro I – ранний прототип интегрированной среды разработки. Он был установлен у 22000 программистов во всем мире. До 1989 года 6000 копий было установлено в Федеративной Республике Германия. Ныне Maestro I принадлежит истории и может быть найден разве что в Музее Информационной технологии в Арлингтоне. Клавиатура Maestro I приведена на рисунке 1.

Рисунок 1 – Клавиатура Maestro I

Лишь в 1983 году компания Borland Ltd. приобрела компилятор языка Паскаль и выпустила его под названием TurboPascal, в котором впервые появился полноценный интегрированный редактор и компилятор. Он позволял править исходный программный код, манипулировать файлами, компилировать, отлаживать и выполнять программы таким же способом, как и многие современные интегрированные среды разработки.

В 1987 году инженер Билл Аткинсон спроектировал и реализовал технологию HyperCard («Гиперкард») – программное приложение и набор средств разработки для компьютеров Apple Macintosh и Apple IIGS. Это была первая визуальная среда программирования, которая позволяла создавать собственные приложения в системе Mac OS. В Гиперкард можно собирать воедино текстовые, графические, звуковые данные, предлагая их пользователю в удобном интерактивном виде. Кроме того, там использовался язык программирования HyperTalk («гиперток»), который упрощал создание обучающих (и других) программ. В частности, первая версия популярной игры Myst была создана с помощью системы Гиперкард. В 1987 Гиперкард продавался примерно за 50 долларов США; в 2004 году он был снят с производства.

Несмотря на то что впервые TurboPascal выдвинул идею интегрированной среды разработки, многие специалисты и исследователи в области компьютерных наук считают, что система Microsoft Visual Basic (VB), выпущенная в 1991 году, была первой настоящей интегрированной средой разработки. Visual Basic был построен на более старом языке BASIC, который был популярным языком программирования в течение 1980-х годов. VB был объектным языком программирования – он поддерживал определение объекта как структуры данных, но не обладал полиморфизмом и наследованием (что отличало его от объектно-ориентированных языков). Впервые с появлением Visual Basic программирование можно было представить в графическом виде, и это дало значительные преимущества в производительности.

Дальнейшее развитие интегрированных сред разработки связано с появлением и последующим ростом популярности объектно-ориентированных языков программирования, таких как C++, C#, Java и других. Основные преимущества современных интегрированных средств рассматриваются в следующем разделе.

2. Ключевые особенности интегрированных сред

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

  • Ускоренная настройка. Без графического интерфейса, предоставляемого визуальной интегрированной средой, разработчикам придется тратить время на настройку нескольких инструментов разработки. Благодаря возможностям интегрированной среды разработчики получают один и тот же набор функций в одном месте без необходимости постоянного переключения инструментов.
  • Ускоренные задачи разработки. Более тесная интеграция всех задач разработки повышает производительность труда разработчиков. Например, код может быть проанализирован лексически и синтаксически во время редактирования, если среда обеспечивает мгновенную обратную связь при появлении синтаксических ошибок. Разработчикам не нужно переключаться между приложениями для выполнения задач. Кроме того, инструменты и функции интегрированной среды разработки помогают разработчикам оптимизировать ресурсы, предотвращать ошибки и использовать наиболее рациональные способы решения задач. Кроме того, интегрированные среды разработки улучшают мыслительный процесс, заставляя разработчиков думать о своих действиях с точки зрения всего жизненного цикла разработки, а не как серии отдельных задач.
  • Непрерывное обучение. Поддержка проектов и самообразование при помощи интегрированных сред – еще одно преимущество. Например, разделы справки или помощи в современных средах разработки постоянно обновляются, а также появляются новые образцы кода, шаблоны проектов и т.д. Программисты, которые постоянно учатся и знакомятся с лучшими практиками, с большей вероятностью будут приносить пользу команде и предприятию и повышать производительность.
  • Стандартизация. Интерфейс интегрированной среды стандартизирует процесс разработки, что помогает разработчикам более комфортно работать вместе и быстрее привлекать к совместному сотрудничеству новых специалистов.

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

Некоторые современные интегрированные среды предназначены для определенного языка программирования или набора языков, предоставляя набор функций, который согласуется с особенностями этого языка [6.]. Например, среда Xcode поддерживается только для языков Objective-C и Swift. Однако также существует много так называемых мультиязычных сред, таких как Eclipse (для языков C, C ++, Python, Perl, PHP, Java, Ruby и других), Komodo (Perl, Python, Tcl, PHP, Ruby, Javascript и других) и NetBeans (Java, JavaScript, PHP, Python, Ruby, C, C ++ и других). Поддержка альтернативных языков часто обеспечивается плагинами. Например, Flycheck является расширением проверки синтаксиса для GNU Emacs с поддержкой 39 языков.

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

Как правило, большинство современных интегрированных сред снабжены графическими интерфейсами. При этом среда может быть автономным приложением, а в некоторых случаях она может быть частью существующего и совместимого приложения. Например, язык программирования BASIC можно использовать вместе с приложениями Microsoft Office, и можно написать программу WordBasic в приложении Microsoft Word. Современные интегрированные среды стремятся обеспечить удобную среду программирования для современных языков, таких как Visual Basic, Java, C# и многих других.

Вряд ли есть какое-либо определение, которое четко проводит границу между интегрированными средами и другими более широкими средами разработки программного обеспечения. Поэтому некоторые среды могут содержать компилятор, а некоторые – интерпретатор, в то время как в некоторых случаях интегрированные среды могут использоваться как компиляторы, так и интерпретаторы [7.]. Некоторыми примерами таких сред, которые поддерживают как компилятор, так и интерпретатор, являются Microsoft Visual Basic и Eclipse, в то время как другие, такие как SharpDeveloper и Lazarus, не допускают и того, и другого. В некоторых случаях для упрощения построения графического интерфейса пользователя в среды могут быть интегрированы системы контроля версий и различные другие инструменты.

Многоязычные интегрированные среды, такие как Eclipse, NetBeans, Komodo, Aptana и Geany, поддерживают несколько языков программирования.

Eclipse: поддерживает C, C++, Python, Perl, PHP, Java, Ruby и другие. Этот бесплатный редактор с открытым исходным кодом является моделью для многих сред разработки. Eclipse начинался как среда разработки Java и расширился с помощью плагинов. В настоящее время Eclipse управляется и направляется Консорциумом Eclipse.org.

NetBeans: поддерживает Java, JavaScript, PHP, Python, Ruby, C, C++ и другие языки программирования. Эта среда также бесплатная и с открытым исходным кодом. Все ее действия определены модулями, каждый из которых обеспечивает четко определенную функцию. Поддержка других языков программирования может быть добавлена ​​путем установки дополнительных модулей.

Komodo: поддерживает Perl, Python, Tcl, PHP, Ruby, Javascript и другие. Эта среда предназначена для промышленной разработки и имеет более высокую цену.

Aptana: поддерживает HTML, CSS, JavaScript, AJAX и другие языки программирования за счет использования специализированных плагинов. Эта среда является довольно популярным выбором для разработки веб-приложений.

Geany: поддерживает C, Java, PHP, HTML, Python, Perl, Pascal и многие другие языки программирования. Это настраиваемая среда с большим набором плагинов.

В последние годы облачные интегрированные среды разработки начинают становиться мейнстримом. Возможности этих веб-ориентированных сред быстро растут, и большинству крупных компаний-разработчиков, скорее всего, придется предлагать свою среду, чтобы быть конкурентоспособным. Облачные среды предоставляют разработчикам доступ к своему коду из любой точки мира. Например, Nitrous – это облачная платформа среды разработки, которая поддерживает Ruby, Python, Node.js и другие. Cloud9 поддерживает более 40 языков, включая PHP, Ruby, Python, JavaScript с Node.js и Go. Heroku – еще одна популярная облачная платформа разработки, поддерживающая несколько языков программирования.

Ниже перечислены среды разработки, предназначенные для тех, кто работает в средах Microsoft или Apple:

Visual Studio: поддерживает Visual C++, VB.NET, C#, F# и другие языки программирования. Visual Studio является средой компании Microsoft и предназначена для создания приложений для платформы Microsoft [8.].

MonoDevelop: поддерживает C / C++, Visual Basic, C# и другие языки .NET.

Xcode: поддерживает языки Objective-C и Swift, а также API-интерфейсы Cocoa и Cocoa Touch. Эта среда предназначена только для создания приложений для iOS и Mac и включает в себя симулятор iPhone / iPad и конструктор графического интерфейса пользователя.

Espresso: поддерживает HTML, CSS, XML, JavaScript и PHP. Это инструмент для веб-разработчиков Mac.

Coda: поддерживает PHP, JavaScript, CSS, HTML, AppleScript и API Cacao.

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

В качестве интегрированной среды разработки была выбрана Dev-C++, написанная на языке программирования Delphi для Windows, которая является легковесной средой, бесплатной и с открытым исходным кодом, которой требуется всего пару минут для установки. Ее обзор и создание простейшего приложения выполняются в следующей главе.

3 Обзор возможностей интегрированной среды разработки Dev-C++

3.1 Базовые понятия среды разработки Dev-C++

Dev-C++ – это полнофункциональная среда для языка программирования C/C++. Как и подобные ей интегрированные среды, она предлагает программисту простой и универсальный инструмент для редактирования, компиляции, компоновки и отладки программ. Она также обеспечивает поддержку управления файлами программы в проектах, содержащих все элементы, необходимые для создания окончательной исполняемой программы.

Dev-C++ использует порт Mingw GCC (GNU Compiler Collection) в качестве компилятора. Он может создавать собственные исполняемые файлы Win32, как для консольных приложений, так и для графических, а также библиотеки DLL и статические библиотеки. Dev-C++ также можно использовать в сочетании с Cygwin или любым другим компилятором на основе GCC. В этой работе будет продемонстрировано использование Mingw, который включен в дистрибутив Dev-C++ по умолчанию, для создания консольных программ на языке Си. Dev-C++ является свободным программным обеспечением, распространяемым в соответствии с GNU General Public License (GPL) [11.].

Dev-C++ включает в себя следующие возможности:

  • Поддержка компиляторов на основе GCC (включая Mingw);
  • Интегрированная отладка (с GDB);
  • Поддержка нескольких языков (локализация);
  • Класс браузера;
  • Отладка переменной браузера;
  • Завершение кода;
  • Список функций;
  • Менеджер проектов;
  • Настраиваемый редактор подсветки синтаксиса;
  • Быстрое создание Windows-приложения, консольные приложения, статические библиотеки и DLL;
  • Поддержка шаблонов для создания собственных типов проектов;
  • Создание Makefile;
  • Редактирование и компиляция файлов ресурсов;
  • Менеджер инструментов;
  • Менеджер пакетов для легкой установки дополнительных библиотек;
  • Поддержка печати.

Кроме того, Dev-C++ имеет набор меню, которые дают возможность давать имена и сохранять файлы исходного кода, а также компилировать, компоновать, выполнять и отлаживать программы, не покидая окно среды разработки. Если компилятор обнаруживает ошибки, выполняется возврат в программу редактора (при этом указываются ошибочные строки программы и соответствующие сообщения об ошибках). Если программа содержит несколько исходных модулей, в среде создается проект, в котором указываются имена файлов, содержащих исходные модули. Это дает возможность не только компоновать все объектные модули проекта в единый загрузочный модуль, но и автоматически перекомпилировать только те модули проекта, в которых были сделаны изменения. Вызов пунктов меню, переключение окон и выход из среды выполняется таким же образом, как и в других приложениях Windows.

Документацию о языке программирования C++ и самой среде можно получить из Dev-C++, нажав «Справка», затем «Справка по Dev-C++» [12.].

3.2 Основы разработки и выполнения программ в Dev-C++

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

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

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

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

Процесс разработки приложения включает в себя следующие этапы:

  1. Создать проект;

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

  1. Написать исходный код;

После написания программы необходимо также сохранить все файлы исходного кода.

  1. Скомпилировать и скомпоновать код;

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

  1. Исправить ошибки компиляции, если таковые имеются;

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

  1. Запустить программу;

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

  1. Исправить ошибки выполнения, если таковые имеются.

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

3.3 Создание простейшего приложения в Dev-C++

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

Проект группирует несколько файлов с общей целью. Создаваемый в этом разделе проект будет включать файл с метаданными о проекте (.dev), файл с исходным кодом C (.c), файл с объектным кодом (.o) и файл с инструкциями по связыванию (makefile.win). Только файл .c должен быть явно создан; остальные файлы автоматически создаются Dev-C++.

При создании проекта Dev-C++ спрашивает пользователя, где должны храниться файлы. Для каждого проекта удобно использовать разные папки, поскольку по умолчанию исходный код называется main.c, а предыдущие файлы могут быть перезаписаны.

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

После запуска среды необходимо создать проект командами меню «Файл» -> «Создать» -> «Новый проект», после чего ввести его название, выбрать язык программирования, а также тип создаваемого приложения. На рисунке 2 создается консольное приложение на языке Си.

Необходимо также выбрать папку для хранения файлов в следующем окне. Каждый проект удобно хранить в отдельной папке.

После указания папки, в которой будет сохранен файл конфигурации проекта (.dev), в среде создается базовый файл исходного кода (по умолчанию main.c). Эти файлы не сохраняются в папке проекта, пока программист не сохранит или не скомпилирует программу.

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

В окне проводника файлов отображается название проекта и включенные файлы. Вкладка Project (Проект) обычно содержит один файл с исходным кодом программы. На этой панели можно найти две дополнительные вкладки: Классы (Classes) и Отладка (Debug). Вкладка Classes отображает функции программы. Вкладка Debug показывает наблюдаемые переменные в процессе отладки.

Рисунок 2 – Параметры создания проекта

Окно «Результаты» используется для представления результатов действий среды: ошибок компиляции, директив компиляции, команд отладки и т.д. Редактор исходного кода показывает код программы.

Файлы проекта сохраняются при сохранении файла исходного кода. Остальные файлы проекта сохраняются при компиляции приложения в папке проекта.

Как только проект будет создан, можно начать писать программу. Например, программа HelloWorld на языке Си продемонстрирована на рисунке 3.

Рисунок 3 – Программа HelloWorld на языке Си

Для запуска программы исходный код должен быть скомпилирован и скомпонован. Dev-C++ выполняет весь процесс после нажатия на кнопку компиляции «Compile» (или Ctrl + F9).

Во время выполнения процесса компиляции и компоновки в среде отображается диалоговое окно со связанной информацией. Если процесс успешен, в окне отображается сообщение «Готово».

Лог компиляции продемонстрирован на рисунке 4. После этого процесса легко убедиться, что все описанные ранее файлы проекта были созданы, в том числе исполняемый (exe) файл программы.

Ошибки компиляции – это ошибки, обнаруженные компилятором. Их также называют ошибками времени выполнения. Чтобы исправить все ошибки компиляции, рекомендуется исправить первую и затем заново скомпилировать программу, поскольку следующие ошибки часто являются неправильными разделами кода, которые компилятор не может интерпретировать как результат первой ошибки. Dev-C++ подчеркивает красной строкой кода, где была обнаружена ошибка компиляции. Вкладка «Компиляция» окна «Результаты» содержит подробное описание ошибки. Журнал компиляции показывает сообщение об ошибке, выданное программой компиляции (рисунок 5).

Рисунок 4 – Лог компиляции Dev-C++

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

В результате процесса линковки создается исполняемая программа. Чтобы запустить эту программу, необходимо нажать кнопку «Выполнить» (Ctrl + F10). Кроме того, можно найти exe-файл в папке проекта и дважды щелкнуть по нему.

Рисунок 5 – Сообщение об ошибке компиляции

Разработка синтаксически правильной программы не означает, что она выполняет необходимые процедуры. Сложные программы подвержены ошибкам, и обычно логика, реализованная в исходном коде, не приводит к ожидаемому поведению. Эти ошибки называются ошибками выполнения или логики, так как они обнаруживаются при запуске программы. Поэтому может потребоваться изменить исходный код и повторить процедуру компиляции и компоновки. В Dev-C++ имеется отладчик, который является вспомогательным инструментом для поиска ошибок времени выполнения. Чтобы использовать отладчик, необходимо изменить параметры компилятора, включив в него отладочную информацию и исполняемые файлы («Инструменты» -> «Параметры компилятора» -> «Компилятор»). Это делается путем добавления параметра –g к вызовам компилятора и компоновщика (рисунок 6).

Рисунок 6 – Опции компилятора для включения отладки

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

ЗАКЛЮЧЕНИЕ

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

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

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

Таким образом, все поставленные в курсовой работе цели были выполнены в полном объеме.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Ключарев А.А., Матьяш В.А., Щекин С.В. Структуры и алгоритмы обработки данных: Учебное пособие / СПбГУАП. СПб., 2004.
  2. Колдаев В.Д. Основы алгоритмизации и программирования: Учебное пособие / Колдаев В.Д; Под ред. проф.Л.Г. Гагариной - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2016. - 416 с.
  3. Павловская Т. А. C/C++. Программирование на языке высокого уровня: учебник. СПб.: Питер, 2017. - 461 с.
  4. Страуструп Б. Язык программирования C++ [Текст] = The C++ Programming Language: специальное издание / Б. Страуструп; пер.: С. Анисимов, М. Кононов; ред.: Ф. Андреев, А. Ушаков. - [Б. м.]: Бином-Пресс, 2008. - 1098 с.
  5. Кнут Д. Искусство программирования [Текст] = The art of computer programming: [в 3 т.]. Т. 1. Основные алгоритмы / Д. Кнут; ред. Ю. В. Козаченко. - 3-е изд. - М.: Вильямс, 2014. - 720 с.
  6. Демидович Е.М. Основы алгоритмизации и программирования. Язык СИ [Текст]: учебное пособие / Е. М. Демидович. - 2-е изд., испр. и доп. - СПб.: БХВ - Петербург, 2008. - 440 с.
  7. Вирт Н. Алгоритмы и структуры данных. Новая версия для Оберона + CD [Текст] / Н. Вирт; пер. Д. Б. Подшивалов. - 2-е изд., испр. - М.: ДМК Пресс, 2012. - 272 с.
  8. Давыдов В.Г. Visual С++. Разработка Windows-приложений с помощью MFS и API функций– СПб.: БХВ – Петербург, 2008. – 576 с.
  9. Шилдт Г. Полный справочник по С, 4-ое издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2015. – 704 с.
  10. Оберг Р.Д., Торстейнсон П. Архитектура .NET и программирование с помощью Visual C++. :Пер.с англ. М.:Издательский дом "Вильям", 2002. 656 с.
  11. Dev-C++ [Электронный ресурс] / URL: http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe. (дата обращения: 30.10.2019).
  12. The Dev-C++ Resource File [Электронный ресурс] / URL: https://www.bloodshed.net/dev/doc/index.html (дата обращения: 01.11.2019).