-
Hallo Mod Fuechau,
was das Gekloppe soll ?
Nun, wenn wir in einer idealen Welt lebten, dann hätte ich in der Tat keine Probleme.
Nur ist es leider in den seltensten Fällen so, daß ich Software neu entwickle. Der sehr viel häufigere Fall ist das Pflegen und ggf. modifizieren alter, bestehender Anwendungen. Hier schaut die Sachlage ganz anders aus.
Ein großer, renommierter Kunde den wir betreut haben, hatte in seinen Eigenentwicklungen, die sich im Lauf von über 10 Jahren ergeben haben, vergessen, die Mandantenfähigkeit zu berücksichtigen. Unsere Aufgabe war es, eben diese zu realisieren.
Können Sie sich in etwa den Aufwand vorstellen den alleine der CL-Scherz verursacht hat ?
Das war nicht meine Software, aber das ändert nichts.
Aber ich frage mal anders rum: Ist Ihnen irgendeine andere Spache bekannt, in der Sie einen 1024 stelligen String declarieren, diesen explizit leeren und im Ergebnis dann keine leeren String, sondern einen zugemüllten String vorfinden ?
Was soll ich davon halten, daß auf einer nagelneuen i-series mit letzen Cum.PTF installiert, der Befehl STRDBG mit einem MCH6401 in' s Nirvana abrauscht ?
Den unerquicklichen Zustand rund um den SQL-Precompiler hat ja Dieter Bender schon sehr gut beleuchtet, von daher spar ich mir die Wiederholung.
Ich war und bin ein wirklicher Fan der AS/400 respektive i-series. Ich kenne das System ebenso wie ihren Vorgänger /38 seit Markteinführung in Deutschland. Diese Systeme waren solide und verläßlich wie ein Panzer. Nach mehreren Exkursionen in die Win-Welt ist mir das immer wieder sehr bewußt geworden.
Das was mir in letzter Zeit hier so begegnet ist wenig erfreulich.
Es ist sicher jedermanns ganz persönliche Meinung und die sei auch jedem unbenommen.
Ich bleibe dabei:
Was auf einem Vorgänger-Release sauber und fehlerfrei läuft und mir nach einem Releasewechsel um die Ohren fliegt, oder mich zu erheblichen manuellen Änderungen nötigt, das kann und werde ich als schlechte Lösung ansehen.
LG
Karl
-
Hallo,
 Zitat von Karl23
