-
Wenn wir schon beim Thema sind:
Wir haben ein paar Probleme mit RDi. Sind euch diese Probleme auch bekannt oder ist das nur bei uns nicht so gut?
- Wir haben viele Copy-Strecken mit Prototypes, die wiederum jeweils eine sehr große weitere Copy-Strecke mit Datenstrukturen beinhalten.
In der Regel schafft RDi es nicht, eine vollständige "LiveSyntaxanalyse" durchzuführen. Die Prüfung unten in der Leiste bleibt meist so bei 66% stehen. Das führt dann dazu, dass Strg+Space nicht immer funktioniert. - Wenn ein Programm groß wird und viele Procedures hat (2500 Zeilen mit vielleicht 150 Procedure oder so), schafft RDi es nicht mehr im LPEX Editor mit F3 auf einem Procedurenamen auf die Deklaration der Procedure zu springen.
- Der Debugger versagt ziemlich oft. "...Verbindung zur Debug Engine verloren"
IBM hat uns mal gesagt, das läge am workspace. Aber nach dem aufwändigen Aufsetzen eines neuen workspaces tritt das Problem bei manchen Programmen wieder auf. - Im Debug kann man keinen Inhalt von UCS2 Feldern anzeigen. Ich habe da gerade einen Case bei IBM laufen. IBM hatte vor 3 Jahren oder so mal verkündet, dass man Unicode im Debugger anzeigen könnte. Aber das klappt nur bei UTF-8. Und die verwenden wir kaum. Ist im RPG meist zu umständlich.
Kennt ihr so etwas auch?
-
Hallo Dieter,
zum Teil ja, Punkt 1 ganz sicher und Punkt 2 auch. Debugger kann ich nix sagen, da ich den Debug immer in einer ordentlichen CA Sitzung aufrufe.
und...
... ob da Klaus Peter mit liest? Jedenfalls passt das gleich zum Thema:
https://events.midrange.de/Online-Wo.../?affl=Academy
Allerdings, der Workshop ist nicht umsonst.
kf
-
 Zitat von camouflage
Den Workshop haben wir gebucht. Ich freue mich schon darauf.
-
 Zitat von dschroeder
Wenn wir schon beim Thema sind:
Wir haben ein paar Probleme mit RDi. Sind euch diese Probleme auch bekannt oder ist das nur bei uns nicht so gut?
- Wenn ein Programm groß wird und viele Procedures hat (2500 Zeilen mit vielleicht 150 Procedure oder so), schafft RDi es nicht mehr im LPEX Editor mit F3 auf einem Procedurenamen auf die Deklaration der Procedure zu springen.
Kennt ihr so etwas auch?
... wenn ich Editor wäre, würde ich bereits vorher die Sitzung beenden und die Quelle löschen.
Könnte es sein, dass euer Design da nur das zweitbeste ist?
D*B
-
 Zitat von BenderD
Könnte es sein, dass euer Design da nur das zweitbeste ist?
D*B
Das könnte natürlich sein.
Aber glücklicherweise sind diese Programme Ausnahmen. Unsere Programme haben im Schnitt weniger als 250 Zeilen.
Wir haben bei uns z.B. für die Entität Kunde ein Serviceprogramm, das alle möglichen Aktionen mit dem Kunden veranlasst. Z.B. kundeAktion(key : 'neuanlage') oder kundeAktion(key : 'showZusatzdaten').
Da mit einem Kunden schnell mal 100 oder mehr Aktionen möglich sind, haben wir im Serviceprogramm kundeAktion eben mindestens 100 Procedures. Eben für jede Aktion eine eigene Routine. Die eigentliche Arbeit wird natürlich nicht in dem Serviceprogramm gemacht. Es steuert nur die Aufrufe der wirklichen Verarbeitungsprogramme.
Langer Rede kurzer Sinn: So ein Programm ist lang, beinhaltet aber strukturell keine große Logik. Es ist nur eine lange "Aufzählung" der Möglichkeiten.
-
 Zitat von dschroeder
