4GL-Технологии. Основи на визуалното програмиране

Grundlagen der Visuelleprogrammierung

Теоретични основи на визуалното програмиране

Визуални среди с общо предназначение (4GL)

Специализирани визуални среди

Интегрирани среди за разработка (IDE/3GL+)

Визуалното програмиране използва специални триизмерни (3D) или плоски (2D) графични или псевдографски среди.

Тоест, за разлика от езиците на ниско ниво (1GL), средно (2GL), високо ниво (3GL), където програмирането и езикът са по същество линейни, последователни, във визуални среди (4GL) имаме работа със значително разклонени "пространствени" структури като блок-схеми. В същото време "градивните елементи" на тези блокови схеми са предварително разработени подпрограми и функции с единен автоматичен "интелигентен" интерфейс. При свързването на такива "строителни елементи" техният взаимен интерфейс се конфигурира без участието на програмист.

По този начин визуалното програмиране ни позволява да програмираме на ниво алгоритми, а не програмен код.

Програмният код на езиците 3GL, 2Gl, 1GL се генерира от пакета за визуално програмиране от "блоковата диаграма", съставена от програмиста в автоматичен режим.

Програмистът само в нестандартни случаи коригира програмния код или създава допълнителни "потребителски обекти" върху него - градивни елементи за последваща употреба във визуалното програмиране.

Визуално програмиране - четвъртото поколение езици за програмиране (4GL - Езици от 4-то поколение), за разлика от предишните поколения, премина към различна парадигма, управлявана от събития, тоест програмата в тях не се изпълнява последователно от първоначалното въвеждане на данни до издаването на отчет, както в езиците от предишни поколения, а чрез отделни кратки "атомни"кодови (алгоритъм) връзки, започващи с някакво иницииращо събитие (прекъсване) и завършващи или с ново външно събитие, което променя хода на програмата, или генерирайки собствено събитие - прекъсване за друга "атомарна" връзка. По този начин програмата в 4GL като правило няма характер на недвусмислена, предварително определена верига от последователни връзки - блокове, както в езиците 1GL - 3GL, а някаква разклонена мрежа от програмни връзки, чиято последователност на изпълнение се диктува от външни събития. Такава парадигма е адекватен отговор на новия характер на работа на съвременния софтуер, който работи в режим на интерактивно взаимодействие с други програми, устройства и хора.

Самите инструменти за визуално програмиране се състоят от следните части:

  • обектно-базирани езици, където средата за визуално програмиране предоставя графични или символни елементи, които могат да бъдат манипулирани интерактивно според някои правила;
  • езици, в чиято интегрирана среда за разработка се използват форми на етапа на проектиране на интерфейса, с възможност за конфигуриране на техните свойства. Примери: Delphi и C++ Builder от Borland, C#
  • езици за схеми, базирани на идеята за „форми и линии“, където формите (правоъгълници, овали и т.н.) се третират като обекти и се свързват с линии (стрелки, дъги и т.н.), които представляват връзки. Пример: UML.

Факт е, че в неговата формулировка и изводи е направена замяна, подобна на замяната в училищна шега задача за бърз ум, която пита: - Колко ябълки има на една бреза, ако има 5 на един клон, 10 на друг клон и т.н. В същото време вниманието на учениците умишлено се отвлича от това основнофактът, че ябълките не растат на бреза по принцип.

Експериментът на Майкелсън повдига въпроса за движението на етера спрямо интерферометър в покой в ​​лабораторна система. Ако обаче търсим етера като основната материя, която изгражда цялата субстанция на интерферометъра, лабораторията и Земята като цяло, тогава, естествено, етерът също ще бъде неподвижен, тъй като земната субстанция е просто етер, устроен по определен начин и не може да се движи спрямо себе си.