BenderD
29-08-16, 19:33
... aus dem Watschen verteilen halte ich mal (ausnahmsweise) raus.
Zu dem Const hab ich ernsthafte Einwände: CONST ist nciht ziemlich dasselbe wie VALUE
- CONST müsste eher "Hopefully CONST" heißen, da das ganze Konstrukt darauf vertraut, dass die Verwendung von Prototypen konsistent erfolgt. Mit einem falschen Prototyp im aufgerufenen (!!!) Programm lässt sich das unterlaufen und kommt im aufrufenden dann als Änderung an. Dass da (angeblich) bei abweichenden Prototypen Referenzen auf Kopien weitergegeben werden ist logisch nicht schlüssig - die Kopien müssten im aufrufenden Programm gemacht werden und das kann nicht wissen, ob da jemand einen abweichenden Prototyp verwendet.
- VALUE wird von externen stored Procedures nicht unterstützt.
=> es bleibt bei RPG wieder einmal die Wahl zwischen Pest und Cholera:
- verwende ich CONST, vertraue ich darauf, dass kein anderer Mist macht
- verwende ich VALUE, brauche ich einen zusätzlichen Wrapper, wenn ich eine vorhandene Funktion als SQL-Procedure oder -Function bereit stellen will.
D*B
Zu dem Const hab ich ernsthafte Einwände: CONST ist nciht ziemlich dasselbe wie VALUE
- CONST müsste eher "Hopefully CONST" heißen, da das ganze Konstrukt darauf vertraut, dass die Verwendung von Prototypen konsistent erfolgt. Mit einem falschen Prototyp im aufgerufenen (!!!) Programm lässt sich das unterlaufen und kommt im aufrufenden dann als Änderung an. Dass da (angeblich) bei abweichenden Prototypen Referenzen auf Kopien weitergegeben werden ist logisch nicht schlüssig - die Kopien müssten im aufrufenden Programm gemacht werden und das kann nicht wissen, ob da jemand einen abweichenden Prototyp verwendet.
- VALUE wird von externen stored Procedures nicht unterstützt.
=> es bleibt bei RPG wieder einmal die Wahl zwischen Pest und Cholera:
- verwende ich CONST, vertraue ich darauf, dass kein anderer Mist macht
- verwende ich VALUE, brauche ich einen zusätzlichen Wrapper, wenn ich eine vorhandene Funktion als SQL-Procedure oder -Function bereit stellen will.
D*B