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

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

Содержание:

Введение

Появление микропроцессоров делает электронику более доступной.

Программных инструментов для управления микропроцессорами много. Конструктор современной электроники уже работает как программист.

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

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

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

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

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

интегрированной среде разработки Visual Studio и Visual Basic.

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

1.1 История

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

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

  1. Исходный текст набирается при помощи какого-либо текстового редактора.
  2. По завершении набора, работа с текстовым редактором прекращается и запускается кросс компилятор.
  3. Как правило, вновь написанная программа содержит синтаксические ошибки, и компилятор сообщает о них на консоль оператора.
  4. Вновь запускается текстовый редактор, и оператор должен найти и устранить выявленные ошибки, при этом сообщения о характере ошибок выведенные компилятором уже не видны, так как экран занят текстовым редактором.

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

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

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

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

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

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

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

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

1.2 Типы языков программирования

В настоящее время языки программирования в зависимости от применяемой вычислительной модели делятся на четыре основные группы:

    Процедурные языки, которые представляют собой последовательность выполняемых операторов. Если рассматривать состояние ПК как состояние ячеек памяти, то процедурный язык – это последовательность операторов, изменяющих значение одной или нескольких ячеек. К процедурным языкам относятся FORTRAN, C, Ada, Pascal, Smalltalk и некоторые другие. Процедурные языки иногда также называются императивными языками.

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

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

    Объектно-ориентированные языки, основанные на построении объектов как набора данных и операций над ними. Объектно-ориентированные языки объединяют и расширяют возможности, присущие процедурным и аппликативным языкам. К объектно-ориентированным языкам относятся C++, Object Pascal, Java.

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

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

Интегри́рованная среда́ разрабо́ткиИСP (англ. Integrated development environment — IDE), также единая среда разработки, ЕСР — комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).

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

  • текстовый редактор,
  • Транслятор (компилятор и/или интерпретатор),
  • средства автоматизации сборки,
  • отладчик.

Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классовинспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. ИСР обычно предназначены для нескольких языков программирования — такие как IntelliJ IDEA, NetBeans, Eclipse, Qt Creator, Geany, Embarcadero RAD Studio, Code::Blocks, Xcode или Microsoft Visual Studio, но есть и IDE для одного определённого языка программирования — как, например, Visual Basic, Delphi, Dev-C++

2. Интегрированная среда разработки Visual Studio

Интегрированная среда разработки Visual Studio — это оригинальная среда запуска, которая позволяет редактировать, отлаживать и создавать код, а затем публиковать приложения. Интегрированная среда разработки (IDE) — это многофункциональная программа, которую можно использовать для различных аспектов разработки программного обеспечения. Помимо стандартного редактора и отладчика, которые существуют в большинстве сред IDE, Visual Studio включает в себя компиляторы, средства выполнения кода, графические конструкторы и многие другие функции для упрощения процесса разработки программного обеспечения[[6]].

На рисунке 1 показана среда Visual Studio с открытым проектом и несколькими окнами основных инструментов, которые вам, скорее всего, понадобятся:

  • Обозреватель решений (вверху справа) позволяет просматривать файлы кода, перемещаться по ним и управлять ими. Обозреватель решений позволяет упорядочить код путем объединения файлов в решения и проекты.
  • В окне редактора (центр), где вы, скорее всего, будете проводить большую часть времени, отображается содержимое файла. Здесь вы можете редактировать код или разрабатывать пользовательский интерфейс, например окно с кнопками или текстовые поля.
  • Team Explorer (правый нижний угол) позволяет отслеживать рабочие элементы и использовать код совместно с другими пользователями с помощью технологий управления версиями, таких как Git и система управления версиями Team Foundation (TFVC).

2.1 Выпуски

Среда Visual Studio доступна для Windows и Mac. Функции Visual Studio для Mac во многом аналогичны возможностям Visual Studio 2019 и оптимизированы для разработки кроссплатформенных и мобильных приложений. Эта статья посвящена версии Visual Studio 2019 для Windows.

Существует три выпуска Visual Studio 2019: Community, Professional и Enterprise. Сведения о функциях, поддерживаемых в каждом выпуске, см. в сравнительном анализе интегрированных сред разработки Visual Studio[[7]]

