Визуальное программирование
-
(то же самое, что системы быстрой разработки приложений 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 и ниже. Иное дело - графические языки, в отличие от визуальных, предназначенные для построения графических объектов, а не как инструментальное средство программирования.
Знаете ли Вы, в чем ложность понятия "физический вакуум"?
Физический вакуум - понятие релятивистской квантовой физики, под ним там понимают низшее (основное) энергетическое состояние квантованного поля, обладающее нулевыми импульсом, моментом импульса и другими квантовыми числами. Физическим вакуумом релятивистские теоретики называют полностью лишённое вещества пространство, заполненное неизмеряемым, а значит, лишь воображаемым полем. Такое состояние по мнению релятивистов не является абсолютной пустотой, но пространством, заполненным некими фантомными (виртуальными) частицами. Релятивистская квантовая теория поля утверждает, что, в согласии с принципом неопределённости Гейзенберга, в физическом вакууме постоянно рождаются и исчезают виртуальные, то есть кажущиеся (кому кажущиеся?), частицы: происходят так называемые нулевые колебания полей. Виртуальные частицы физического вакуума, а следовательно, он сам, по определению не имеют системы отсчета, так как в противном случае нарушался бы принцип относительности Эйнштейна, на котором основывается теория относительности (то есть стала бы возможной абсолютная система измерения с отсчетом от частиц физического вакуума, что в свою очередь однозначно опровергло бы принцип относительности, на котором постороена СТО). Таким образом, физический вакуум и его частицы не есть элементы физического мира, но лишь элементы теории относительности, которые существуют не в реальном мире, но лишь в релятивистских формулах, нарушая при этом принцип причинности (возникают и исчезают беспричинно), принцип объективности (виртуальные частицы можно считать в зависимсоти от желания теоретика либо существующими, либо не существующими), принцип фактической измеримости (не наблюдаемы, не имеют своей ИСО).
Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.