[NEWSboard IBMi Forum]
Seite 1 von 4 1 2 ... Letzte
  1. #1
    Registriert seit
    Dec 2005
    Beiträge
    51

    rpg2cpp - Opensource Entwickler gesucht

    Hallo Leuts,

    obwohl ich heute meist in C/C++ unterwegs bin, habe ich noch immer nicht die Vorteile des guten, alten RPG vergessen.

    Meine letzten RPG-Projekte waren auf AS/400 im Bereich J.D. Edwards.

    RPG war die erste Sprache, die ich gelernt habe (/34). Später /36, AS/400. Compiler von RPG-II über ASNA RPG-III bis schliesslich RPG/400 und teilweise ILE.

    Leider gibts es keinen RPG-Compiler unter Linux. Deshalb habe ich selber ein Opensource Projekt gestartet, welches einen RPG nach C++ Compiler zm Ziel hat.

    Ich suche in diesem Zusammenhang nach Leuten, die -wie ich- Lust, Zeit und Kenntnisse haben, dieses Projekt voranzutreiben.

    Hier ist die Homepage:

    http://rpg2cpp.berlios.de/

    Doku gibts hier:

    http://developer.berlios.de/docman/?group_id=5256

    Dort als Sprache "English" auswählen, und auf "go" klicken. Habe da mal das Design beschrieben.

    Grüsse
    emax

  2. #2
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von emax
    .....Leider gibts es keinen RPG-Compiler unter Linux. Deshalb habe ich selber ein Opensource Projekt gestartet, welches einen RPG nach C++ Compiler zm Ziel hat. ....
    *räusper*

    PersonalRPG
    RPG Compiler for Linux. RPG, a language developed by IBM, generally is only available on tbe IBM midrange systems, i.e. System/36, System/38 and the AS/400. It was also available on OS/360. Several companies offer RPG compilers for the PC, but currentl
    Programming Language : C, C++

    gruss

    k.

    da gibt es einiges für AS/400 im Opensource-Bereich bei sourceforge.net
    warum das Rad nochmal neu erfinden?

  3. #3
    Registriert seit
    Dec 2005
    Beiträge
    51
    Zitat Zitat von kuempi von stein
    da gibt es einiges für AS/400 im Opensource-Bereich bei sourceforge.net
    warum das Rad nochmal neu erfinden?
    Schon mal was mit

    "PersonalRpg" kompiliert?

    Das Ding habe ich vor drei Monaten von meiner Platte gelöscht:

    Tut absolut nichts.

    Und das auch noch mit Microsoft Visual C++, oh Graus.


    Aber wenn es so "einiges für AS/400 im Opensource-Bereich bei sourceforge.net" gibt, interessiert mich das natürlich. Welche Sachen sind denn das?

    Lass mal hören!

    Gruss
    emax

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von emax
    ....Das Ding habe ich vor drei Monaten von meiner Platte gelöscht.........
    Lass mal hören::::::
    na wenn du sf.net kennst brauch ich ja nix mehr zu sagen.
    gruss nach Gross-Bieberau und schönen tag noch.

    k.

  5. #5
    Registriert seit
    Dec 2005
    Beiträge
    51

    Tja,

    da liegt das Problem: ich kenne es eben nicht so gut, als dass ich "Sachen für die AS/400" gefunden hätte.

    Deshalb noch mal meine Frage: welche Sachen meinst Du denn? Würde mich echt interessieren, man lernt ja nie aus.

    Also immer her demait, und Danke im Voraus!

    Gruss
    emax

  6. #6
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von emax
    da liegt das Problem: ich kenne es eben nicht so gut, als dass ich "Sachen für die AS/400" gefunden hätte.

    Deshalb noch mal meine Frage: welche Sachen meinst Du denn? Würde mich echt interessieren, man lernt ja nie aus.

    Also immer her demait, und Danke im Voraus!

    Gruss
    emax
    ehm...
    also ich habe einfach mal die suchfunktion da benutzt, was ja be berlios auch geht.
    und wenn man bei berlios nach "AS/400" sucht findet man zwei ergebnisse...
    bei sf doch schon etwas mehr. siehe hier: http://sourceforge.net/search/?words...of_search=soft
    ob da irgendwas brauchbares bei ist mag ich nicht entscheiden und steht mir auch gar nicht zu.
    andere suchbegriffe fördern sicherlich auch andere ergebnisse zu tage.

    ich wollte da gar nicht gross drauf rumhacken auf dein projekt.
    ist immer schön zu lesen, wenn leutz sich engagieren.
    war mehr ne überlegung von wegen synergie und so.

    bye

    k.

  7. #7
    Registriert seit
    Dec 2005
    Beiträge
    51

    Jou,

    Das mit der Synergie seh' ich auch so. Deshalb frage ich hier ja auch nach Mit-Entwicklern. Ideal sind Leute, die neben RPG auch profundes Wissen in Sachen C++ mitbringen, nur leider gibts die nicht so oft.

    Die Sachen auf SF.net habe ich mir eben mal angesehen, viele kenne ich, andere nicht. Ein RPG-Compiler ist nicht dabei. Die meisten Tools sind auch für die AS/400 gedacht, nicht für PC.

    Ich hatte mich schön öfter hingesetzt, und im Web nach Lösungen für einen RPG-Compiler gesucht.

    Es gibt wirklich nichts. Da waren

    1. eraserhead-RPG. Hatte mit dem Autor Kontakt aufgenommen, und wie er selber sagte, war sein Compiler "nothing usefull". Das Projekt wurde eingestellt, es gibt keine verwertbaren Ergebnisse.

    2. personal RPG: schlicht Schrott. Da hat jemand angesetzt, einen Compiler zu bauen, aber kein Konzept dahinter. Das Ganze ist eine Ansammlung von MS-VC++ - Projektfiles, die dann entstehen, wenn man ein neues Projekt mit Visual Studio anlegt. In der Tat hat derjenige auch sehr ordentlich begonnen, einen Umsetzer zu bauen, aber das ist es eben nicht.

    Man muss sich sehr grundsätzliche Gedanken über den Zyklus, IO-Buffer, die Rolle von Datenstrukturen, das CALL-Interface, externe Bezugszahlen, UDS etc. etc machen, sonst fällt man schlicht auf die Schnauze: man braucht ein "Design".

    Beispiel: Das Feld "KDNR" wird geändert. Jetzt ist KDNR aber Member einer DS, und ändert deshalb auch alle Felder mit, die an dieser Stelle der DS überlappen. Nichts Wildes in RPG, aber in C/C++ muss man sich vorher überlegen, wie man so etwas abbildet.

    (ist bei rpg2cpp über shared buffers gelöst).

    personalRPG hatte nichts davon: es war der Ansatz eines Umsetzers, der erkennbar nicht designed war, sondern hinkodiert. Das Projekt ist seit 2004 tot, keine verwertbaren Ergebnisse.

    3. Lattice-RPG. (kommerziell). hatte selber schon mal das Vergnügen: war RPG-II und auch sonst nicht sehr lustig, überdis nur für DOS, auweia.

    4. Unibol: das Abbild einer /36, schöne Sache, aber teuer.

    5. Baby/400: ein Einplatzsystem, kommerziell


    Mehr kenn ich nicht.

    Wenn irgendjemand ein Projekt kennt, das nicht hierbei ist, immer her damit. Aber soweit ich es sehe, ist rpg2cpp z.Zt. das einzige lebende opensource Projekt in Sachen RPG. Und ich bin damit weiter, als die anderen opensource-Projekte bislang gekommen waren:

    1. hochpräzise Artihmetik. In C/C++ gibt es keine Chance, die Genauigkeit aus RPG oder Cobol über die Standarddatentypen zu erreichen. Man kann noch nicht mal 1,99 korrekt darstellen, oder gar 1,000000001 und 2 richtig addieren.

    Dieses Problem ist in rpg2cpp perfekt gelöst: absolute Präzision bei bis zu etwa 2000000000 Stellen (in Worten: ca zwei Milliarden Stellen Genauigkeit).

    Ist für die Praxis natürlich Blödsinn, zumal die Laufzeit sicher suboptimal wäre :-))

    Aber darum gehts nicht: rpg2cpp bietet _exakte_ Artithmetik.

    Auch der Zyklus ist vollständig abgebildet. Zwar sind die meisten Routinen noch leer, aber sie sind da, sie sind an der richtigen Stelle und sie werden zur richtigen Zeit ausgeführt. Sie müssen nur noch auskodiert werde, eine reine Fleissaufgabe: die Programmlogik ist implementiert.

    Wer zum Design Details will, kann das hier nachlesen:

    http://developer.berlios.de/docman/?group_id=5256

    Als Sprache "English" wählen und "go" klicken. Dort wird das grundsätzliche Design beschrieben, und wie der C++-Sourcecode später einmal aussehen könnte.

    Wer sich die aktuelle (pre-Alpha) Version runterlädt, findet ein "Cycle.gif", auch für gestandene RPG-Programmierer interessant: es passieren Dinge im Zyklus, von denen viele nicht wissen.

    Und wer jetzt meint: "ich programmiere nicht im Zyklus", der sollte erst recht mal reinsehen. Denn die Frage, wann z.B. H1-H9 verarbeitet werden, welche Auswirkungen *INRT im Gegensatz zu *INLR hat, wann PARM/PLIST genau verarbeitet wird, und eine ganze Reihe anderer Features hängen vor allem vom vielgeschmähten Zyklus ab: er beschreibt ja nicht nur die typische Verarbeitung einer Input Primary-Datei, sondern das gesamte Verhalten einer RPG-Applikation.

    Naja, da geht es jetzt vielleicht etwas mit mir durch, aber wer einen RPG-Compiler schreiben will, kommt an diesen Dingen nicht vorbei. Sie sind schlicht die "Conditio sine qua non".

    Und deshalb sind ie anderen Opensourceprojekte vermutlich gegen die Wand gelaufen: es hat sich keiner ausreichend mit diesen Dingen befasst.

    Gruss
    emax

  8. #8
    Registriert seit
    Dec 2004
    Beiträge
    42
    Einerseits tolles Projekt, da mal jemand über seinen Tellerrand schaut und gut für sein Projekt recherchiert, andererseits, was/wem soll das Projekt denn (was) bringen?

    RPG Anwendungen laufen meist auf der iSeries, weil sie dort den nötigen stabilen Untergrund haben, und einen nativen überaus performanten Datenbankzugang den man mit SQL (ich gehe mal davon aus du hast dir dazu noch nicht viele Gedanken gemacht) einfach nicht toppen kann (ich stelle diese Behauptung einfach mal in den Raum).

    Zumal bezweifle ich, dass du, oder wer auch immer sich ebenfalls mit RPG Compilern beschäftigt, nicht mit der IBM Schritt halten kannst was die Weiterentwicklung von RPG angeht.

    Einen Einsatz im produktiven Umfeld kann ich mir daher nicht vorstellen, wer also sollte dann das fertige Produkt (falls es fertig wird) benutzen?

  9. #9
    Registriert seit
    Dec 2005
    Beiträge
    51
    Zitat Zitat von NEich
    Einerseits tolles Projekt, da mal jemand über seinen Tellerrand schaut und gut für sein Projekt recherchiert
    Danke.

    andererseits, was/wem soll das Projekt denn (was) bringen?
    Mir.

    performanten Datenbankzugang den man mit SQL (ich gehe mal davon aus du hast dir dazu noch nicht viele Gedanken gemacht) einfach nicht toppen kann (ich stelle diese Behauptung einfach mal in den Raum).
    Ich weiss nicht, ob man das toppen kann. Wenn man mal Leistung/Euro rechnet, könnte die Rechnung schon ganz anders aussehen. Und die Frage wäre ja sicher auch, was man mit so einen Compiler überhaupt machen will: sicher keine Massendaten verarbeiten, z.b. die Rechnungen der Telekom drucken, oder die Bankauszüge der Bank of Tokyo.

    Zumal bezweifle ich, dass du, oder wer auch immer sich ebenfalls mit RPG Compilern beschäftigt, nicht mit der IBM Schritt halten kannst was die Weiterentwicklung von RPG angeht.
    Och joh. Klaro, in meinem Wohnzimmer, an Samstag-Abenden, mach ich als one-Man-Show die ganze IBM platt....

    Also mal im Ernst. Ist natürlich Blödsinn, die komplette IBM-Entwicklung einfach mal so nachbilden zu wollen. Ich denke, besonders in Hinblick auf die Umgebung OS/400 käme der Versuch wohl schlicht einer Gotteslästerung gleich. Es wird sicher RPG-III - kompatibel sein können, und hoffentlich auch RPG/400. Dann aber eben ein bestimmtes Release, und gut wärs. Das hindert natürlich nicht daran, auch neue Features dazuzupacken.

    Andererseits könnten Möglichlkeiten geschaffen werden, die IBM nicht bietet:

    - natives Web-Interface, z.B.
    - native Oracle-Anbindung (oder gibts die schon?)
    - beliebig grosse Alpha-Felder (bis 4GB)
    - beliebig grosse numerische Felder und Genauigkeit
    - native grafische Benutzeroberfläche (Qt/X11/gtk ...)

    Die Frage ist also: macht rpg2cpp der IBM alles nach? Macht es manche Dinge vielleicht besser? Oder gibt es einen gemeinsamen Nenner (Release xyz), und darüberhinaus ein paar goodies für Linux/Windows?

    Spannende Fragen, die sich vielleicht in ein/zwei Jahen stellen könnten.

    Einen Einsatz im produktiven Umfeld kann ich mir daher nicht vorstellen, wer also sollte dann das fertige Produkt (falls es fertig wird) benutzen?
    Da ich selber aus der AS/400-Ecke stamme, weiss ich wohl, das die Opensource-Idee es dort eher schwer hat, und die Motivationen für solche Aktivitäten (nicht bei allen, aber überwiegend) kaum bekannt sind.

    Opensource Entwicklungen enstehen nicht aus ökonomischen Erwägungen, sondern aus Spass an der Sache, und schlicht deshalb, weil die jeweilige Sache häufig eine Herausforderung ist. Unter diesem Aspekt entzieht sich das Ganze daher praktischerweise jeder ökonomischen Betrachtung. Ich hab's oben schon geagt: im Moment nützt es _mir_. Weils Spass macht.

    Ob das irgendwann fertig wird, weiss ich nicht, aber es ist Hobby: die einen programmieren, weil sie Geld verdienen müssen, die anderen verdienen Geld, weil Ihnen das Programmieren so viel Spass macht. Ich zähle mich zur letzteren Kategorie. Alle paar Tage ein neues Feature einzubauen, und dann festzustellen, dass es sich exakt so verhält, wie das Original - das ist regelrecht spannend.

    Ob es irgendwann prduktiv eingesetzt wird, weiss ich natürlich nicht, und offengestanden habe ich auch gar keinen Grund, darüber nachzudenken. Aber es hat sich schon oft gezeigt, dass eine Sache, wenn sie erst mal an Profil und Funktion gewinnt, zum Selbstläufer wird.

    Im speziellen Fall RPG allerdings wäre das überraschend. Denn in der Regel werden diejenigen, die C++/Java et.al. beherrschen kein Interesse an einen RPG-Compiler haben: sie haben ja (vermeintlich) Besseres.

    Ich selber trauere dagegen den Fähigkeiten von RPG nach. Ich muss hier sicher nicht erklären, wie schnell damit Programme zu schreiben sind, wie unproblematisch Datendefinitionen und Satzverarbeitung sind, ebenso wie die Masken-Handhabung, die präzise Arithmetik, etc...

    Hätte ich heute einen RPG-Compiler unter Linux, längst hätte ich mir eine eigenen Rechnungsschreibung gebaut (ich bin selbständig), und meine Kunden- und sonstigen Daten einer RPG-Entwicklung anvertraut.

    Eines ist klar: es soll kein OS/400 nachgebaut werden, dafür haben wir ja unsere AS/400. Auch CL ist kein Thema. Es geht um RPG, und selbst da muss ich sagen, dass RPG/400 zunächst "angestrebt" ist, und es sieht eigentlich ganz danach aus, dass das auch klappen könnte. Sogar extern beschriebene Dateien erlaubt das Design.

    Aber ob das so klappt, ob es produktiv wird, ob die Welt es braucht: das sind Kategorien, über die ich mir eigentlich keine Gedanken mache: es ist Hobby.

    beste Grüsse
    emax


    PS: da ich keine AS/400 zum Testen habe, werde ich hier sicher noch öfter um Hilfe bitten, hier gleich die erste Frage:

    Programm A macht eine CALL auf Programm B, welche Programm C CALLt. Soweit ok.

    Wenn nun Programm C wieder Programm A aufruft, wird dann eine neue Kopie geladen (mit allen Initialisierungen, Bezugszahlen auf Null etc), oder wird die Instanz aufgerufen, die am Anfang stand (und damit auch die Variableninhalte, Satzzeiger und Bezugsahlen übernommen) ?

    Müsste ich für mein CALL-Interface wissen.

    Freu mich auf Antwort.

  10. #10
    Registriert seit
    Dec 2002
    Beiträge
    301
    Da gibt es der Möglichkeiten einige.

    Programm A ruft Programm B auf. Programm B wird mit *INLR = *On verlassen. Dann befindet sich Programm B nicht mehr im Aufrufstapel und auch der Speicher mit den Variablen ist weg.

    Programm A ruft Programm B auf. Programm B wird mit *INLR = *Off und "Return" verlassen. Dann befindet sich Programm B nicht mehr im Aufrufstapel, jedoch ist der Speicher mit den Variablen noch vorhanden. Jetzt ruft Programm A noch einmal Programm B auf. Dann haben die Variablen die gleichen Werte, die sie hatten, als das Programm B mit *INLR = *Off und "Return" verlassen wurde.

    Programm A ruft Programm B auf. Programm B ruft Programm A auf. In RPG II und RPG III werden rekursive Aufrufe grundsätzlich mit einem Fehler belohnt. In RPG IV gibt es nur dann einen Abbruch, wenn sich die Programme, die sich rekursiv aufrufen in der gleichen Aktivierungsgruppe befinden. Bei unterschiedlichen Aktivierungsgruppen funktionieren auch rekursive Aufrufe. Jedes Programm hat dann seinen eigenen Speicher für Variablen und beim Aufruf des Programms wird dieser initialisiert und nicht vom vorhergehenden Aufrufstapeleintrag des gleichen Programms übernommen.

  11. #11
    Registriert seit
    Dec 2005
    Beiträge
    51
    Klare Antwort, herzlichen Dank.

    Die LR/RT - Eigenheiten waren mir klar, nur der letzte Fall, wenn "A" zwei mal, aber von unterschiedlichen Programmen aufgerufen wird, das war mir unklar.

    Das heisst also, dass je unterschiedliche Programme (i.e. CALLER) immer eigene Instanzen der aufgerufenen Programme bekommen.

    Bis denne und danke!
    emax

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Bevor man sich für kommerzielle Projekte einen OpenSource-Compiler zulegt mit allen Nachteilen (Wartung, Funktionalität, o.ä.) wird man sich bei Windows-APP's wohl eher auf VisualRPG konzentrieren.
    Dort ist das Windows-Handling sowie auch C-Aufufe (ILE-Definitionen) als auch SQL und Native-DB-Zugriffe enthalten.

    Für die Spielwiese mag so ein Projekt ganz nett sein, aber ernsthaft wird es wohl kaum einen Erfolg bringen.
    Probleme hast du ja bereits bei den Felddefinitionen festgestellt:
    - Alle Felder sind grundsätzlich Single-Felder ausser bei Strukturen mit qualified.
    - Überlagerung von Definitionen (E-Definition mit I-Definition bei Namensgleichheit, DIM/OCCURS, Overlay, u.v.m.)
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. RPG Entwickler nach New Brunswick/ Kanada gesucht
    By RaMai in forum NEWSboard Server Job
    Antworten: 6
    Letzter Beitrag: 04-06-07, 17:49
  2. Entwickler ISeries in der Schweiz gesucht
    By STRO in forum NEWSboard Server Job
    Antworten: 1
    Letzter Beitrag: 11-12-06, 13:25
  3. AS/400 Entwickler (SQL und Cobol) PLZ 48 gesucht
    By nuan in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 02-02-06, 16:21
  4. Entwickler im PLZ-Bereich 91... gesucht
    By raidro in forum NEWSboard Server Job
    Antworten: 2
    Letzter Beitrag: 14-03-05, 14:14
  5. Programmierer, Entwickler, Ingenieure gesucht!
    By IPSER in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 20-01-05, 07:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •