Reply to Holzfaellen
1. Math. Funktionen
Haha, ja ich denke im 3. semester sollte man "irgendwann" verstanden haben was eine funktion ist
Gerne können wir über funktionale sprachen reden, da hab ich nämlich eher noch nicht mit gearbeitet und ich weiss nicht, inwieweit mein verständnis davon von mir erdacht ist,
oder durch externe referenzen verifiziert ist. (ist vermutlich ein typisches Entwicklerproblem :p )
Nachdem ich kein Mathematiker bin, erfasse ich die operationen die man mit funktionen machen kann vielleicht anders. Aber es ist doch schon so, dass
man jede gegebene math. funktion in einer prozeduralen methode programmieren kann?
f(X) = a^2 + b2 + 2ab
ist son ding, womit wir uns sehr intensiv beschäftigt haben irgendwann vor langer langer zeit; mir ist der unterschied zwischen math. funktionen und oop methoden schon klar.
2. Prozedurale und funktionale sprachen
das klassiche
x = x + 1;
das wohl jedem natur-mathematiker das blanke entsetzen in die augen treibt, sollte es bei funktionalen programmiersprachen nicht geben?
Und ich versuche in meinem code weitestgehend, doppelte variablenverwendung wie o.g. x=x+1 zu vermeiden. Auch Schleifen usw. ersetze ich lieber durch sprachintegrierte abfragen (z.b. ms linq)
Das hat sich einfach so als "good practice" erwiesen für mich, ich meine aber mal zu dem schluss gekommen zu sein, dass sich damit der code besser in funktionale sprachen portieren lässt.
so sachen wie if abfragen unterliegen ja anderen regeln, soweit ich weiss, aber so tief stecke ich da gar nicht (mehr) drin.
3. Eine verwegene Idee?
Vermutlich gibt es in aktuellen programmiersprachen (noch?) keine mechanismen um integrale zu bilden oder gleichungen auf eine besteimmte variable aufzulösen (kommt vl noch?).
Also quasi die Operationen auf math. funktionen anzuwenden, die ein mathematiker tätigt.
Z.b. ich definiere eine Formel einmal als funktionalen code, brauche mir aber selber als entwickler keine gedanken drum machen, wie ich die formel umstellen muss,
um nach einer bestimmten variable aufzulösen.
Das ergibt nämlich in der klassichen programmierung gerne redundanzen, was wiederrum bei änderung der formel fehler erzeugt, wenn
bestimmte auflösungen nicht angepasst werden.
Das könnte schon mal jemand erfinden...
4. MetaPhysik und Meta Ebene
MetaPhysik ist ein ziemlich abstrakter begriff, den kant begründet hat. Als Informatiker spricht man von der Meta Ebene, z.b. wenn es um Daten geht, die Struktur von Daten (ggf. formalisiert) beschreiben.
Klassisch tauchen metadaten oft in mensch-gelesenen Spezifikationen auf. Irgendwann hat man aber auch die meta ebene formalisiert wie zb. in form von XML-Schemas.
5. OOP
Ich weiss nicht, ob du da aus meiner Bemühung was rausziehen konntest, einige grundsätze der oop zu vermitteln.
Dazu ggf. später mehr.
Mir war aber nicht klar, dass du schon 3 Jahre mathe machst,
hatte erst den eindruck du bist grad in der findungsphase, was das richtige für dich ist.
(Hatte den eindruck aus irgendeinem anderen thread, vl verwechsle ich dich auch)