Das könnte natürlich sein.
Aber glücklicherweise sind diese Programme Ausnahmen. Unsere Programme haben im Schnitt weniger als 250 Zeilen.
Wir haben bei uns z.B. für die Entität Kunde ein Serviceprogramm, das alle möglichen Aktionen mit dem Kunden veranlasst. Z.B. kundeAktion(key : 'neuanlage') oder kundeAktion(key : 'showZusatzdaten').
Da mit einem Kunden schnell mal 100 oder mehr Aktionen möglich sind, haben wir im Serviceprogramm kundeAktion eben mindestens 100 Procedures. Eben für jede Aktion eine eigene Routine. Die eigentliche Arbeit wird natürlich nicht in dem Serviceprogramm gemacht. Es steuert nur die Aufrufe der wirklichen Verarbeitungsprogramme.
Langer Rede kurzer Sinn: So ein Programm ist lang, beinhaltet aber strukturell keine große Logik. Es ist nur eine lange "Aufzählung" der Möglichkeiten.
... 250 für den Durchschnitt ist nicht gerade wenig, aber handelbar. 2500 ist der Faktor 10, das ist schon heftig. Die Tatsache, dass dabei die Macken der Entwicklungsumgebung auffallen,sagt auch aus, dass es da durchaus Änderungen an diesen Boliden gibt und da stellt sich schon die Frage Wartbarkeit. Ich würde da schon mal einen Blick drauf werfen, ob man das nicht teilen kann, sprich: ob alle Procedures da rein gehören, bzw. innere Bindung (shared data) haben.
Kritisch sehe ich auch, die Übergabe von Steuerungsinformation, das verdeckt Aufrufhierarchien und macht sie instabiler. Aufrufnamen kann der Compiler prüfen, Inhalte von Parametern nicht.
D*B
-
Seit 9.8.1 habe ich fast keine Probleme mit der Syntaxanalyse, da diese nicht mehr die gesamte Source durchsucht, sondern nur noch innerhalb des umgebenden Blocks der aktuellen Zeile, also if-endif, dcl-proc-endproc, for-endfor, usw.
Abstürze bekomme ich nur, wenn das Netz mal wieder zusammenbricht. Ich arbeite vom Homeoffice via VPN mit der IBM. Da kann es dann schon mal zu Unterbrechungen kommen.
WLAN-Probleme kann man minimieren, wenn man das automatische Weiterleiten (Mesh) des WLAN korrekt konfiguriert hat. Da merkt man den Wechsel zwischen den Stationen gar nicht.
Wenn dann eine Exception hochpopt, dann kann man wirklich nichts mehr machen und muss RDi auch killen. Aber das ist höchst selten. Beim Neustart wird man dann aber gefragt, ob die zuletzt geänderten und noch nicht gesicherten Quellen wieder geöffnet werden sollen.
Auch die Anzahl Zeilen ist mittlerweile kaum noch ein Problem. Alte Quellen, die erst nach und nach auf Free umgestellt werden, haben historisch durchaus mehrere 1000 Zeilen, auch schon mal 10.000!
Auch damit hat RDi keine Probleme.
Es funktioniert ja sogar die Autovervollständigung im SQL für Hostvariablen. Das war vorher halt immer lästig. Da musste man aus "exec sql" einen "xexec sql" machen, konnte seine Hostvariablen setzen und das "x" wieder entfernen.
Der Upgrade auf die 9.8.1 funktionierte sogar ohne Probleme.
Super ist das Arbeiten mit der Gliederungsansicht und dem Filter derselben. Über die Referenzen kann man schnell alle Verwendungen prüfen, incl. der Datei-E/A's, und dahin navigieren, vor allem wann eine Variable geändert wird. Das war früher immer sehr mühsam, da dies erst der Compiler auswarf.
Über eine 2. Ansicht bekommt man dieselbe Qielle noch mal nebeneinander, so dass man in unterschiedlichen Stellen des Codes navigieren kann. Ins besonders im Daten- und Codeteil separat.
Wenn der Bildschirm breit genug ist, hat man immer noch eine gute Arbeitsfläche.
Aber es ist halt jedem selbst überlassen, wie man mit einem Tool umgehen kann.
Ach ja, auch den Debugger benutze ich noch lieber im Greescreen, da der Remote-Debugger via VPN einfach viel zu langsam ist.
-
Also Baldur,
Du bist mein Held, schon auf 9.8.1. Da bin ich doch gleich noch ein Pfahlbauer. :-D
kf
-
OK, leicht vertan: 9.8.0.2 (20240514_1451)
Läuft aber problemlos und für meine Internetausfälle kann ja RDi nichts.
-
 Zitat von Fuerchau