Können Sie sich in etwa den Aufwand vorstellen den alleine der CL-Scherz verursacht hat ?
Das war nicht meine Software, aber das ändert nichts.
Aber ich frage mal anders rum: Ist Ihnen irgendeine andere Spache bekannt, in der Sie einen 1024 stelligen String declarieren, diesen explizit leeren und im Ergebnis dann keine leeren String, sondern einen zugemüllten String vorfinden ?
Karl
dieser Effekt ist weder CL, noch überhaupt Sprachbezogen. Hier kommen mehrere Dinge zusammen:
- der gesamte Call Mechanismus von OS/400 basiert auf Call by Reference, sprich es werden Pointer auf Speicher übergeben - Parameter sind also immer im aufrufenden Kontext mit Speicher hinterlegt.
- ein OS/400 Pointer ist immer untypisiert, er weiß also nicht auf was er zeigt.
- Der OS/400 Command Call legt für Literale, die als Parameter übergeben werden Variablen an und übergibt deren Adresse als Pointer an das aufgerufene Programm; numerisch 15 5, alfa mit 32 Byte und nur dann länger, wenn das erkennbar und erforderlich ist, deshalb der Effekt beim verlängern und anfügen eines beliebigen Zeichens.
In der klassischen Denke waren eigene Commands als die Objekte gedacht, mit denen man Parameter Schnittstellen beschreiben kann. In der ILE Denke hat man hierfür Prototypen vorgesehen und verlagert dann die Prüfungen in die Compile Time und zusätzlich bekommt man die Möglichkeit mit der Angabe von VALUE dne stabileren Call by Value - sprich die Übergabe von Werten statt Adressen zu verwenden. Im engeren Sinne wird diese Art der Übergabe allerdings nur simuliert.
Mehr als am Rande sei bemerkt, dass die "zusätzlichen" Bytes am Schluss k e i n Garbage sind, sondern Speicher im aufrufenden Programm, sprich man kann Variablen überklopfen, die nicht übergeben wurden und früher konnte man sogar im Codesegment rummalen, und Programme, die im Call Stack weit tiefer lagen, abschießen; mittlerweile wird das leidlich überwacht.
Hier sollte sich defensives Vorgehen schon lange rumgesprochen haben und hat Probleme immer vermieden:
- Konstanten oder Variablen statt Literale verwenden (gilt übrigens auch für eval)
- automatisch angelegte Variablen generell vermeiden (gilt besonders für eval), das vermeidet auch Rundungsprobleme
- auf genaueste Übereinstimmung der Deklarationen von Schnittstellen Variablen achten.
Was den Vergleich von RPG und CL mit anderen Sprachen angeht: beide sind unverantwortlich lax und prüfen viel zu wenig, dafür unsinniges Zeug (siehe Pre-Compiler), da ist Java ungleich penibler und kooperativer zugleich - nur hier ist die Lage (mit Ile) eher besser als schlechter geworden.
mfg
Dieter Bender
-
Hallo Dieter Bender,
vielen Dank für die ausführliche und kompetente Erläuterung des Sachverhalts. Bin zwar auch schon lange im Geschäft, aber wie man sieht, kann man immer noch dazu lernen.
Der Sachverhalt mit den Pointern war mir klar, aber nicht so tief im Detail. Daher nochmals meinen Dank.
LG
Karl
-
Da kann ich Dieter eben nur zustimmen !
Leider beschäftigen sich viele Programmierer manchmal viel zu wenig mit der Technik der Dinge (was leider erforderlich ist).
Seit V2 ist das Call-By-Reference-Problem mir persönlich bekannt und deshalb vermeide ich es eben. Andere Systeme sind da übrigens auch nicht besser: Siehe insbesonders Windoof mit seinen permanenten Pufferüberschreibungen, daraus resultierenden Attacken und Patches.
Was die Stabilität der Releases angeht, so muss ich dem zustimmen. Mein frühester Einsatz eines neuen Releases ist selten vor 12 Monaten nach der offiziellen Einführung.
Sicherlich bin ich damit nicht auf der Höhe der Zeit, aber wie oben beschrieben, was brauche eine alte Software für ein neues Release.
Und damit bin ich dann auch schon auf der (etwas) sichereren Seite, da diese ganzen "Kinderkrankheiten" zu über 90% beseitigt sind. Und somit halten sich meine Probleme halt etwas stärker in Grenzen.
RPG und CLP entsprechen da eben auch der laxen Handhabe von C. Selbst mit C++ bin ich noch weit davon entfernt "sichere" Progamme zu schreiben (wie oft habe ich schon undefinierte Abstürze, wenigstens bleibt XP meist am Rennen).
Naja, und Java...... (man lernt noch).
-
Sorry Baldur,
ich muss nochmal klopfen.
Die AS400 war nur deshalb eine Insel der Glückseligkeit, solange die echten Killer Applikationen auf anderen Büchsen liefen. Ich sage nur WebSphere auf AS400, da sehnt man sich nach einer Windows Büchse (oder Tomcat auf Linux )) ).
Ich würde ja gar nicht so drauf rumklopfen, wenn das nicht langsam einreißen würde und wenn IBM zuweilen etwas mehr Asche auf das eigene Haupt streuen würde - ich habe erst kürzlich wieder eine V5R3 Möhre mit einem Dump abrauchen sehen (ohne jeden WebsFear) und an Jobs, die man nicht mehr canceln kann, gewöhnt man sich ja fast und ich finde die AS400 Community sollte sich da ruhig deutlicher gegenüber der IBM positionieren, das kann nur helfen.
mfg
Dieter Bender
PS: Und mit dem C: C Pointer wissen im allgemeienen auf was sie zeigen und Strings sind üblicherweise Null terminated. In C muss man also Dinge aktiv aushebeln, die man in RPG kaum abstellen kann.
 Zitat von Fuerchau
Siehe insbesonders Windoof mit seinen permanenten Pufferüberschreibungen, daraus resultierenden Attacken und Patches.
RPG und CLP entsprechen da eben auch der laxen Handhabe von C. Selbst mit C++ bin ich noch weit davon entfernt "sichere" Progamme zu schreiben (wie oft habe ich schon undefinierte Abstürze, wenigstens bleibt XP meist am Rennen).
Naja, und Java...... (man lernt noch).
-
 Zitat von BenderD
