WikiDer > Rollenspiel (Programmiersprache)
Rollenspiel | ||||
| Paradigma | Multiparadigma | |||
| erschien | 1959 | |||
| Entworfen von | IBM | |||
| Aktuelle Version | Rollenspiel IV | |||
| Typensystem | statisch, stark | |||
| Dialekte | RPG, RPG II, RPG III, RPG 400, RPG IV, RPG/ILE; Rollenspiel/Kostenlos, Baby/36, Baby/400, Gitter-Rollenspiel | |||
| Betriebssystem | CPF, SSP, OS/400, Betriebssystem/VS1, z/OS, US/9, OpenVMS, Burroughs MCP, Fenster | |||
| ||||
Rollenspiel ist ein Programmiersprache von dem sechziger Jahre, die bisher hauptsächlich von Programmierer auf der IBM System i-Mitteltöner von IBM. Obwohl RPG von vielen modernen Programmierern verabscheut wird[Quelle?] , die neueste Variante ILE-RPG ist eine leistungsfähige Programmierumgebung, die Möglichkeiten für Webanwendungen bietet.
Geschichte
RPG steht ursprünglich für Bericht Programmgenerator, eine Sprache, die, wie der Name schon sagt, zum Generieren von Berichten aus a Informationssystem. Als solches war RPG eines der ersten Programmierumgebungen, wo die Umgebung viel Programmierarbeit von der Programmierer. Die Basis von RPG ist die Tabelliermaschine, auch bekannt als Hollow Ride Machine. Die Tabelliermaschine wurde mit Steckdrähten programmiert. Der Lochkarteneintrag wurde nach einer bestimmten Codierung sortiert. Bei Änderung der Codierung wurde automatisch eine (Zwischen-)Summe ausgedruckt (Zyklen). Dieser Automatismus ist auch Teil des Rollenspiels.
Um dies zu erreichen, arbeitete RPG mit dem Logikzyklus, ein iterativer Prozess in denen die Standardoperationen für ein chargenorientiertes Programm ausgeführt werden könnten, wie Öffnen und Schließen Dateien (Tabellen), Einlesen der Eingabedatei usw. Die Logikzyklus ermöglichte es dem Programmierer, in die Ergebnisse einzugreifen, indem er Anweisungen in die Berechnungsroutine einfügte. Diese Routine wird von der Logikzyklus wird aufgerufen, nachdem ein Eingabedatensatz (Zeile) verfügbar gemacht wurde und bevor die Ausgabe geschrieben wird. Diese Berechnungen ermöglichen es dem Programmierer, Berechnungen durchzuführen, möglicherweise Informationen aus zusätzlichen Dateien (Tabellen) abzurufen und zu verarbeiten. Obwohl die Logikzyklus wird auch von den aktuellen RPG-Versionen unterstützt, wird in der Praxis jedoch kaum genutzt.
Versionen und Entwicklung
Von dem achtziger Jahre RPG hat auf den IBM-Systemen eine starke Entwicklung durchgemacht S/34, S/36, S/38 und das spätere AS/400, eServer iSeries und die aktuelle System i. Das Hinzufügen von Bildschirmhandhabung machte es möglich, interaktive Programme zu erstellen. SQL wurde zur Verfügung gestellt (aber wenig genutzt) für Datenbank Zugriff. Mit RPG wurde es möglich, CGIA umzusetzen, und so Websitezu machen. Auch für den Aufbau einer grafischen Oberfläche stehen verschiedene Tools zur Verfügung.
Im Laufe der Jahre wurden mehrere RPG-Versionen veröffentlicht, die jeweils an die Anforderungen der Zeit angepasst wurden:
- Rollenspiel
- Rollenspiel II
- Rollenspiel III
- Rollenspiel IV
- Rollenspiel 400
- Rollenspiel ILE
- RPG ILE-freies Format
Im letzten freies FormatVersion ist es möglich, teilweise vom festen Format, in dem der Quellcode geschrieben ist, abzuweichen, wodurch die gesamte Struktur anderen Sprachen wie C, Pascal usw. ähnlicher wird. Unter dem Einfluss der Einfachheit und Leistungsfähigkeit dieser Programmiersprache sind (oder waren) auch PC-Versionen für verschiedene RPG-Varianten auf dem Markt, die aber aufgrund der Dunkelheit nie so richtig in Fahrt kamen. Es ist jetzt möglich, RPG-Script auf Webseiten zu verwenden.
Einführung in die Syntax
Ein RPG-Programm besteht aus festen Anweisungen, die ursprünglich maximal 80 Positionen lang waren.
Jede Anweisung enthält a Kennung die den Typ der Anweisung angibt. Die Anweisungstypen sind:
- H – Kopfzeile (kommt einmal vor und bietet Optionen zum Festlegen von Programmstandardwerten wie Datumsformat, Währungszeichen).
- F – Datei (Dateideklaration)
- E – Erweiterung (Deklaration von Tabellen)
- D – Definition (Dies aus der ILE-RPG-Version)
- L – Linecounter (Erweiterung für Programme mit Ausgabe auf Drucker)
- I – Input (Deklaration von Input, Hilfsvariablen etc.)
- C – Berechnungen (Platz für Berechnungen, Programmablauf etc.)
- O – Ausgabe (Ausgabeerklärung)
Jeder Befehl hat ein festes Format, wobei die Position, an der sich ein Eintrag befindet, die Funktion dieses Eintrags bestimmt.
Beispiel für eine Dateideklaration: FFILE IP E DISKWobei das F angibt, dass dies eine Dateideklaration ist;Der Eintrag 'FILE' ist der Name der Datei (Tabelle), die geöffnet werden soll;Das I gibt an, dass diese Datei für die Eingabe geöffnet wird;Das P gibt an, dass dies die Primärdatei ist ( das Fahren für den Logikzyklus); Das E zeigt an, dass die Definitionen der Datei (Tabelle) und der Datensätze (Zeilen) und Felder (Attribute) von extern abgerufen werden können Compiler;Der Eintrag 'DISK' zeigt an, dass es sich um eine Datendatei handelt, auf die über den Plattenspeicher zugegriffen werden kann.
RPG-Versionsvergleich
EIN Hallo WeltProgramm in RPG/400:
C MOVE 'Welt' HWSTR 11 C MOVEL 'Hallo' HWSTR C HWSTR DSPLY C SETON LR
In der ersten Zeile variabel HWSTR definiert (als 11-stellig alphanumerisch) und dann mit dem Text rechts ausgefüllt Welt. In der zweiten Zeile variabel HWSTR links gefüllt mit Hallo, so dass der Wert der Variablen Hallo Welt ist. Ein sofortiges Befüllen ist nicht möglich, da der feste Platzbedarf für einen String dieser Länge zu gering ist. In der dritten Zeile steht der Inhalt der Variablen HWSTR auf dem Bildschirm angezeigt. In der vierten Zeile, Indikator LR aktiviert, ein Systemflag, das anzeigt, dass das Programm beendet werden kann.
EIN Hallo WeltProgramm im ILE-RPG:
C 'Hallo Welt' DSPLY C EVAL *inlr = *ON
Der variable Trick ist hier nicht nötig, da der Platz vergrößert wird.
EIN Hallo WeltProgramm in ILE-RPG freies Format:
/FREE 'Hallo Welt' DSPLY *inlr = *ON /END-FREE
Das feste Layout wurde hier aufgegeben.
| Programmiersprachen |
|---|
ABAP ·ABC ·ActionScript ·ada ·algol ·APL ·Assemblersprachen ·AWK ·B ·BASIC ·BCPL ·C ·C ·C♯ ·sauber ·Schermaschine ·COBOL ·COMAL ·Curry ·d ·Eiffel ·Erlang ·F♯ ·her ·fortran ·gehen ·Haskell ·Symbol ·J ·Java ·Kotlin ·lispeln ·Logo ·lua ·m4 ·ML ·Modula-2 ·Oberon ·Objekt Pascal ·Ziel c ·Ocamli ·Unze ·Pascal ·perl ·PHP ·PL/I ·PL/SQL ·Prolog ·Prova ·Python ·Rexx ·Rollenspiel ·Rubin ·Frieden ·SAS ·Reichweite ·planen ·Selbst ·Simula ·Smalltalk ·Schnell ·TCL ·Typoskript ·vala ·Visual Basic |