OK, leicht vertan: 9.8.0.2 (20240514_1451)
Läuft aber problemlos und für meine Internetausfälle kann ja RDi nichts.
Ich muss sagen, dass ich immer wieder verwundert bin, wenn Entwickler nicht mit der neuesten Version arbeiten. Ich habe inzwischen 9.8.0.6. Nicht dass ich sagen würde, dass da inhaltlich ein gewaltiger Sprung gemacht wurde. Aber ein Update ist doch in wenigen Minuten gemacht. (Zumindest wenn man seinen workspace beibehält).
Ich weiß, dass Softwareupdates auch mal neue Fehler enthalten. Aber im Normalfall gibt es mehr Verbesserungen als Fehler (sonst hätte der Developer seinen Job nicht gemacht). Deshalb bin ich immer schnell dabei, wenn eine neue Version herauskommt.
Baldur, das soll keine Kritik sein! Ich kenne viele Entwickler, die nicht die letzte Version installiert haben. Mich würde aber interessieren, weshalb das so ist? Lohnen sich die paar Minuten für das Update nicht? Ist es Vorsicht, dass etwas kaputtgehen könnte? Oder kriegt man nicht mit, dass ein Update da ist? (Das kann ich mir bei dir, Baldur, eigentlich nicht vorstellen).
Der Update ist doch kostenlos!
-
Darum gehts ja auch nicht. Es handelt sich um einen Kunden-Laptop.
Zusätzlich gibts ein CMOne-Addon (ein IBM i basiertes Softwarecontrolsystem), dass leider nicht mit der neuesten Version harmoniert.
Also auch daran sieht man, dass Schnittstellen unsauber festgelegt wurden, wenn denn überhaupt.
Und wie heißt es so schön bei Kunden: "Never change ....".
Es ist nicht immer hilfreich, mit der neuesten Version zu arbeiten.
Ich arbeite auch mit Visual Studio Professional (also kein VS-Code).
Was da ständig an neuen, nicht benötigten Funktionen, ins besonders KI, hinzukommt...
Es ist wirklich mühsam, immer alles abzuschalten was man nicht braucht, weil keine KI derzeit 50-jährige Berufserfahrung nachvollziehen kann.
Ich hatte es schon bei anderer Gelegenheit geäußert, dass mir KI bisher nur Standardlösungen angeboten hat, die ich selber aber schon kenne. Meine speziellen Probleme muss ich da schon selber lösen.
Auch meine SQL's sind immer noch effektiver, wenn es um komplexe Abfragen geht.
Alleine schon, was man sich mit "join lateral" alles sparen kann.
Dasselbe gilt für Windows 10.
Warum soll man sehr gute Hardware, die super gut funktioniert und keine Ausfälle hat, entsorgen, nur damit dann Windows 11 eingesetzt werden kann?
Wenn denn mal eine neue Hardware kommt, gibts ja nur noch Windows 11.
Wozu also der Zwang viel Geld für Hardware auszugeben?
Und das Schlimme daran ist ja, dass ich auch für meine anderen Software-Produkte ebenso neue Lizenzen benötige und u.U. keine Windows 11-Version mehr bekommen kann.
Zum Vergleich:
Ich benutze immer noch mein CorelDraw X4 (2008!), weil ich nicht mehr brauche, dass schon unter Windows 10 nur über Umwege mit Umbenennung der Setup-Datei installiert werden konnte.
Ja, und ich habe schon länge Windows11, da es vor 2 Jahren, glaube ich, noch eine Umgehungslösung für das TPM 2.0-Problem gab, was jetzt wohl inzwischen nicht mehr möglich sein soll.
Aber vielleicht gibts ja doch noch einen Hack.
Ja, und CorelDraw X4 läuft immer noch.
-
OK, danke für die Info.
Das Problem mit der Kompatibiliät zu Kundensystemen kenne ich auch noch aus meiner (sehr lange zurückliegenden) Zeit im Softwarehaus.
Ich bin durchaus froh, dass ich diese Einschränkungen heute nicht mehr habe.
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 09-08-19, 11:42
-
By hwalk in forum NEWSboard Programmierung
Antworten: 19
Letzter Beitrag: 26-09-15, 09:33
-
By camouflage in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 14-03-14, 16:23
-
By camouflage in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-02-14, 09:45
-
By HoScHiE in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 28-09-01, 14:20
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks