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

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

Содержание:

Введение

В связи с тем, что производительность и доступность ЭВМ (Электронных вычислительных машин) постоянно повышается, прямо пропорционально повышается и сложность выполняемых ими задач и количество программ, которые необходимы для ее функционирования. Ведь с точки зрения конечного пользователя эффективность любой вычислительной машины или операционной системы, написанной для нее, исчисляется количеством приложений, написанных под нее. Так, конечно, было не всегда. До конца 70-тых годов понятия персональный компьютер вообще не существовало как класс. В данном случае такая машина как Altair рассматриваться не будет это был предел математиков энтузиастов. Мы же в контексте данного курсового проекта будем рассматривать, хоть и косвенно, эру появления персональных компьютеров. Она приходится на начало 80-х и длится до наших дней. На то время, абсолютное большинство людей воспринимало персональный компьютер как дорогую игрушку. Связанно это было с тем, что большинство людей не были ни математиками ни уж тем более программистами. Таким образом, появилась необходимость производителям ПК того времени задуматься и о программном обеспечении к их продукту. Более того, необходимо было привлекать и сторонние компании к разработке программ под конкретный компьютер или архитектуру. Стоит правда отметить, что понятия архитектуры и совместимости ПО появились ближе к 1985-му году.

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

Для решения подобного рода задач и были разработаны первые IDE (Integrated development environments) Которые включали в себя как редактор кода, так и сборщик кода, и его отладчик.

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

Теоретические основы

    1. Возникновение систем программирования

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

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

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

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

подать весь набор полученных объектных файлов вместе с необходимыми библиотеками подпрограмм на вход компоновщику;

получить от компоновщика единый файл программы (исполняемый файл) и подготовить его к выполнению с помощью загрузчика;

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

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

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

Поскольку процессу компиляции всегда соответствует типичная последовательность команд, разрабатывать для этой цели командный файл в операционной системе неэффективно и неудобно. Для написания подобных командных файлов пользователям компиляторов был предложен специальный командный язык, который обрабатывался интерпретатором команд компиляции – программой make (от английского глагола – строить, делать). Командный язык Makefile позволял в достаточно гибкой и удобной форме описать весь процесс создания программы от порождения исходных текстов до подготовки ее к выполнению.

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

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

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

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

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

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

  • Глобальный поиск по всем файлам создаваемого проекта.
  • Отображение ошибок в консоли самой интегрированной среды и возможность быстро перейти к ее источнику.
  • Возможность быстрого рефакторинга исходного кода.
  • Авто дополнение исходного кода
  • Возможность быстрой отладки исходного кода.

Первые интегрированные среды разработки были текстовыми и управлялись с помощью горячих клавиш и командной строки. Одной из первых IDE с графическим интерфейсом была Turbo Pascal созданная компанией Borland для популярного на то время языка программирования высокого уровня Pascal. Она имела оконный интерфейс и использовала графические возможности операционной системы MS DOS, которая и была установлена на большинстве IBM совместимых компьютерах. Кроме возможности сборки и компиляции кода данная среда имела встроенный отладчик. На рисунке 1.1. представлено главное рабочее окно Turbo Pascal.

Turbo Pascal 7.1.png

Рисунок 1.1. Основное рабочее окно среды Turbo Pascal.

Современные интегрированные среды разработки зачастую, предназначены для нескольких языков программирования, большинство из них имеют интеграцию с системами контроля версий такими как GIT, SVN и так далее. Так же функциональность некоторых IDE можно расширить с помощью дополнительных модулей, которые пишутся сообществом либо компанией производителем самой интегрированной среды разработки.

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

    1. Редакторы исходного кода

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

В отличии от обычных текстовых редакторов редакторы исходного кода имеют более широкий функционал. Как правило они имеют подсветку синтаксиса для множества языков программирования и позволяют использовать авто дополнение кода для их стандартных функций. Как и в случае с интегрированными средами многие программы данного класса имеют возможность расширения с помощью сторонних модулей и даже взаимодействуют с компиляторами и отладчиками. Но, в отличии от интегрированных сред разработки потребляют меньше ресурсов. Таким образом, некоторые разработчики программного обеспечения предпочитают использовать редакторы кода вместо интегрированных средств разработки и отлаживать разрабатываемое приложение вручную. Стоит отметить, что в большинстве своем данная тенденция касается разработчиков, которые, используют в своей работе языки программирования, которые, не требуют пере сборки проектов после внесения каких-либо изменений в исходный код приложения это такие языки как: HTML, PHP, JavaScript и т. д. Однако такой подход имеет свои недостатки к примеру нет глобального поиска определенной части кода по всем файлам проекта. Редактор может искать только в тех файлах, которые в данный момент открыты или только по одному каталогу. Так же нет возможности получить авто дополнение кода по тем функциям, классам или методам, которые, были унаследованы из других файлов проекта и абсолютно невозможно посмотреть данные, с которыми наследуемый метод работает. Что во многом ведет к большим время затратам при написании исходного кода программы и дальнейшей его отладке. Так же повышается вероятность ошибок в конечном программном обеспечении.

  1. Обзор функциональных возможностей современных интегрированных сред разработки программ и редакторов исходного кода

    1. Обзор современных интегрированных сред разработки

