Was ist CLOUDGRAFIC®?
Inhalt:
A) die Sprache

CLOUDGRAFIC® ist eine komplett grafische Programmiersprache. Das gilt ohne Einschränkung, es gibt keinen Text Quellcode.
Die Sprache ist regelbasiert. Das bedeutet ein Programm besteht aus Regeln und zugehörigen Anweisungen. Zur Laufzeit werden nun kontinuierlich alle Regel überprüft. Ist eine Regel wahr werden die zu dieser Regel hinterlegten Anweisungen durchgeführt.
Dabei sind im Regelteil nur konstante Abfragen möglich. Die Überprüfung der Regel kann allerdings nicht dazu führen das sich z.B. der Wert einer Variable ändert oder eine Dateioperation durchgeführt wird. Im Anweisungsteil sind wiederum keine Bedingungen möglich. Die hinterlegten Anweisungen werden immer komplett und nacheinander durchgeführt.
Eine Regel (im Programm Bedingung genannt), die zugehörige Anweisungen und ein Kommentar ergeben jeweils einen Block. Die Anweisungen und Bedingungen werden aus drei Symbolen zusammengesetzt. Eine blaue Raute steht für einen konstanten Wert, ein violetter Stern steht für eine Variable, ein grünes Achteck für eine Funktion.
Die Symbole sind untereinander durch Linien an Anknüpfungspunkten verbunden. Die obenliegenden Punkte sind Eingangswerte, die untenliegenden Punkte stehen für Ausgangswerte. Beispiel: Führt eine Linie von einer Konstanten (Symbol blaue Raute) zu einer Variablen (Symbol violetter Stern) bedeutet das daß die Variable auf den Wert der Konstanten gesetzt wird. Hinweis: Im Programmdesigner wird durch einen Klick mit der rechten Maustaste auf ein abgelegtes Symbol ein Dialog angezeigt in dem Werte für Konstanten, Namen für Variablen und Funktionsnamen für Funktionen bestimmt werden können.
Zur Laufzeit kommuniziert CLOUDGRAFIC® mit den Forms über Variablen. Wird im Programm eine Variable geändert und existiert z.B. eine Textbox auf der Oberfläche so wird der neue Wert sofort angezeigt. Wird auf der Oberfläche ein Schalter gedrückt so ändert das der Wert der hinterlegten Variable auf wahr. Die Schaltervariable kann nun in Bedingungen des Programms abgefragt werden. Somit sind Oberfläche und Programm automatisch voneinander getrennt. (Model View Prinzip) Verbingungen zu Datenbanken werden mit SQL via ODBC realisiert. Die Benennung der Funktionen und der Ablauf entspricht dabei den Normen z.B: SQLPerpare, SqlFetch.

B) Funktionsumfang:

- Form Designer zur Erstellung von Windows Oberflächen sowie Standard Windows Controls. Neben der "normalen" Kommunikation über Variablen gibt es auch einige Funktionen um z.B: Controls sichtbar/unsichtbar werden zu lassen oder Listboxen zu löschen.
- Datenbank Designer zur Erstellung von Tabellen inklusive Feldern und Primärschlüssel.
Der Datenbankdesigner funktioniert auf ODBC Basis, die Ansteuerung von Programm erfolgt mittels SQL und ODBC.
- Basis Satz von Befehlen zum Bereich Arithmetik, Vergleiche, Zeichenketten, Dateien

C) Einordnung / Verwendung:

CLOUDGRAFIC® ist eine Sprache für Einsteiger.
Das was diese Sprache nicht enthält ist ihr Vorteil:
- keine Arrays
- keine Objekte
- geringe Anzahl Funktionen
- keine Variablen Deklaration
- keine Compilereinstellungen

Dazu gibt es auch einige Vorteile durch den regalbasierten Ansatz:
- keine verschachtelten Strukturen
- Regeln sind immer gültig!

Es ist nicht nötig immer einen Funktionsaufruf wie bei 3GL Sprachen "Teste ob Kontostand positiv" zu codieren. Es ist auch nicht nötig zuerst ein Objektmodell zu entwerfen wie bei Smalltalk, C++ oder Java. CLOUDGRAFIC® verfolgt dabei nicht den Ansatz "Programme ohne Programmierung". Ein Einsteiger lernt den Umgang mit Variablen / Konstanten / Funktionen / SQL und Datenbanken. Dazu gibt eine saubere Trennung von Programm und Oberfläche s.o. Somit sollte die Hürde für Einsteiger viel niedriger liegen als bei Smalltalk oder Java. Nachdem er CLOUDGRAFIC® beherrscht kann dann auf den Grundlagen in andere Programmierspachen gewechselt werden.

D) Unterschied zu andere grafischen Sprachen

Es gibt außer Cloudgrafic noch eine Reihe von anderen grafischen Ansätzen zur visuellen Programmierung. Einer Ansatz besteht darin eine grafische Oberfläche für bestehende Sprachen zu entwickeln (z.B. C++)
Vorteil: Diese Sprachen sind schon bekannt.
Nachteil1: Schleifen und verschachtelte Abfragen werden grafisch sehr schnell so unübersichtlich wie elektronische Schaltpläne für Laien.
Nachteil2: Es existiert dann doch Quellcode, eine späteres Wiedereinlesen von modifizierten Quellcode ist aber eine komplexer, fehleranfälliger Vorgang.

Zum Vergleich: CLOUDGRAFIC® bleibt immer modular "flach", es gibt keine Verknüpfungen zuwischen den Blöcken.

Ein anderer Ansatz besteht darin nur Objekthierachien grafisch abzubilden:
Vorteil: Grafisch sehr anschaulich.
Nachteil: Methoden müssen dann doch wieder im Quellcode modifiziert werden.

Ein weiterer Ansatz besteht darin Code insgesamt zu minimieren durch Einsatz von High Level Objekten
Vorteil: Weniger Code ist leicht zu erzeugen
Nachteil: komplexere Problemstellungen können nicht nur durch Einstellen von Properties gelöst werden. Letztendlich muß dann doch programmiert werden, das wird schnell sehr unverständlich.

E) Literatur

"Regelbasiertes Programmieren" Prof. Puppe Lehrstuhl für Informatik Universität Würzburg