Grundsatzfrage zwecks Rekursion
-
Hi,
Also ich habe eine bestimmte Frage zwecks dem Design von Programmiersprachen.
Und zwar ist es doch so, dass in der Mathematik oder Regelungstechnik/Digitale Siganlverarbeitung aus den Ableitungen der Ausgangsgrößen einer Differentialgleichung mit konstanten Koeffizienten (->linear) immer rekursive Blöcke werden. Z.b. IIR Filter.
Heißt das für eine Programmiersprache, dass sie um die Mathematik dort abbilden zu können, Rekursion unterstützen muss ??
Ist sie schlecht designt, wenn sie keine Rekursion unterstützt ??.Gruß
-
Das sind zwei verschiedene Bedeutungen des Wortes Rekursion, das eine hat mit dem anderen nichts zu tun.
-
Schon Yoda sprach: Um Rekursion zu verstehen Rekursion verstehen du musst.
-
Das sehe ich nicht unbedingt so. Die Rückführung von Signalen auf alte Speicherzustände, der Funktionsaufruf einer Funktion f in sich selbst, und die Definition einer Funkion durch sich selbst sind letzten Endes alles die gleichen Vorgehensweisen. Wobei man in C natürlich einen IIR filter ohne Rekursion (im Sinne einer Selbstaufrufung) implementiert werden kann... Stimmt schon.
Das was man als C ler unter Rekursion versteht, ist eben eine geschickte schreibweise. Meinen tue ich aber tatsächlich das Rückführen von ausgangsgrößen zu Eingangsgrößen.Gruß
-
Das mag sein, dass es "letzten Endes" das gleiche ist, man wird wohl nicht umsonst dasselbe Wort dafür verwenden.
Dann gibts noch rekursive Mengen (theoretische Informatik), kannst ja mal eine halbe Stunde versuchen, darüber zu meditieren, was die mit rekursiven Filtern zu tun haben 
-
*lach* Ommmmmmmmm ...... Hau rein.
-
Wenn du meinst, das eine Programmiersprache Rekursion unterstützen muss, um die beschriebenen Dinge nachzubilden: Nein, das ist keine zwingende Voraussetzung. Für Turing-Vollständigkeit reicht sehr viel weniger. Und mit einer Turing-vollständigen Sprache kannst du alle intuitiv berechenbaren Probleme lösen, wenn auch teilweise sehr sehr umständlich.
Von daher ist es sehr gut, wenn eine Programmiersprache Rekursion unterstützt, weil man sich dann sehr viel Mühe sparen kann und sehr mächtige Algorithmen sehr einfach formulieren kann. Auch wenn ich es praktisch selten brauche würde mir diese Möglichkeit sehr fehlen, wenn man sie doch mal benötigt. Ich würde es daher als Mangel einer Hochsprache ansehen, wenn sie dies nicht unterstützt.
-
Ja du hast Recht. Trotzdem finde ich Programmiersprachen ohne Rekursion doof *ggg*
Bei der Wertung "doof" kommt die volle fachliche Kompetenz rüber....*lach*