В контексте данного курсового проекта будет целесообразным рассмотреть две популярные на сегодняшний день интегрированные среды разработки программ такие как Microsoft Visual Studio и eclipse. Так как на сегодняшний день именно они задают мировые тренды развития и функциональности современных интегрированных сред разработки программного обеспечения.

Microsoft Visual studio

Visual studio созданная корпорацией Microsoft является одной из старейших графических интегрированных сред разработки программ. Она позволяет разрабатывать программное обеспечение под все актуальные технологии, предлагаемые корпорацией Microsoft. Актуальная на сегодняшний день версией Visual Studio является Visual studio 2017 краткий обзор которой и будет приведен ниже.

Рисунок 2.1. Стартовая страница Microsoft Visual Studio 2017

На рисунке 2.1. Показана стартовая страница интегрированной среды разработки Visual Studio 2017. Именно ее видит пользователь при запуске данной среды. Рассмотрим ее с лева на права. С лева находится несколько секций:

  • Get Started- содержит краткую информацию о среде разработки и позволяет быстро в ней освоится.
  • Recent- содержит список последних открытых проектов.

В середине содержатся следующие секции:

  • Open- Позволяет открывать проекты из Microsoft Azure или локального жесткого диска.
  • New project- позволяет не заходя в меню File->New создать новый проект.

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

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

Рисунок 2.2. Окно создания нового проекта в Visual Studio

На рисунке 2.2. Отображено окно создания нового проекта. Стоит обратить внимание что в секции выбора шаблона проекта есть возможность выбора языка программирования, на котором, данный проект планируется реализовать. Связанно это с тем, что с 2003 года корпорация Microsoft перешла на технологию .NET созданной ею же. По сути, .NET это виртуальная машина, которую, можно сравнить с виртуальной машиной Java JVM (Java virtual Machine). Идея состоит в том, чтобы компилировать исходный текст программы не в машинный код, а в так называемый байт код, который, затем компилируется в машинный код. Разработчики языка программирования Java добиваются таким образом кроссплатформенности приложений, созданных с помощью данного языка. Девиз Java звучит как “Write once, run everywhere” что в переводе на Русский звучит как Пишите раз, запускайте везде. Однако, идея корпорации Microsoft была не в кроссплатформенности созданных разработчиками приложений, а в технологии CLR (Common language runtime). Было сделано так что, виртуальная машина .NET Framework’a позволяет использовать не один конкретный язык программирования, а несколько. Исходный код, написанный на любом поддерживаемом данной технологией языке, перекомпилируется в код виртуальной машины .NET и лишь затем выполняется. Таким способом корпорация Microsoft привлекает в ряды разработчиков программного обеспечения не только узкоспециализированных на одном языке программистов, а и разработчиков привыкших писать на Basic к примеру и не желающих переучиваться на какой-то один язык программирования.

Стоит так же отметить, что корпорация Microsoft специализируется не только на создании приложений для своей операционной системы Windows, а и на создании инструментов и технологий для других ниш таких как: Веб разработка, корпоративный сегмент, облачные технологии, искусственный интеллект и многое другое. Из-за этого Visual Studio стала занимать много ресурсов на компьютере разработчиков. Так, корпорация Microsoft в Visual Studio 2017 предложила своим пользователям установку только тех технологий с помощью, которых, они планируют разрабатывать программное обеспечение в ближайшее время. Именно поэтому в окне создания нового проекта Visual Studio нам предлагает заново открыть установщик и до установить те компоненты, которые, нам могут быть необходимы.

Как видно из рисунка 2.2. окно создания проекта делится на две части: Выбор языка программирования или используемой технологии, эта секция находится слева и шаблона. Шаблон — это автоматически сгенерированный код с уже подключенными компонентами и базовыми библиотеками. Таким образом, разработчик может сразу приступить к разработке логики приложения и не занимается рутинными процедурами такими как подключение нужных библиотек и компонентов, разработкой так называемого скелета приложения компонентов необходимых для его запуска.

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

