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

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

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

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

Добавлен: 01.04.2023

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

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

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

ВВЕДЕНИЕ

Современные системы средств для разработки и отладки программ позволяют провести весь этап разработки продукта – от выработки первых идей, лежащих в основе ранних его версий, до выпуска полного набора программной документации и моделирования ключевых сущностей, составляющих основу продукта. Автоматизация многих процессов с целью упрощения конструирования основных парадигм и графического интерфейса пользователя прикладным программистом стала возможной благодаря эволюции интегрированных сред разработки программ [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, не допускают и того, и другого. В некоторых случаях для упрощения построения графического интерфейса пользователя в среды могут быть интегрированы системы контроля версий и различные другие инструменты.