Визуальное программирование
-
(то же самое, что системы быстрой разработки приложений RAD - Rapid Application Development) - способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.
В визуальном программировании используются специальные объемные (3D) или плоские (2D) графические или псевдографические среды.
То есть в отличие от языков низкого (1GL), среднего (2GL), высокого уровня (3GL), где программирование и язык носят существенно линейный, последовательный характер, в визуальных средах (4GL) мы имеем дело с с существенно разветвленными "пространственными" структурами типа блок-схем. При этом "кирпичиками" этих блок-схем являются заранее разработанные подпрограммы и функции с унифицированным автоматическим "интеллектуальным" интерфейсом. При соединении таких "кирпичиков" их взаимный интерфейс настраивается без участия программиста.
Таким образом, визуальное программирование позволяет нам программировать на уровне алгоритмов, а не программного кода.
Программный код на языках 3GL, 2Gl, 1GL пакет визуального программирования генерирует из составленной программистом "блок-схемы" в автоматическом режиме сам.
Программист лишь в нестандартных случаях корректирует программный код, либо создает на нем дополнительные "пользовательские объекты" - модули-кирпичики для последующего использования в визуальном программировании.
Визуальное программирование - четвертое поколение языков программирования (4GL - 4-th Generation Languages) в отличие от предыдущих поколений перешло к иной, событийной парадигме, то есть программа в них выполняется не последовательно от начального ввода данных до выдачи отчета, как в языках предыдущих поколений, а отдельными короткими "атомарными" звеньями кода (алгоритма), начинаясь с некоторого инициирующего события (прерывания) и заканчиваясь либо новым внешним событием, меняющим ход программы, либо генерируя свое событие - прерывание для другого "атомарного" звена. Таким образом программа в 4GL, как правило, не имеет характера однозначной, заранее предопределенной цепи последовательных звеньев - блоков, как в языках 1GL - 3GL, но некоторой разветвленной сети программных звеньев, последовательность выполнения которых диктуется внешними событиями. Такая парадигма является адекватным ответом на новый характер работы современного программного обеспечения, которое работает в режиме интерактивного взаимодействия с другими программами, устройствами и человеком.
Сами средства визуального программирования состоят из следующих частей:
визуальные средства разработки, визуальные среды
-
Как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему для быстрой разработки приложений или SCADA-систему для программирования микроконтроллеров.
язык программирования для визуальной среды
-
есть язык программирования со своим синтаксисом, например, графический язык, либо язык, адаптированный к применению в визуальной среде. Это, как правило, языки 3GL и ниже, которые "не видны" конструктору визуального пакета при блочном или "кнопочном" программировании. Визуальный пакет в автоматическом режиме генерирует код на таких языках. Лишь при отладке, доводке программного продукта программист вынужден вникать в эти языки. Примеры: ActionScript для пакета Flash, ObjectPascal для пакета Delphi, PHP для систем управления контентом сайта (CMS).
Языки визуального программирования
-
могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:
языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;
языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland, С#
языки схем, основанные на идее "фигур и линий", где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML.
Некоторые авторы не относят языки типа Delphi и C++ Builder фирмы Borland, С# к визуальным языкам, но только определяют их как визуальные среды для текстовых языков. Такая точка зрения имеет лишь частичное обоснование. Дело в том, что за любым визуальным языком, в его основании, обязательно лежит текстовый язык. Примеры: Flash и ActionScript, любой векторный формат графики и язык его скрипт-контента (WMF, VRML). Другое дело, что многие визуальные среды требуют существенного участия программиста в текстовом программировании, так как не являются совершенными, полностью автоматически формирующими код уровня 3GL и ниже. Иное дело - графические языки, в отличие от визуальных, предназначенные для построения графических объектов, а не как инструментальное средство программирования.
Знаете ли Вы, что релятивистское объяснение феномену CMB (космическому микроволновому излучению) придумал человек выдающейся фантазии Иосиф Шкловский (помните книжку миллионного тиража "Вселенная, жизнь, разум"?). Он выдвинул совершенно абсурдную идею, заключавшуюся в том, что это есть "реликтовое" излучение, оставшееся после "Большого Взрыва", то есть от момента "рождения" Вселенной. Хотя из простой логики следует, что Вселенная есть всё, а значит, у нее нет ни начала, ни конца... Подробнее читайте в FAQ по эфирной физике.