Рисунок 2.3. Онлайн шаблоны в Visual Studio 2017

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

Далее рассмотрим возможности Visual Studio при работе с проектами разного назначения. Будут рассмотрены: консольное приложение на языке C++, приложение для операционной системы Windows на языке C# и веб приложение с использованием технологии ASP.Net MVC.

Рисунок 2.4. Рабочая область создания консольного приложения

При использовании инструментов для разработки консольного приложения присутствуют следующие элементы: не посредственно редактор кода, консоль в которой отображаются ошибки и другая служебная информация, и файловый менеджер он же Solution Explorer или обозреватель решения. Так же доступен отладчик и система авто дополнения кода. т. е. как показано на рисунке 2.5. редактор может автоматически дополнить код с необходимой функцией при вводе ее первых символов. Данная технология получила название IntelySence. Она позволяет разработчику выбрать из выпадающего списка необходимую ему функцию, что в разы минимизирует синтаксические ошибки при написании исходного кода. Так же в данном списке можно увидить список параметров которые, принимает дополняемая функция и тип значения которое она должна вернуть. Это минимизирует необходимость запоминать, где и какая функция была задана и за что конкретно она отвечает.

Рисунок 2.5. IntelySence в Visual studio

Рассмотрим структуру проекта созданного с помощью Visual Studio. В корневом каталоге данного проекта находится важный для нас файл с расширением .sln В нем прописана такая информация как точка входа и зависимости необходимые для функционирования создаваемого приложения. На рисунке 2.6. Этот файл выделен.

Рисунок 2.6. Корневая директория проекта

Далее нас может заинтересовать директория с таким же названием, как и наш проект ArrayTasks. В ней хранятся файлы с исходными кодами создаваемого проекта и, если мы откроем файл ArrayTask.cpp мы увидим такую же картину, как и в редакторе кода Visual Studio. На рисунке 2.7. показан листинг данного небольшого приложения.

Рисунок 2.7. Файл ArrayTask.cpp

И последняя директория на которую, стоит обратить внимание это Debug. Именно в ней хранится бинарный файл .exe сгенерированный при сборке данного проекта и другая служебная информация.

Рисунок 2.7. Директория Debug

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

Далее будет целесообразным рассмотреть возможность создания Desktop приложений для операционной системы Windows. Пример будет реализован на языке программирования высокого уровня C# он же си шерп. Этот язык был написан корпорацией Microsoft в том же 2003-м году с выходом .Net Framework v1.1. Целью корпорации Microsoft было создание универсального языка программирования для создания как настольных приложений для операционной системы Windows, так и веб приложений запускающихся непосредственно в браузере пользователя. В начале для этих целей планировалось использовать модифицированную версию языка Java патентами на который владела компания Sun microsystems сегодня поглощённая корпорацией Oracle. И в 1997 году выходит Microsoft Visual studio версии 6.0 с модифицированной версией данного языка. Однако, Sun Microsystems подает на Microsoft в суд за нарушение патентов и лицензионного соглашения в котором прописано что язык Java можно использовать бесплатно, но, не модифицировать сами интерпретатор и компилятор данного языка программирования. Вскоре Sun Microsystems выигрывает суд и Microsoft вынужден выплатить штраф и убрать язык Java из следующей версии Visual Studio. Далее компания начинает работу над созданием технологии .NET и нового языка программирования C# по концепции схожим с Java. Visual Studio тоже не отставала в его поддержке и так появился Windows Forms и Windows presentation foundation базирующиеся на языке C# и предоставляющий конечным разработчикам удобный интерфейс для разработки настольных приложений для операционной системы Windows.

Рисунок 2.8. Создание Desktop приложения

Способ создания приложений для Windows в Visual Studio во многом схож с тем, что уже было реализовано компанией Borland в своей интегрированной среде разработки Delphi. По сути, тот же построитель форм. Как показано на рисунке 2.8. дизайнер выглядит следующим образом. Есть форма она же окно будущего приложения и есть набор диалогов кнопок и т., д., которые, можно использовать в своем приложении. Удобно то что элементы интерфейса расположены по категориям, таким образом поиск по ним очень удобен. С помощью языка C# можно их обрабатывать. В листинге 2.1. Показан способ обработки нажатия кнопки.

private void button1_Click(object sender, EventArgs e)

{

//функция которая должна выполнится при нажатии кнопки.

}

Листинг 2.1. Обработчик событий

Лишь заметим то, что исходный код был сгенерирован автоматически средой разработки.

Каждый элемент формы имеет свои уникальные свойства. На Рисунке 2.8. справа Отображены свойства элемента кнопка.