Die AS400 war nur deshalb eine Insel der Glückseligkeit, solange die echten Killer Applikationen auf anderen Büchsen liefen. Ich sage nur WebSphere auf AS400, da sehnt man sich nach einer Windows Büchse (oder Tomcat auf Linux  )) ).
Dieter, mir ist grade danach und ich hake mich mal bei Dir ein (wie letztens am Kaffeetisch) und heule mit.
Ich bin inzwischen soweit, von V5R3 wieder abzuraten; das ist in einigen Bereichen echt unzuverlässig, es hat etwas mit Ratespiel zu tun. Ich habe erst neulich wieder gesehen, was IBM mit SQL treibt, das von einem WebSphere (auf ner W2K-Workstation) kommt. Da steht eine sauteure 820er (ok, 4 Jahre alt, und nur 370CPW, aber dafür hat man mal echt gblutet), und das Teil überlegt minutenlang, was der SQL-Command überhaupt bedeuten soll.
Andere Kunden, die Windows-Software entwickeln und gerne die AS/400-Datenbank verwenden wollen, fragen sich, warum eine "damals teure" 170er fast stehnbleibt, wenn ein SQL-Command kommt, bei der ein zwei Jahre alter Aldi-PC sich langweilt; bei 50 Usern. Hier hat IBM echt ein POWER-Problem, und in dem Bereich kann man die Apfel-Leute verstehen.
 Zitat von BenderD
Ich würde ja gar nicht so drauf rumklopfen, wenn das nicht langsam einreißen würde und wenn IBM zuweilen etwas mehr Asche auf das eigene Haupt streuen würde - ich habe erst kürzlich wieder eine V5R3 Möhre mit einem Dump abrauchen sehen (ohne jeden WebsFear) und an Jobs, die man nicht mehr canceln kann, gewöhnt man sich ja fast und ich finde die AS400 Community sollte sich da ruhig deutlicher gegenüber der IBM positionieren, das kann nur helfen.
Dafür haben wir doch unseren Kaffeekranz, habe ich mir mal sagen lassen. Aber die entsprechenden IBMer trauen sich ja auch nicht mehr hin, wenn man sie mal auf ein konstruktives Streitgespräch einlädt. Und leider (bin grade am Einladen für den AWK) ist das Interesse der Anwender auch sehr eingeschlafen; die interessieren sich eher für eine Migration weg von der teuren schwarzen Kiste. Ich selbst entwickle meine Software und alles drumherum explizit für mindestens V5R1; das war noch ein stabiles Release, hat leider Wissenslücken im SQL-Bereich, aber ist inzwischen überall zu finden.
Und wenn wir schon dabei sind und über die Software meckern; wer von Euch hat sich mal so eine 520er genau angeschaut und etwas "getriezt"? Da ist ja der DELL-PC meiner Frau stabiler und hat nicht ständig gelbe Augen.
-h
-
Basteleien
 Zitat von BenderD
Die AS400 war nur deshalb eine Insel der Glückseligkeit, solange die echten Killer Applikationen auf anderen Büchsen liefen. Ich sage nur WebSphere auf AS400, da sehnt man sich nach einer Windows Büchse (oder Tomcat auf Linux  )) ).
Dieter, mir ist grade danach und ich hake mich mal bei Dir ein (wie letztens am Kaffeetisch) und heule mit.
Ich bin inzwischen soweit, von V5R3 wieder abzuraten; das ist in einigen Bereichen echt unzuverlässig, es hat etwas mit Ratespiel zu tun. Ich habe erst neulich wieder gesehen, was IBM mit SQL treibt, das von einem WebSphere (auf ner W2K-Workstation) kommt. Da steht eine sauteure 820er (ok, 4 Jahre alt, und nur 370CPW, aber dafür hat man mal echt gblutet), und das Teil überlegt minutenlang, was der SQL-Command überhaupt bedeuten soll.
Andere Kunden, die Windows-Software entwickeln und gerne die AS/400-Datenbank verwenden wollen, fragen sich, warum eine "damals teure" 170er fast stehnbleibt, wenn ein SQL-Command kommt, bei der ein zwei Jahre alter Aldi-PC sich langweilt; bei 50 Usern. Hier hat IBM echt ein POWER-Problem, und in dem Bereich kann man die Apfel-Leute verstehen.
 Zitat von BenderD
