Визуальная среда программирования. Что такое VPE

сентябрь 5, 2022

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

Интернет. Компьютер.
СС0.

Наличие телетайпа или ранних терминалов CRT (Видео терминал) в системах разделения времени к 1960-м годам побудило программистов писать простые программы для редактирования текста, которые можно было бы использовать для создания файла исходного кода компьютерного языка, который, в свою очередь, будет передан компилятору для превращения в исполняемую программу (см. Терминал и текстовый редактор). Ассемблеры и реализации БАЗОВОГО языка на первых персональных компьютерах также включали простые средства редактирования. Вскоре появились более мощные редакторы программирования, особенно в академических условиях. Одним из наиболее известных является EMACS (Е́макс - текстовый редактор), редактор, содержащий собственный язык, похожий на язык LISPlike, который можно использовать для написания макросов для автоматического создания программных элементов. Благодаря множеству других утилит, доступных в операционной системе UNIX (Многозадачная операционная система), теперь можно сказать, что у программистов есть среда программирования – набор инструментов, которые можно использовать для написания, компиляции, запуска, отладки и анализа программ. Также появились более тесно интегрированные среды программирования. UCSD (p-система) объединила программный редактор, компилятор и другие инструменты для разработки программ на языке Паскаль.

Хотя эта система была несколько громоздкой, в середине 1980-х годов Borland International (компания по производству программного обеспечения) выпустила и постоянно совершенствовала Turbo Pascal (Трубо Паскаль). Этот продукт предлагал то, что стало известно как “интегрированный интерфейс разработки” или IDE. Используя единую систему меню и окон, программист мог редактировать, компилировать, запускать и отлаживать программы, не выходя из главного окна. Выпуск Microsoft Visual Basic (язык программирования) несколько лет спустя привел к появлению полноценного графического пользовательского интерфейса GUI (Графи́ческий интерфе́йс по́льзователя). Visual Basic не только работал в Windows, но и давал программистам возможность разрабатывать программы, размещая элементы пользовательского интерфейса (такие как меню и диалоговые окна) на экране, а затем прикрепляя код и устанавливая свойства для управления поведением каждого объекта интерфейса. Этот подход вскоре был распространен Microsoft на среды разработки для C и C++ (а позже и Java ), в то время как Borland выпустила Delphi, систему разработки на Visual Pascal.

Так что же такое среда визуального программирования? VPE - это программное обеспечение, которое позволяет использовать визуальные выражения (такие как графика, рисунки, анимация) в процессе программирования. Эти визуальные выражения могут использоваться в качестве графических интерфейсов для текстовых языков программирования. Они могут быть использованы для формирования синтаксиса новых визуальных языков программирования, ведущих к новым парадигмам, таким как программирование путем демонстрации, или они могут быть использованы в графических представлениях поведения или структуры программы. Сегодня среды визуального программирования доступны для большинства языков. Действительно, многие среды программирования могут содержать множество различных языков и целевых сред. Примеры включают Microsoft Visual StudioNET и Eclipse с открытым исходным кодом, которые могут быть расширены на новые языки с помощью плагинов. Короче говоря, VPE - это среда визуального программирования, которая поддерживает визуальное программирование общего назначения. Теоретически его можно использовать для создания любого приложения или системы. Он основан как на структурной (векторная графика, графики, способные обрабатывать события), так и на неструктурной графике (растровая графика без обработки событий), поэтому графики в схемах могут использоваться для определения входов, выходов, тел, групп, проводов и соединителей элементов, а также обработки событий, связанных с ними.

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

В VPE визуальные элементы могут быть графически спроектированы, запрограммированы на одном из поддерживаемых языков программирования (например, Python или C), сохранены и упорядочены в библиотеках. После того как базовые элементы построены и сохранены в библиотеках, их можно использовать для построения схем, которые в основном являются документами. Можно сохранить документ для последующего использования. Полная сериализация объектов поддерживается по умолчанию, поэтому после закрытия и повторного открытия приложения и загрузки ранее сохраненного документа в приложение теоретически возможно повторить те же условия, в которых ранее работал документ. Исходный код находится в документе, но обработчики событий расположены в элементах.

Элементы могут быть запрограммированы на различных языках, таких как: Python, Tcl, C. В первую очередь в самом приложении, желательно использовать язык программирования Python , поскольку он может напрямую влиять на состояние и поведение программы/документа и всех его частей. Например, можно изменить внешний вид основного приложения или даже настройки операционной системы. Вся среда динамична, что означает, что ее можно изменять во время выполнения и адаптировать к конкретным потребностям. Например, при проектировании необходимо просмотреть все параметры в VPE, но после развертывания необходимо запретить возможность рисования и программирования, чтобы избежать ошибок и непредвиденных ситуаций и уменьшить вероятность ошибки. VPE - это мультиплатформенное приложение, которое работает на всех современных операционных системах. Он написан для использования в операционной системе Linux, но также может быть использован в других операционных системах. VPE в первую очередь предназначен для создания приложений SCADA. Приложения SCADA требуют высокой точности числовых операций, что является одной из причин использования языка программирования Python. В дополнение к точности, SCADA-системы также требуют высокой надежности. После разработки общего решения с использованием языка программирования Python в качестве доказательства концепции предлагается оптимизировать решение для большей скорости выполнения и меньшего использования памяти на языке программирования C.

VPE поставляется со всеми необходимыми стандартными библиотеками для большинства основных операций, и это в основном библиотеки операционной системы, такие как: потоковая передача, обработка, сокет, http, ftp, клиент/сервер RPC и т.д. Основная эталонная реализация VPE написана на языках программирования Python, Tcl и C. Используемые наборы инструментов графического интерфейса - Tk (Tkinter) и Gtk (PyGTK), Но параллельно приложение может использовать другие наборы инструментов графического интерфейса, такие как: Qt, Wx, Формы, Swing, SWT и т. Д., И их оболочки для разных языков программирования. Различные виджеты доступны только в независимом окне верхнего уровня, соответствующем этому инструментарию графического интерфейса. Причина этого заключается в неспособности инструментария графического интерфейса распознавать виджеты из других наборов инструментов графического интерфейса. Следует иметь в виду, что VPE - это не графический редактор, а абстрактный визуальный редактор с программируемым документом и элементами.

VPE - это следующее поколение языков визуального программирования, аналогичное AutoCAD и LabVIEW, позволяющие создавать сложную программируемую графику. VPE может создавать контекстно-свободные приложения, позволяющие, например, телекоммуникационному и другому электронному оборудованию работать вместе в одной схеме/документе, другими словами, различные несвязанные устройства могут работать вместе в сложной системе.