Рисунок 2.8. Свойства элемента кнопка

Добавим элемент Combobox, как видно из рисунка 2.9. опции в окне свойств изменились. Таким образом можно конфигурировать каждый элемент интерфейса создаваемого приложения. Данный подход называется WYSIWYG “What you see that you get”, в переводе на русский язык это означает вы получаете то, что вы видите. Таким образом, не пришлось вручную прописывать исходный код вручную, как это было раньше во времена MS Dos. В данном случае мы можем воспользоваться построителем форм, а исходный код сгенерирует сама Visual Studio.

Рисунок 2.9. Свойства элемента ComboBox.

Однако как говорилось выше, корпорация Microsoft не собиралась и не собирается ограничиваться только лишь предоставлением технологий для разработки приложений для Windows. И в 2005-м году выходит ее новая революционная на то время технология для разработки веб приложений ASP.Net MVC. Сама технология ASP.Net уже существовала в виде ASP.Net WebForms. Это была попытка реализовать API (Application programming interface) для веб приложений в виде того же WYSIWYG редактора который, был описан выше для веб приложений. Однако, на пороге был HTML5 и новый движок JavaScript V8, а значит, что создавать веб приложения таким образом было все труднее. И тогда Microsoft приняла решение разрабатывать свой веб фреймворк с использованием паттерна MVC (Model, View, Controller). Где Model- отвечает за работу с базами данных и бизнес логику приложения, Controller отвечает за работу с Model и обработку HTTP запросов пользователя, а View оно же представление которое, не посредственно отображается пользователю. Эти модули имеют некоторую автономность что обеспечивает некоторую автономность их разработки. На примере стандартного MVC приложения рассмотрим возможности Visual Studio и в данном контексте.

Рисунок 2.10. Созданное ASP.Net приложение.

Как видно из Рисунка 2.10. Visual Studio автоматически сгенерировала для нас две сущности паттерна MVC это Controller и View. При запуске любого приложения базирующегося на MVC паттерне, контроллер перехватывает запрос пользователя, выполняет соответствующий скрипт и в дальнейшем возвращает пользователю View в переводе на Русский представление. В листинге 2.2. представлен сам контроллер.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace WebApplication1.Controllers

{

public class HomeController : Controller

{

public ActionResult Index()

{

return View();

}

public ActionResult About()

{

ViewBag.Message = "Your application description page.";

return View();

}

public ActionResult Contact()

{

ViewBag.Message = "Your contact page.";

return View ();

}

}

}

Листинг 2.2. MVC контроллер

Рассмотрим листинг 2.2. более подробно. Сам контроллер представляет из себя класс, который, в данном случае называется HomeController. Он в свою очередь наследует класс Controller в нем описаны методы, которые и определяют поведение сгенерированного Visual Studio класса Controller. Таким образом, можно начинать писать логику приложения. Public ActionResult это ни что иное как функция в плане языка программирования C# здесь уже можно прописывать логику поведения самой страницы. Так же она выступает как ссылка на страницу. т. е. пользователь может добраться до определенной страницы по названию данной функции. Всю маршрутизацию Visual Studio берет на себя. Конечно, данный аспект можно настроить вручную, однако в этом нет большой необходимости.

Так же не мало важным элементом является технология NewGet.

Рисунок 2.11. NewGet manager

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

В качестве вывода можно сказать, что Microsoft Visual Studio является почти универсальным средством для работы со всеми актуальными технологиями, созданными и поддерживаемыми корпорацией Microsoft и замены ей нет, и в ближайшем будущем не предвидится. Стоит отметить, что Visual Studio условно бесплатный продукт. На сегодняшний день существует несколько версий данной интегрированной среды разработки: Community, Professional и Enterprise. Community- является бесплатной и включает в себя все возможности платных версий за исключением некоторых функций для коллаборации в командах и не подходит для больших корпораций однако, функционал данной версии подходит для индивидуальных разработчиков и не больших команд которые, планируют разрабатывать приложения базируясь на технологиях предлагаемых корпорацией Microsoft.

eclipse

eclipse является, интегрированной средой разработки с открытым исходным кодом. т. е. любой разработчик может внести свой вклад в ее функционал или собрать свою интегрированную среду разработки более того eclipse имеет свой API (Application programming interface) для создания плагинов для eclipse. Изначально eclipse предназначался для разработки на языке программирования Java, а так как Java имеет много редакций к примеру: Java SE (Standard edition) включает в себя стандартные элементы языка Java, Java EE (Enterprise edition) включает в себя дополнительный функционал для решения бизнес задач, Java ME (Micro Edition) Не много урезанная версия языка Java предназначенная для написания программного обеспечения для устройств с ограниченной памятью таких как микроволновые печи, мобильные телефоны и так далее. Для того чтобы удовлетворить потребности всех разработчиков, использующих язык Java, и была создана система плагинов для eclipse. А если учитывать то, что eclipse был абсолютно бесплатным и распространялся по лицензии GNU то совершенно не удивительно что сообщество разработчиков стало выпускать сборки eclipse для разных языков программирования и выпускать для данной среды разработки разного рода подключаемые модули.