Ich würde ja gar nicht so drauf rumklopfen, wenn das nicht langsam einreißen würde und wenn IBM zuweilen etwas mehr Asche auf das eigene Haupt streuen würde - ich habe erst kürzlich wieder eine V5R3 Möhre mit einem Dump abrauchen sehen (ohne jeden WebsFear) und an Jobs, die man nicht mehr canceln kann, gewöhnt man sich ja fast und ich finde die AS400 Community sollte sich da ruhig deutlicher gegenüber der IBM positionieren, das kann nur helfen.
Dafür haben wir doch unseren Kaffeekranz, habe ich mir mal sagen lassen. Aber die entsprechenden IBMer trauen sich ja auch nicht mehr hin, wenn man sie mal auf ein konstruktives Streitgespräch einlädt. Und leider (bin grade am Einladen für den AWK) ist das Interesse der Anwender auch sehr eingeschlafen; die interessieren sich eher für eine Migration weg von der teuren schwarzen Kiste. Ich selbst entwickle meine Software und alles drumherum explizit für mindestens V5R1; das war noch ein stabiles Release, hat leider Wissenslücken im SQL-Bereich, aber ist inzwischen überall zu finden.
Und wenn wir schon dabei sind und über die Software meckern; wer von Euch hat sich mal so eine 520er genau angeschaut und etwas "getriezt"? Da ist ja der DELL-PC meiner Frau stabiler und hat nicht ständig gelbe Augen.
Das hat alles etwas von "Gefrickele". Übrigens wie die Boardsoftware hier, die will nicht richtig mit Mozilla; aber *das* ist ein anderes Thema...
-h
-
Nun ja, da gilt dann halt der Spruch:
"Wer zu allen Seiten offen ist, der kann nicht ganz dicht sein !"
Sicherlich verwende ich diesen ganzen Kram (WebSphere usw.) auf der AS/400 nicht, deshalb bin ich auch sehr zufrieden mit der "Kiste".
Auch wenn die Software mit 5250 Greenschreen nicht mehr auf der Höhe der Zeit scheint, so können, zumindest meine Kunden, behaupten, dass die Transaktionskosten mit 5250 erheblich niedriger sind (bis Faktor 50), als mit ClientServer-Technologie.
Mit der ganzen PC-Anbindung, die zugegegeben auch erforderlich ist, stehe ich auch immer wieder auf Kriegsfuß. Was bei dem einen PC läuft, klappt beim nächsten, mitunter sogar "identischen" PC dann nicht mehr (MS-ADO, Office, CA-ServicePack, Windows-Patch oder sonst was).
Die Patches und Versionen der vorliegenden PC's (W2K, WNT, XPSP1, XPSP2, Terminalserver, Citrix usw.) sind kaum noch nachzuvollziehen und man steht wirklich wie der Ochs vor'm Berg, warum das denn gerade da nicht läuft.
Allein die Wartung der PC's bindet im Unternehmen 10x mehr Kapazität als die Wartung bzw. Pflege der AS/400 (siehe Problem: warum piepst mein PC bei 5250-Emu nicht?, oder bei Holgers Mozilla).
Packe ich immer mehr auf die AS/400, wie Linux, Notes usw. muss ich halt auch auf der AS/400 mit identischen Problemen kämpfen wie in der PC-Welt. Habe ich nur 1 AS/400, die alle möglichen Komponenten enthält, sind die Probleme eben verschärft.
Da kann die PC-Fraktion ruhig behaupten, dass diese "stabliler" liefen, dafür habe ich aber auch dann mehrere Server und wenn da mal einer hängt, naja dann wird der eben gebootet und dann gehts schon wieder.
Und was die Performance angeht, so bin ich auch da mit der AS/400 sehr zufrieden. Per SQL-Analyse stelle ich eben die meisten Engpässe ab und meine SQL-Programme sind dann auch schnell. Wenn mir eine Abfrage mit Group und Subselect's aus 12.000.000 Sätzen innerhalb von 2 Minuten als Ergebnis 2.100.000 Sätze liefert (bei gleichzeitig ca. 2.500 Job's auf dem System) finde ich das schon in Ordnung. Mein PC (3 GHz schafft das nicht).
Aber was solls, man muss eben wissen was man tut
Similar Threads
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 29-11-06, 19:07
-
By zannaleer in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 07-11-06, 12:01
-
By THH in forum NEWSboard Programmierung
Antworten: 18
Letzter Beitrag: 19-10-06, 15:16
-
By mk in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 17-11-05, 10:48
-
By Stefan_Sk in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 12-07-05, 14:04
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