Parameterschnittstellen ändern bei vorhandenen Funktionen sollte man ohnehin nie machen, da kommt allenfalls eine neue Funktion dazu, oder es wird eine (später dann) nicht mehr benötigt.

Signaturänderungen beim hinzufügen von Funktionen kann man sich mit Binder Language ersparen (die man sich ebenfalls generieren könnte). Da laufen dann zwei Anforderungen konkurrierend, mehr Komplexität durch Binder Language oder einfacheres Handling und mehr Stabilität durch Rebinds und mehr zu verteilende Objkekte erkaufen. Beides kann man mit change Management Tools, die man kaufen oder selbst entwickeln muss, automatisieren - beides ist kein Hexenwerk.

Bei dem Beispiel mit den String Operationen würde gutes Design statt 10 Funktionen, die akut benötigt werden, eventuell 15 Prozeduren definieren von denen die 10 jetzt benötigten angelegt werden...

Eklatanter wird das, bei richtig gutem Design! Ein Datenbankzugriffsmodul würde alle Zugriffe auf eine bestimmte Tabelle in einem Modul zentralisieren und welche da gebraucht werden, weiß man bevor die erste implementiert wird. Es ist eben gerade nicht egal in welchem Modul eine Procedure loaklisiert ist und zuerst müssen Orte und Zuständigkeit definiert werden, was dann bei der Erfordernis von technischen Rebinds die Auswirkungenh zudem noch lokal hält.

Die Frage warum IBM das so kompliziert gemacht hat, kann ich ebensowenig beantworten, wie die Frage warum sich die meisten Verwender von ILE das Leben dann noch unnötig erschweren. (Bei Java jedenfalls kompiliert mir meine Entwicklungsumgebung immer automatisch was benötigt wird und deployed wird zuemeist ein komplettes Jar File - sprich eine komplette Anwendung).

D*B