Очень быстро, eclipse стал стандартом де-факто в корпоративной разработке так как, по сути, стал универсальным инструментом для разработки программного обеспечения. Его гибкость и функциональность быстро завоевала сердца многих программистов. Более того не оспоримым плюсом eclipse стала его кроссплатформенность так как данная интегрированная среда разработки была написана на языке Java, а для прорисовки интерфейса была использована библиотека JWT что позволяло использовать родные элементы интерфейса для операционной системы и оконного окружения. Таким образом, почти любые конфликты при рендеринге оконного интерфейса данной интегрированной среды разработки сводились на нет. Так, eclipse выглядел одинаково как в Unix подобных операционных системах, так и на Mac os x и Windows при этом предоставлял тот же функционал.

Интегрированная среда разработки eclipse развивается и сегодня. С помощью некоммерческой организации Eclipse foundation и многочисленного сообщества разработчиков. Многие из функций данной интегрированной среды стали стандартом де-факто для разработки других сред разработки, которые, создаются другими компаниями. Почти что каждый месяц выходят новые версии и сборки более того, та же корпорация Microsoft активно спонсирует eclipse foundation так как конкурировать с бесплатным продуктом сложно. С приходом Сатья Надела в качестве CEO Microsoft корпорация резко изменила свое отношение к продуктам с открытым исходным кодом. И сейчас есть очень большая вероятность что многое из функционала Visual Studio разработчики смогут увидить и в eclipse.

    1. Обзор функциональности современных редакторов исходного кода

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

Notepad++

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

Рисунок 2. 12. Рабочая область Notepad++

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

Visual studio code

С приходом Сатья Надела в корпорацию Microsoft она сосредоточилась на разработке программного обеспечения с открытым исходным кодом. И в 2015году создала свой собственный редактор исходного кода Visual studio code. Данный редактор поддерживает множество языков программирования и к тому же имеет поддержку работы с системами контроля версий такими как GIT. Так же поддерживается, и система расширений что позволяет Visual studio code стать почти универсальным редактором исходного кода. Более того, данный редактор является кроссплатформенным Он может работать как на Unix системах, так и на Mac os x и Windows. Но, в отличии от Notepad++ он довольно-таки тяжелый, ибо занимает достаточно много места на жестком диске компьютера.

Выводы

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

Список источников

1. Угринович, Н.Д. Информатика и информированные технологии. Учебник для 10-11 классов/Н.Д. Угринович.-3-е изд.- М.: БИНОМ. Лаборатория знаний, 2006. – 511 с.: ил.

2.Тимофеевская, М. Изучаем программирование. – СПб.: Питер, 2002. – 384с.

3.Большой справочник школьника. 5-11 классы. – 4-е изд., испр. – М.: Дрофа, 2001. – 1104 с.

4. Лабор, В. В. Microsoft Visual Basic 6.0. / В. В. Лабор, Д. В. Макарчук – М.: ФСЕ, Мн: Харвест, 2001.

5. Угринович, Н. Д. Практикум по информатике и информационным технологиям: Учебное пособие для общеобразовательных учреждений / Н. Д. Угринович, Л. Л. Босова, Н. И. Михайлова. – 4-е изд. – Мю: БИНОМ. Лаборатория знаний, 2006.

6. Сафронов, И. К. Visual Basic в задачах и примерах. / И. К, Сафронов – СПб.: БХВ-Петербург, 2007.

7. ФАРОНОВ В. В. Turbo Pascal 7.0. – М.: Нолидж, 1998. – 567 с.

8. МАРЧЕНКО А. И., МАРЧЕНКО Л. А. Программирование в среде Borland Pascal 7.0. – К.: Юниор, 1998. – 256 с.

9. БЕЛЕЦКИЙ Я. Энциклопедия языка Си. – М.: Мир, 1992. – 687 с.

10. БЕЛЕЦКИЙ Я. Энциклопедия языка Си. – М.: Мир, 1992. – 687 с.

11. НЕМНЮГИН С.А. Turbo Pascal: практикум – СПб: Питер, 2001. – 256 с.

12. КОФФМАН Э. Turbo Pascal, 5-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 896 с.