Hi.
Ist das jetzt eine Verallgemeinerung oder stellst du dir das
genau so vor? Wenn Elfriede als Ergebnis einer eigenständigen
Berechnung steht (Die sich dann durch neue Versionen ändern
könnte), kannst du diese Berechnung in eine eigene Klasse
abkapseln. Du brauchst ja einen Mechanismus, um Codeteile
voneinander zu trennen. In Objektorientierten
Programmiersprachen sind das nun mal Klassen.
Also es *muss* nicht unbedingt objektorientiert
sein.
Es kommt dann auf deine Trennung an, wo und wie du Code zur
Laufzeit ändern kannst. Du solltest dir aber keine Wunder
erwarten. Zumindestens ein Teil läßt sich bestimmt nicht
tauschen: Das Hautprogramm (main), welches man bei
Programmstart aufruft.
Das bringt mich auf eine Idee:
Ich schreibe einen Kernel, der alles
andere nur interpretiert.
Der Kernel umfasst einen Editor,
mit dem ich alles andere
während der Ausführung ändern kann.
Wie ein großes Basic-Programm.
Es wird erst interessant, was in
einer Zeile steht, sobald der Interpreter
in dieser Zeile arbeitet. So lange er woanders
ist, kann man beliebig editieren.
Wenn man genügend mächtige Prozeduren
zulässt, dann dürfte ein solcher Interpreter
nur unwesentlich langsamer sein, als
ein gleichwertiges compiliertes Programm.
Der Umstieg von C- bzw. C++ auf Java (und umgekehrt) ist nicht
wirklich schwer. Einmal Objektorientiert, immer
Objektorientiert 
Das hoffe ich doch nicht!!!
Wenn man sich die Entwicklungsschritte
von sequenzieller Programmierung über
prozedurale bzw. funktionale Programmierung
zur objektorientierten Programmierung ansieht
(und vielleicht sogar miterlebt hat 
Dann freut man sich schon stark auf die
Ablösung der objektorientierten Sprachen.
Schwache Anzeichen hierfür gibts ja schon.
java und c laufen fast überall. Beim Lernaufwand kommt es nur
auf dich an.
Wegen oben gesagtem (interpreter und so) könnte
Java tatsächlich interessant werden. Allerdings
ist java halt tödlich langsam.
Die Frage ist nun: Welches Programm ist so wichtig, dass man
es nur zur Laufzeit ändern darf?
Eine Roboter- oder Maschinensteuerung.
Erfüllt das Programm seinen
Zweck während dem Tausch?
Es soll ja während der Laufzeit
eine Zeile, ja vielleicht nur eine
Konstante geändert werden um zu sehen,
wie das gesamte Programm reagiert.
Benötigt der Tausch weniger Zeit als
Stop-Update-Start?
… deshalb wäre nicht nur *ein* Stop-Upgrade
-Start notwendig, sondern hunderte.
Das läppert sich.
Gruss,
Marco