2.2 Популярные средства повышения производительности

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

  • Волнистые линии и быстрые действия

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

  • Очистка кода

Вы можете одним нажатием кнопки отформатировать код и применить к нему исправления, предложенные параметрами стиля кода, соглашениями в файле EditorConfig и (или) анализаторами Roslyn. Очистка кода помогает устранить многие проблемы в коде еще до проверки кода. (Сейчас эта возможность доступна только для кода на C#.) На рисунке 2 показана эта функция.

  • Рефакторинг

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

  • IntelliSense

IntelliSense — это набор функций, отображающих сведения о коде непосредственно в редакторе и в некоторых случаях автоматически создающих небольшие отрывки кода. По сути, это базовая документация, встроенная в редактор, с которой вам не приходится искать информацию где-то еще. Функции IntelliSense зависят от языка[[8]]. Дополнительные сведения см. в руководствах по IntelliSense для C# , IntelliSense для Visual C++, IntelliSense для JavaScript и IntelliSense для Visual Basic. На рисунке 4 показано, как IntelliSense отображает список членов типа:

  • Поле поиска

Среда Visual Studio может показаться сложной, ведь там столько разных меню, параметров и свойств. Поле поиска позволяет быстро найти нужное содержимое в Visual Studio. Когда вы начнете вводить в поле то, что вы ищете, Visual Studio представит результаты, один из которых точно вам подойдет. Если вам нужно добавить функциональные возможности в Visual Studio, например поддержку дополнительных языков программирования, поле поиска предоставляет результаты, которые открывают Visual Studio Installer для установки рабочей нагрузки или отдельного компонента. На рисунке 5 показано поле поиска

  • Live Share

Предоставляет возможности совместного редактирования и отладки в реальном времени независимо от типа приложения или языка программирования. Вы можете мгновенно и безопасно поделиться своим проектом и, при необходимости, сеансами отладки, экземплярами терминалов, веб-приложениями localhost, голосовыми звонками и многим другим.

  • Иерархия вызовов

В окне Иерархия вызовов показаны методы, вызывающие выбранный метод. Это может быть полезно, если вы собираетесь изменить или удалить метод или хотите отследить ошибку[[9]].

  • CodeLens

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

  • Перейти к определению

С функцией "Перейти к определению" вы напрямую переходите туда, где определена функция или тип.

  • Показать определение

В окне Просмотр определений показано определение метода или типа, при этом не нужно открывать отдельный файл[[10]]

2.3 Установка интегрированной среды разработки Visual Studio

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

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

При первом запуске Visual Studio вы можете выполнить вход с использованием либо учетной записи Майкрософт, либо рабочей или учебной учетной записи.

2.4 Создание программы

Давайте создадим простую программу.

  1. Запустите Visual Studio.

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

  1. Выберите Создать проект. На рисунке 6 отображено поле для создание проекта.

Откроется окно Создание проекта с отображением нескольких шаблонов проектов. Шаблон содержит основные файлы и параметры, необходимые для данного типа проекта.

  1. Чтобы найти нужный шаблон, введите консоль .net core в поле поиска. Список доступных шаблонов автоматически отфильтруется по введенным словам. Вы можете еще больше сузить поиск, выбрав C# в раскрывающемся списке Язык. Выберите шаблон Консольное приложение (.NET Core) и щелкните Далее[[11]]
  2. В окне Настроить новый проект (рис.7) введите HelloWorld в поле Имя проекта, при необходимости измените расположение каталога для вашего проекта и нажмите кнопку Создать.

Visual Studio создаст проект. Это простейший вариант приложения "Hello World", в котором вызывается метод Console.WriteLine() для вывода литеральной строки "Hello World!" в окне консоли (выходных данных программы).

Вы должны увидеть примерно следующее (рис.8):

Код C# для вашего приложения отображается в окне редактора, который занимает большую часть пространства. Обратите внимание, что текст автоматически выделяется цветом для обозначения разных частей кода, таких как ключевые слова и типы. Кроме того, небольшие вертикальные штриховые линии кода указывают, какие фигурные скобки соответствуют друг другу, а номера строк помогут вам найти нужный код позже. Чтобы свернуть или развернуть блоки кода, используйте небольшие рамки со знаком минус. Эта функция структурирования кода позволяет скрыть ненужный код на экране. Файлы вашего проекта перечислены в окне обозревателя решений, которое находится справа.

Есть и другие доступные меню и окна инструментов, но об этом позже.

  1. Теперь запустите приложение. Это можно сделать, выбрав Запуск без отладки в меню Отладка в строке меню. Можно также нажать клавиши CTRL+F5[[12]].

Когда Visual Studio создаст приложение, откроется окно консоли с сообщением Hello World! . Теперь у вас есть выполняемое приложение.

  1. Чтобы закрыть окно консоли, нажмите любую клавишу.
  2. Давайте добавим дополнительный код в приложение. Перед строкой Console.WriteLine("Hello World!"); добавьте следующий код C#:

C#Копировать

Console.WriteLine("\nWhat is your name?");

var name = Console.ReadLine();

Этот код отображается сообщение What is your name? (Введите имя) в окне консоли и ожидает, чтобы пользователь ввел текст и нажал клавишу ВВОД.

  1. Измените строку с текстом Console.WriteLine("Hello World!");, указав следующий код:

C#Копировать

Console.WriteLine($"\nHello {name}!");

  1. Снова запустите приложение, выбрав пункты Отладка > Запуск без отладки или нажав клавиши CTRL+F5.

Visual Studio выполнит повторную сборку приложения. В открывшемся окне консоли отобразится запрос на ввод имени.

  1. Введите свое имя в окне консоли и нажмите клавишу ВВОД (рис.9)[[13]].
  2. Нажмите любую клавишу, чтобы закрыть окно консоли и остановить выполняющуюся программу.

2.5 Использование рефакторинга и IntelliSense

Рассмотрим несколько примеров того, как рефакторинг и IntelliSense помогают повысить эффективность кода.

Во-первых, переименуем переменную name:

  1. Дважды щелкните переменную name, чтобы выбрать ее.
  2. Введите имя переменной, username.

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

  1. Выберите значок лампочки для отображения доступных быстрых действий. Выберите Переименовать name в username.

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

  1. Теперь рассмотрим возможности IntelliSense. Под строкой Console.WriteLine($"\nHello {username}!"); введите DateTime now = DateTime..

Появится поле с членами класса DateTime. Кроме того, в отдельном поле отображается описание выбранного элемента.

  1. Выберите член с именем Now, который является свойством класса, дважды щелкнув его или нажав клавишу TAB. Завершите строку кода, добавив в конце точку с запятой.
  2. Ниже введите или вставьте следующие строки кода:

C#Копировать

int dayOfYear = now.DayOfYear;

Console.Write("Day of year: ");

Console.WriteLine(dayOfYear);

 Совет

Console.Write будет немного отличаться от Console.WriteLine в том, что не добавляет знак завершения строки после ее вывода. Это означает, что следующий фрагмент текста, отправляемый на вывод, будет выводиться в той же строке. Можно навести указатель мыши на каждый из этих методов в коде, чтобы просмотреть его описание[[14]]

  1. Далее мы снова используем рефакторинг, чтобы сделать код более кратким. Щелкните переменную now в строке DateTime now = DateTime.Now;.

Обратите внимание, что на поле в этой строке отображается маленький значок отвертки.

  1. Щелкните значок отвертки, чтобы увидеть предложения Visual Studio. В этом случае отображается рефакторинг Встроенная временная переменная для удаления строки кода без изменения его общего поведения.
  2. Щелкните Встроенная временная переменная, чтобы выполнить рефакторинг кода.
  3. Снова запустите программу, нажав клавиши Ctrl+F5. Выходные данные выглядят следующим образом (рис.10):

2.6 Отладка кода

При написании кода требуется запустить его и проверить на ошибки. Система отладки Visual Studio позволяет просматривать код с шагом в одну инструкцию, проверяя значения переменных. Можно задать точки останова, которые останавливают выполнение кода на определенной строке. Вы увидите, как значение переменной изменяется по мере выполнения кода, и многое другое[[15]].

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

  1. Найдите строку кода "Console.WriteLine($"\nHello {username}!");". Чтобы задать точку останова в этой строке кода, то есть чтобы приостановить выполнение программы в этой строке, щелкните в крайнем левом поле редактора. Кроме того, можно щелкнуть в любом месте строки кода и нажать клавишу F9.

В крайнем левом поле отображается красный кружок, и код выделяется красным цветом (рис. 11)

  1. Начните отладку, выбрав пункты Отладка > Начать отладку или нажав клавишу F5.
  2. Если появляется окно консоли с запросом имени, введите имя и нажмите клавишу ВВОД.

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

  1. Наведите указатель мыши на переменную username для просмотра ее значения. Кроме того, можно щелкнуть username правой кнопкой мыши и выбрать пункт Добавить контрольное значение, чтобы добавить переменную в окно контрольных значений, где можно будет просмотреть ее значение.
  2. Чтобы разрешить программе продолжить выполнение, нажмите клавишу F5 еще раз.

Дополнительные сведения о выполнении отладки в Visual Studio см. в статье Обзор возможностей отладчика Visual Studio.

2.7 Настройка Visual Studio

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

  1. В строке меню выберите Сервис > Параметры, чтобы открыть диалоговое окно Параметры.
  2. Откройте страницу параметров Окружение > Общие, измените значение Цветовая тема на Темная и щелкните ОК[[16]].

Цветовая тема для всей интегрированной среды разработки изменится на тему Темная.

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

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

3. Интегрированная среда разработки программного обеспечения Microsoft Visual Basic

Microsoft Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений[[17]].

Visual Basic также является хорошим средством быстрой разработки (RAD) приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые VB реализует автоматически.

Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3. Окончательное признание как полноценного средства программирования для Windows — при выходе версии 5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом.

Отладка

Visual Basic 6.0 в режиме отладки

Интегрированная среда разработки предоставляет программисту богатые возможности для отладки программ. Одно из преимуществ Visual Basic, заключается в возможности изменять в значительной мере исходный код программы без её полной перекомпиляции и перезапуска. Во время отладки процедур, разработчику предоставляется возможность перемещать маркер, указывающий на текущую выполняемую инструкцию, как вперёд — пропуская часть кода, так и назад — заставляя VB заново исполнять уже отработанные инструкции.

Кроме всего прочего, среда предоставляет инструменты для отладки, такие как окно немедленного выполнения (Immediate Window), окно локальных переменных (Locals Window), окно наблюдения (Watch Window), окно просмотра стека вызовов процедур (Call Stack). Такие продвинутые средства позволяют программисту более глубже проводить анализ исследуемого алгоритма в отлаживаемом приложении[[18]].

Visual Basic переходит в режим отладки при выполнении одного из условий:

  • При выполнении инструкции Stop
  • При выполнении инструкции, на которую установлена точка останова (брейкпоинт)
  • При возникновении ошибки, для которой не найден подходящий обработчик ошибок
  • При нажатии горячих клавиш Ctrl + Break
  • удобное программирование (рис. 12)

3.1 Дополнительные возможности

ActiveX (Элементы управления OCX)

Начиная с версии VB 5.0 разработчику предоставляется возможность не только использовать готовые компоненты ActiveX, но и создавать свои. VB берёт на себя всю работу по созданию вспомогательного кода, который предназначен для регистрации информации о компоненте в системном реестре, реализации интерфейса IDispatch, создания уникальных GUID, используемых в качестве идентификаторов для классов (CLSID), интерфейсов (IID) и библиотек типов (LIBID). Благодаря такому подходу от программиста потребуется только создать классы с необходимым функционалом[[19]].

Создание новых GUID класса и интерфейса зависит от установленного параметра совместимости на вкладке свойств проекта. Он может принимать одно из трех состояний:

  • Без совместимости — Visual Basic создает новые идентификаторы интерфейса и класса каждый раз при построении или компиляции проекта. Каждое построение компоненты может использоваться только с приложениями, созданными для работы с конкретной версией этой компоненты, то есть если имя класса и проекта не будет изменено во время компиляции, то сгенерируются новые идентификаторы и они перепишут информацию в реестре, таким образом приложения, ссылающиеся на старые идентификаторы, не смогут запуститься.
  • Совместимость на уровне проекта — параметр предназначен для поддержания совместимости во время тестирования, чтобы после создании компоненты было поведение такое же, словно установлен параметр без совместимости.
  • Двоичная совместимость — при компиляции проекта Visual Basic создает новые идентификаторы при необходимости. Сохраняются идентификаторы класса и интерфейса из предыдущих версий компоненты. Изменение реализации метода не меняет идентификаторы. Также добавление нового класса и методов не изменяет существующей интерфейс. Таким образом старые приложения могут использовать старый интерфейс компоненты, а новые приложения могут ссылаться на новую версию интерфейса. Если изменяется метод или удаляется из интерфейса, то VB предупредит о несоответствии с интерфейсом компоненты и рекомендует произвести перекомпиляцию приложений[[20]].

После завершения компиляции на выходе будет двоичный файл библиотеки по спецификации COM. Данный компонент реализует как минимум 2 интерфейса: IUnknown и IDispatch. Библиотека типов (TLB) будет интегрированна внутри ресурсов исполняемого файла. Также дополнительно создаются файлы с полезной информацией, такие как EXP и LIB.

Windows API (Прикладной интерфейс программирования)

Visual Basic предоставляет языковые средства для декларации и вызова функции из библиотек динамической компоновки (DLL). Данный механизм позволяет расширять приложения, за счёт использования дополнительных библиотек предоставляемых другими разработчиками, в том числе написанные на различных языках программирования. Один из таких наборов библиотек предоставляется операционной системой Microsoft Windows.

Общий синтаксис декларации функции и процедуры выглядит следующим образом:

[Public|Private] Declare Sub <имя_процедуры> lib "имя_динамической_библиотеки" [Alias "псевдоним"] [(параметры)]

[Public|Private] Declare Function <имя_функциии> lib "имя_динамической_библиотеки" [Alias "псевдоним"] [(параметры)] [As тип_возврата]

Псевдонимы необходимо задавать в ряде случаев: использование в названии функции зарезервированных идентификаторов Visual Basic, название содержат недопустимые символы или не могут быть правильно интерпретированы средой. Вызываемые функции должны поддерживать соглашение о вызове StdCall[[21]].

При передаче параметра с типом String в функцию WINAPI, VB осуществляет автоматическую конвертацию кодировки из Unicode в ANSI, после выполнения функции, происходит обратная конвертация из ANSI в Unicode. Чтобы исключить автоматическую конвертацию строк, аргументы функции необходимо задекларировать с типом Long, и передавать указатель на строку, используя функцию StrPtr, таким образом можно оптимизировать производительность приложения выполняющее множественные вызовы функций.

Пример вызова Windows API для получение полного пути к каталогу Windows и вывода сообщения на экран:

Private Declare Function GetWindowsDirectory Lib "kernel32.dll" Alias "GetWindowsDirectoryA" (ByVal buffer As String, ByVal nSize As Long) As Long

Private Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

Private Const MB_ICONASTERISK As Long = 64

Public Sub Main()

Dim buffer As String 'Переменная в которую будет получен результат функции.

Dim retLen As Long

buffer = String(256, vbNullChar)

lens = GetWindowsDirectory(buffer, Len(buffer)) 'Вызов функции

buffer = Left(buffer, lens)

MessageBox 0&, "ОС установлена в каталог: " & buffer, "Информация", MB_ICONASTERISK 'Вызов функции

End Sub

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

3.2 Достоинства и недостатки

Достоинства

  • Высокая скорость создания приложений с графическим интерфейсом для Microsoft Windows[[22]].
  • Простой синтаксис языка обеспечивает низкий порог вхождения.
  • Возможность компиляции как в машинный код, так и в P-код (по выбору программиста).
  • Безопасность типов обеспечивает защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает Visual Basic приложения более стабильными, но также является объектом критики.
  • Возможность использования большинства WinAPI функций для расширения функциональных возможностей приложения. Данный вопрос наиболее полно исследован Дэном Эпплманом, написавшим книгу «Visual Basic Programmer’s Guide to the Win32 API»[[23]].

Недостатки

  • Поддержка операционных систем только семейства Windows и Mac OS X (Исключение — VB1 for DOS).
  • Отсутствие полноценного механизма наследования реализации объектов. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию.
  • Практически все встроенные функции языка реализованы через библиотеку времени исполнения, которая, в свою очередь, производит много «дополнительной» работы по проверке и/или преобразованию типов, что замедляет скорость работы приложений.

Язык сильно привязан к своей среде разработки и к операционной системе Microsoft Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающие подсказки при наборе текста программы (IntelliSense). Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе

Заключение

В данной работе мы рассмотрели интегрированные среды разработки программ и изучили Microsoft Visio Studio и Visual Basic 6.0.

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

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

Microsoft Visual Studio включает один или несколько компонентов из следующих: Visual Basic.NET, Visual C++, Visual C#, Visual F#, Microsoft SQL Server, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, Visual Source Safe.

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

Список литературы

    1. Казаченко В.Ф. Микроконтроллеры: Руководство по применению 16-разрядных микроконтроллеров INTEL MCS-196/296 во встроенных системах управления. - М.: Издательство Эком, 1997-224с
    2. Микропроцессорные сиcтемы и микроЭВМ в измерительной технике: Учеб. пособие для вузов/ А.Г.Филиппов, А.М.Аужбикович, В.М.Немчинов и др.- М.: Энергоатомиздат, 1995- 368 с
    3. В.В.Корнеев, А.И.Киселев Современные микропроцессоры.- М.: НОЛИДЖ, 1998 – 240 с.
    4. Г.Науман,В.Майлинг, А.Щербина Стандартные интерфейсы для измерительной техники: пер. с нем.- М.: Мир,1982 - 304 с.
    5. Голиков В.А. Теория программирования. / Московская финансово-промышленная академия. – М.: 2006 - 48 с.
    6. Алексей Голощапов «Microsoft Visual Studio 2010». Полное руководство, 2010.—534с.— ISBN: 978-5-9775-0617-5
    7. Microsoft Документация по Visual Studio. URL: https://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2019. (Дата обращения 10.02.2020)
    8. Джон Кларк Крейг, Уэбб Джефф. Microsoft Visual Basic 6.0. Мастерская разработчика. — «Русская Редакция», 2001. — 720 с. —ISBN 1-57231-883-X.
    9. Джо Майо Microsoft Visual Studio 2010. Самоучитель, 2010.—450 с.— ISBN: 978-5-9775-0609-0
    10. Сергеев В. Visual Basic 6.0. Руководство для профессионалов. — СПб.: «БХВ-Петербург», 2004. — 974 с. — ISBN 5-8206-0019-3+
    11. Джеймс Купер. Visual Basic Desing Patterns: VB 6.0 and VB.NET. — Addison Wesley, 2002. — 484 с. — ISBN 0-201-70265-7.
    12. Дан Эпплман. Win32 API и Visual Basic. Для профессионалов = Dan Appleman's Visual Basic Programmer's Guide to the Win32 API. — СПб.: «Питер», 2001. — 1120 с. — ISBN 5-272-00198-2

Приложение

Рис.1 Среда Visual Studio

https://docs.microsoft.com/ru-ru/visualstudio/get-started/media/vs-2019/ide-overview.png?view=vs-2019#lightbox

Рис. 2 Очистка кода

Кнопка очистки кода в Visual Studio

Рис. 3 Рефакторинг

Рефакторинг в Visual Studio

Рис. 4 IntelliSense

Список элементов Visual Studio

Рис. 5 Поле поиска

Поле поиска в Visual Studio 2019

Рис. 6 Создать объект

Начальное окно Visual Studio для создания проекта

Рис. 7 Изменить проект

Настройка нового проекта в Visual Studio

Рис.8 Окно консоли

Интегрированная среда разработки Visual Studio

Рис.9 Окно консоли с именем

Окно консоли

Рис. 10 Выходные данные

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

Рис. 11 Отладка кода

Точка останова в строке кода в Visual Studio

Рис. 12 Visual Basic

https://upload.wikimedia.org/wikipedia/ru/thumb/8/84/Visual_Basic_6_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8.png/1280px-Visual_Basic_6_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC_%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B8.png

  1. Голиков В.А. Теория программирования. / Московская финансово-промышленная академия. – М.: 2006 – С 25.

  2. В.В.Корнеев, А.И.Киселев Современные микропроцессоры.- М.: НОЛИДЖ, 1998-С 110

  3. Казаченко В.Ф. Микроконтроллеры: Руководство по применению 16-разрядных микроконтроллеров INTEL MCS-196/296 во встроенных системах управления. - М.: Издательство Эком, 1997-C 180

  4. Г.Науман,В.Майлинг, А.Щербина Стандартные интерфейсы для измерительной техники: пер. с нем.- М.: Мир,1982 – С 150

  5. Микропроцессорные ситемы и микроЭВМ в измерительной технике: Учеб. пособие для вузов/ А.Г.Филиппов, А.М.Аужбикович, В.М.Немчинов и др.- М.: Энергоатомиздат, 1995- С 200

  6. Microsoft Документация по Visual Studio. URL: https://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2019. (Дата обращения 10.02.2020)

  7. Джо Майо Microsoft Visual Studio 2010. Самоучитель, 2010.— С 257— ISBN: 978-5-9775-0609-0

  8. Алексей Голощапов «Microsoft Visual Studio 2010». Полное руководство, 2010.—С 312— ISBN: 978-5-9775-0617-5

  9. Джо Майо Microsoft Visual Studio 2010. Самоучитель, 2010.—С 269— ISBN: 978-5-9775-0609-0

  10. Алексей Голощапов «Microsoft Visual Studio 2010». Полное руководство, 2010.—С 350 — ISBN: 978-5-9775-0617-5

  11. Microsoft Документация по Visual Studio. URL: https://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2019. (Дата обращения 10.02.2020)

  12. Джо Майо Microsoft Visual Studio 2010. Самоучитель, 2010.—С 275— ISBN: 978-5-9775-0609-0

  13. Алексей Голощапов «Microsoft Visual Studio 2010». Полное руководство, 2010.—С 355.— ISBN: 978-5-9775-0617-5

  14. Microsoft Документация по Visual Studio. URL: https://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2019. (Дата обращения 10.02.2020)

  15. Джо Майо Microsoft Visual Studio 2010. Самоучитель, 2010.—С 277— ISBN: 978-5-9775-0609-0

  16. Алексей Голощапов «Microsoft Visual Studio 2010». Полное руководство, 2010.—С 357— ISBN: 978-5-9775-0617-5

  17. Сергеев В. Visual Basic 6.0. Руководство для профессионалов. — СПб.: «БХВ-Петербург», 2004. — С 401 — ISBN 5-8206-0019-3

  18. Джон Кларк Крейг, Уэбб Джефф. Microsoft Visual Basic 6.0. Мастерская разработчика. — «Русская Редакция», 2001. — С 356—ISBN 1-57231-883-X

  19. Дан Эпплман. Win32 API и Visual Basic. Для профессионалов = Dan Appleman's Visual Basic Programmer's Guide to the Win32 API. — СПб.: «Питер», 2001. — С 625 — ISBN 5-272-00198-2.

  20. Джеймс Купер. Visual Basic Desing Patterns: VB 6.0 and VB.NET. — Addison Wesley, 2002. — С 234— ISBN 0-201-70265-7.

  21. Сергеев В. Visual Basic 6.0. Руководство для профессионалов. — СПб.: «БХВ-Петербург», 2004. — С 405— ISBN 5-8206-0019-3

  22. Дан Эпплман. Win32 API и Visual Basic. Для профессионалов = Dan Appleman's Visual Basic Programmer's Guide to the Win32 API. — СПб.: «Питер», 2001. — С 637 — ISBN 5-272-00198-2

  23. Джеймс Купер. Visual Basic Desing Patterns: VB 6.0 and VB.NET. — Addison Wesley, 2002. — С 239— ISBN 0-201-70265-7