Reflection



  • rapso schrieb:

    Konrad Rudolph schrieb:

    rapso schrieb:

    Du kannst ohne kommunikation keine reflection haben.

    Ja und? Ohne Kommunikation kannst Du auch tausend andere Sachen nicht haben. Du hast trotzdem nur ein Beispiel für Kommunikation gebracht und nicht für Reflexion.

    andere haben verstanden dass die kommunikation das medium der reflektion war. du nicht. q.e.d.

    Werd nicht albern und liefer lieber Argumente, bzw. geh konstruktiv auf meine ein, statt meine Aussagen zu ignorieren und irgend etwas ganz anderes darauf zu schreiben.

    Wie oft denn noch? Das ist mir klar! Es ging mir lediglich um Dein Beispiel. Ich habe auch nie irgendwas von Strings oder anderen speziellen Techniken erzählt (mal davon abgesehen, dass es sehr wohl C++-Implementierungen gibt/gab, die Stringvergleiche der Typennamen für RTTI verwendet haben).

    wenn du also zwei objekte mittels cobra kommunizieren laesst. ist keine reflektion moeglich, weil schon (tcp)kommunikation von statten geht?

    Wo ist denn da der Zusammenhang? Bitte setz Dich mal mit Aussagenlogik und speziell Negation auseinander, denn Du verdrehst mir einfach die Worte im Mund! Ich habe NIE behauptet, dass Kommunikation nicht Bestandteil von Reflektion ist. Im *Gegenteil*, ich habe mehrmals darauf hingewiesen, dass ich diesen Fakt explizit anerkenne.

    nimm dir ein beispiel an:

    Wenn das Grafiktreiberbeispiel als Reflection gültig ist, dann ist es auch Reflection wenn mich jemand fragt ob ich ein Auto besitze.

    zwar sehr trotzig, aber trotzdem hat er es verstanden.

    Bring nicht meine Kritik mit der Kritik anderer Leute durcheinander. Ich habe nie etwas gegen die Grafikkartentreiber gesagt.

    obwohl ueber das treiberprotokoll eine kommunikation stattfindet?

    Dito. Schon wieder derselbe Mist. Die „Reflexion“ zwischen uns läuft offensichtlich nicht besonders gut.

    reflect ist nur eine anleihe aus dem englischen und heisst 'wiedergeben', so wie man z.b. literatur reflectieren kann, indem man jemandem vom inhalt eines buches auf eigene weise erzaehlt, das vorher eine blackbox war fuer den hoerer.

    Du verwendest immer noch die falsche Übersetzung, auch wenn sie schon besser geworden ist.

    da meine aussage gleich bleibt, entnehme ich daraus, dass du dich dem verstaendniss naeherst. weiter so 👍

    Quatsch. Vielleicht meintest Du das gleiche, Du hast aber etwas anderes gesagt. Das solltest Du unterscheiden, das ging offensichtlich auch schon bei Deinem Beispiel schief, und daher die ganze Diskussion.

    Jester hat es auf den Punkt gebracht: „to reflect“ bedeutet, über *sich selbst* nachzudenken. Reflexion ist daher ursprünglich das Konzept, die *eigene* Struktur zu kennen und manipulieren zu können.



  • Jester schrieb:

    Das ist garnicht so sehr der zentrale Punkt. Wichtig ist vor allem, dass Reflection (zu deutsch Reflexion, nicht Wiedergabe) es dem Programm ermöglicht die *eigene* Struktur zu betrachten und zu modifizieren. Genau deswegen ist ein Listing der möglichen Parameter auch keine Reflection, weil nämlich der Benutzer hier die Information bekommt und nicht das Programm. Genauso verhält es sich auch mit der Abfrage der möglichen Bildschirmauflösungen. Hier werden Hardware-Eigenschaften abgefragt und wiederum nicht die Struktur des Programms. Daher handelt es sich dabei nicht um Reflection.

    Wie definierst du Programm?

    Ist eine Klasse die ich extern Lade Teil des Programmes aber ein Grafiktreiber nicht? Wo trennt man da? Was ist mit einem DatenBank Treiber? Wenn ich Information über eine blackbox bekomme, so ist das reflection.

    wie sieht es in java zB aus? da hat jede klasse eine liste an methoden die sie mir liefert wenn ich sie frage. genau wie ein display treiber mir eine liste der möglichen auflösungen. wobei bei beiden systemen vorkompiliert die liste im ram liegt.

    reflection bietet mir ja keine dynamischen informationen. sie bietet mir statische information über dynamische objekte.



  • Shade Of Mine schrieb:

    reflection bietet mir ja keine dynamischen informationen. sie bietet mir statische information über dynamische objekte.

    Jetzt denkst du aber zu kurz. In dynamischen Sprachen kann ein und das selbe Objekt zum Zeitpunkt X eine völlig andere Methodenliste haben als zum Zeitpunkt X+1.



  • tfa schrieb:

    Shade Of Mine schrieb:

    reflection bietet mir ja keine dynamischen informationen. sie bietet mir statische information über dynamische objekte.

    Jetzt denkst du aber zu kurz. In dynamischen Sprachen kann ein und das selbe Objekt zum Zeitpunkt X eine völlig andere Methodenliste haben als zum Zeitpunkt X+1.

    aber darum geht es ja.
    reflection _muss_ das nicht bieten.

    worauf ich hinaus will ist, dass sich reflection dadurch nicht definiert. es hängt von der blackbox ab - wenn sich die blackbox ändert muss ich das natürlich mitbekommen. aber wenn die blackbox gleich bleibt (was die norm ist) ist die information auch gleichbleibend.

    und ja, reflection kann auch weiter gehen und mir manipulationen der blackbox anbieten - aber wieder: das ist nicht wodurch sich reflection definiert.



  • Shade Of Mine schrieb:

    Ist eine Klasse die ich extern Lade Teil des Programmes aber ein Grafiktreiber nicht? Wo trennt man da? Was ist mit einem DatenBank Treiber? Wenn ich Information über eine blackbox bekomme, so ist das reflection.

    Ja, Du kannst das gerne Reflection nennen, dann darf ich dich aber auch Xin nennen. 🙂 Reflection ist genau das was ich oben beschrieben habe. Der Begriff Programm ist vielleicht nicht 100% fest zu machen, aber es ist mal recht klar, dass ein Anwendungsprogramm nicht den Treiber beinhaltet. Zumdem geht es auch um Informationen über die Struktur des Programms, nicht generell um Information. Sämtliche dieser verkorksten Beispiele sind somit offensichtlich keine Reflection, gemäß der Bedeutung, die Reflection im Bereich Informatik standardmäßig hat.

    Vielleicht magst Du mir mal irgendeinen Vorgang beschreiben, der sich anhand Deiner Definition *nicht* als Reflection bezeichnen lässt? Dein Konzept ist so allgemein, dass es bis zur völligen Nutlosigkeit verkommt und so ziemlich alles beinhaltet.



  • ➡ Reflektion ist, wenn ich danach mehr weiß als vorher, wobei das Wissen bereits zum vorherigen Zeitpunkt existierte ich mir darüber aber noch nicht im Klaren war.



  • Reflketionist schrieb:

    ➡ Reflektion ist, wenn ich danach mehr weiß als vorher, wobei das Wissen bereits zum vorherigen Zeitpunkt existierte ich mir darüber aber noch nicht im Klaren war.

    Das Substantiv zu "reflektieren" ist Reflexion, Reflektion gibt es nicht. Eine einfache Definition für Reflexion bzw. Introspektion (ich bevorzuge sprachlich das Letzte) ist das Ermitteln von Programmeigenschaften/Komponenteneigenschaften zur Laufzeit. Introspektion ist IMHO immer dann nötig wenn ein A mit einem vorher "unbekannten" (weil dynamisch hinzugefügten) B kommunizieren soll, deswegen benötigt B die Fähigkeit über sich selbst Auskunft geben zu können damit A dann weiß was es mit B so anstellen kann. Die Introspektion selbst kann unterschiedlich realisiert sein, z.B. Java hat das Reflection Paket, COM die universelle Schnittstelle IUnkown und CORBA bedient sich eines "Metaobjektdienstes".



  • Jester schrieb:

    Ja, Du kannst das gerne Reflection nennen, dann darf ich dich aber auch Xin nennen. 🙂 Reflection ist genau das was ich oben beschrieben habe. Der Begriff Programm ist vielleicht nicht 100% fest zu machen, aber es ist mal recht klar, dass ein Anwendungsprogramm nicht den Treiber beinhaltet.

    Ah, das ist schon sehr interessant. Denn gerade bei Datenbanktreibern wird oft die Highlevel Schnittstelle im Programm selbst hinterlegt und agiert als Treiber für die Datenbank (emuliert zB funktionalität die der jeweilige Low Level Treiber nicht bietet).

    Ich kann also den Treiber Metafragen stellen und bekomme Metainformation die eine Mischung aus dem ist was der LowLevel Treiber erzählt und das was die High Level Schnittstelle weiß/kann.

    Ist da also ein Teil Reflection und ein teil nicht Reflection dabei oder wie sieht es aus?

    Ähnlich ist es bei DirectX. Das liefert mir ja auch Informationen über die Grafikschnittstelle - ist das Reflection oder nicht?

    Allein die Trennung zwischen Programm und nicht Programm ist sehr fragwürdig - was ist mit IPC? Ist Reflection über IPC möglich uU sogar über RMI also über externen Rechner?

    Wo trennt man Programm von Programm? Was ist ein Treiber anderes als eine Programm und was ist ein Programm anderes als eine Klasse mit einer öffentlichen Schnittstelle?

    Ich kann den Fokus um viele Ebenen nach oben und unten bewegen. zB baut man aus Klassen Module. Aus Modulen baut man Anwendungen. Aus Anwendungen baut man Systeme. Immer das selbe Baukasten prinzip. Gerade unter Unix sehr weit verbreitet dass man aus Programmen größere Programme baut.

    Die Konzepte sind dabei überall gleich. Einfaches Bausteinprinzip. Und jetzt behauptest du Reflection ist per Definition nur innerhalb eines Programmes möglich...?



  • Jester schrieb:

    Das ist garnicht so sehr der zentrale Punkt. Wichtig ist vor allem, dass Reflection (zu deutsch Reflexion, nicht Wiedergabe) es dem Programm ermöglicht die *eigene* Struktur zu betrachten und zu modifizieren.

    es ist egal ob es die eigene struktur betrachtet oder eine fremde, es gibt viele tools die reflection nutzen um fremde 'programme' zu inspizieren oder auch um sie zu nutzen, z.b. unit tester.

    Genau deswegen ist ein Listing der möglichen Parameter auch keine Reflection, weil nämlich der Benutzer hier die Information bekommt und nicht das Programm.

    wenn man an informationen ueber eine reflektionsschnittstelle kommt, ist es reflektion. und eine reflektions schnittstelle ist eine die ein vordefiniertes kommunikationsprotokoll bietet welches es erlaubt auf informationen zuzugreifen, die nicht direkt bekannt sind.

    um auf das 110 beispiel zu kommen.
    die fragen nach 'wie ist ihr name, wo sind sie, wird ein krankenwagen benoetigt' waeren vielleicht nur property abfragen wenn man sie kurz beantwortet. wenn jedoch gefragt wird 'beschreiben sie was passiert ist', wird 'strukturinformation' uebertragen.

    Genauso verhält es sich auch mit der Abfrage der möglichen Bildschirmauflösungen. Hier werden Hardware-Eigenschaften abgefragt und wiederum nicht die Struktur des Programms. Daher handelt es sich dabei nicht um Reflection.

    wenn du jedoch die struktur des treibers abfagst, z.b. informationen ueber vorhandene funktionen und deren einsprungpunkte (falls die vorhanden sind), ist es reflektion.
    wenn du nur aufloesungen enumerierst, ist es nicht wirklich reflektion, wenn du jedoch alle moeglichen daten erhaelst von einer struktur bei der nur das protokoll bekannt ist, nicht jedoch die struktur, ist es reflektion. z.b. "800x600@60Hz"



  • Naja, ich denke das Thema ist durch. Wen es interessiert, der kann ja jederzeit nachlesen was richtig ist. Es steht euch natürlich weiterhin frei hier eure eigene Definition bewerben. Ich hatte auch nicht erwartet, dass es euch leichtfällt einzuräumen, dass ihr da ein bißchen über's Ziel hinausgeschossen seid.



  • Jester schrieb:

    Naja, ich denke das Thema ist durch. Wen es interessiert, der kann ja jederzeit nachlesen was richtig ist. Es steht euch natürlich weiterhin frei hier eure eigene Definition bewerben. Ich hatte auch nicht erwartet, dass es euch leichtfällt einzuräumen, dass ihr da ein bißchen über's Ziel hinausgeschossen seid.

    Wenn man keine Argumente hat beleidigt man.
    2 beleidigende Posts in Folge ist auto-loss, oder?



  • Shade Of Mine schrieb:

    Wenn man keine Argumente hat beleidigt man.
    2 beleidigende Posts in Folge ist auto-loss, oder?

    ich hab doch alles geschrieben. geh zu wikipedia und folge allen quellenlinks dort. an jeder stelle steht, dass es bei reflexion darum geht die *eigene* struktur zu erfassen bzw. daraus/darüber schlüsse zu ziehen. du lässt das eigene einfach weg und dadurch ist es nunmal falsch. was soll ich hier noch lange rumerzählen? du willst es nicht so haben, weil es nicht so sein darfst und spaltest hier jetzt so lange haare bis du deinen sieg erklären darfst, also mach das jetzt bitte einfach.

    ich sehe auch nicht wirklich wo hier was beleidigend ist. die faktenlage ist klar, und damit auch worum hier gerade noch gefochten wird, und genau darauf hab ich keine lust.



  • Jester schrieb:

    ich hab doch alles geschrieben. geh zu wikipedia und folge allen quellenlinks dort. an jeder stelle steht, dass es bei reflexion darum geht die *eigene* struktur zu erfassen bzw. daraus/darüber schlüsse zu ziehen. du lässt das eigene einfach weg und dadurch ist es nunmal falsch.

    OK, dh Reflection über IPC oder RMI ist keine Reflection auch wenn ich die Java Reflection API verwenden.

    Habs verstanden.

    PS: und die Beleidigungen sind wichtig fürs Ego 😉
    (Wenn du nicht weißt wo deine Beleidigungen waren, dann solltest du menschlich mal über dich nachdenken)



  • Jester schrieb:

    ich sehe auch nicht wirklich wo hier was beleidigend ist.

    Ich allerdings auch nicht. Du hast es gut auf den Punkt gebracht.
    Wenn es jetzt schon beleidigend sein soll, wenn jemand anderer Meinung ist, sollte man sich solche Diskussionen sparen.



  • Shade Of Mine schrieb:

    Jester schrieb:

    ich hab doch alles geschrieben. geh zu wikipedia und folge allen quellenlinks dort. an jeder stelle steht, dass es bei reflexion darum geht die *eigene* struktur zu erfassen bzw. daraus/darüber schlüsse zu ziehen. du lässt das eigene einfach weg und dadurch ist es nunmal falsch.

    OK, dh Reflection über IPC oder RMI ist keine Reflection auch wenn ich die Java Reflection API verwenden.

    Habs verstanden.

    fast, wenn es sich um eine zusammenghörige Applikation handelt natürlich schon.
    zudem ist reflection natürlich immer reflection, aber nur weil du über irgendeine schnittstelle irgendwas abfragst ist es nicht automatisch reflection. was auch wieder zu der zentralen frage führt, welche Art von Informationsabfrage ist im Sinne Deiner Definition keine Reflection?

    PS: und die Beleidigungen sind wichtig fürs Ego 😉

    sprich nur für dich selbst. wenn du weiter irgendwo klärungsbedarf siehst, dann schick mir doch ne mail, aber kommt mir nicht mit "du bist ein schlechter mensch - warum? - wenn du keine so schlechter mensch wärst wüßtest du warum"

    und vielleicht noch was generelles zum thema auto-loss, weil ich glaube, dass das hier eine zentrale rolle spielt. ich nehme an, dass du nicht meinst, dass wenn man jemanden beleidigt dessen aussagen automatisch wahr werden, also hast du wohl gemeint, dass derjenige dann die diskussion gewinnt. Das ist vielleicht mal ein guter Ansatz für etwas Reflexion darüber, worum es einem persönlich in Diskussionen geht -- viel Spaß beim Gewinnen.



  • Man kann übrigens auch in Assembler (oder C oder C++ etc.) Reflections haben. Man muss ja nur die Symboltabelle des eigenen Executables auslesen :).

    Und C++ bietet über Templates ja auch prima compiletime Reflections.



  • Shade Of Mine schrieb:

    Wenn man keine Argumente hat beleidigt man.
    2 beleidigende Posts in Folge ist auto-loss, oder?

    Wenn man darauf herumreitet, anstatt mal endlich die jetzt schon mehrfach gestellte Frage

    Jester schrieb:

    Vielleicht magst Du mir mal irgendeinen Vorgang beschreiben, der sich anhand Deiner Definition *nicht* als Reflection bezeichnen lässt? Dein Konzept ist so allgemein, dass es bis zur völligen Nutlosigkeit verkommt und so ziemlich alles beinhaltet.

    zu beantworten, dann ist das auch nicht unbedingt ein "Siegeszeichen" 😉



  • TheTester schrieb:

    Reflketionist schrieb:

    ➡ Reflektion ist, wenn ich danach mehr weiß als vorher, wobei das Wissen bereits zum vorherigen Zeitpunkt existierte ich mir darüber aber noch nicht im Klaren war.

    Das Substantiv zu "reflektieren" ist Reflexion, Reflektion gibt es nicht. Eine einfache Definition für Reflexion bzw. Introspektion (ich bevorzuge sprachlich das Letzte) ist das Ermitteln von Programmeigenschaften/Komponenteneigenschaften zur Laufzeit. Introspektion ist IMHO immer dann nötig wenn ein A mit einem vorher "unbekannten" (weil dynamisch hinzugefügten) B kommunizieren soll, deswegen benötigt B die Fähigkeit über sich selbst Auskunft geben zu können damit A dann weiß was es mit B so anstellen kann. Die Introspektion selbst kann unterschiedlich realisiert sein, z.B. Java hat das Reflection Paket, COM die universelle Schnittstelle IUnkown und CORBA bedient sich eines "Metaobjektdienstes".

    Natürlich gibt es das Wort, du hast doch gerade eben gesehen, dass ich es benutzt habe 👍
    Ist neue Rechtschreibung und wird auch in die neue Reform aufgenommen, google kennt es auch schon kannst ja mal nach Reflektion googeln dann findest du bereits 1mio Treffer, Reflexion liefert 34mio, hat also schon eine große Akzeptanz erlangt.



  • 🤡



  • Jester schrieb:

    fast, wenn es sich um eine zusammenghörige Applikation handelt natürlich schon.
    zudem ist reflection natürlich immer reflection, aber nur weil du über irgendeine schnittstelle irgendwas abfragst ist es nicht automatisch reflection. was auch wieder zu der zentralen frage führt, welche Art von Informationsabfrage ist im Sinne Deiner Definition keine Reflection?

    dh also wenn ich versuche Infos ueber ein Plugin zu bekommen dann ist es keine Reflection? Weil es gehoert ja nicht zusammen. zumindest wurde es nicht gemeinsam erstellt.

    Das macht die Sache irgendwie laecherlich wenn man ploetzlich eine Technik Anhand des Einsatzgebietes definiert. Und das ist zB der Punkt wo ich diese Definition nicht ernst nehmen kann.

    Kleines Code Beispiel:

    bool supports(String name, String method) {
      Class clazz = Class.load(name);
      ArrayList<String> methods = getAllMethods(clazz);
      return methods.find(method) != null;
    }
    

    Waere das Reflection (eigentlich introspection, aber nehmen wir an wir rufen dann nachher auch noch die methode auf die wir auf vorhandensein testen)? Ich nehme einfach mal an, dass es so ist. Schliesslich ist das eine 08/15 Java Definition.

    Was ist aber damit?

    supports("opengl.dll", "glKrasseFunktion");
    

    Ploetzlich lade ich eine DLL statt direkt einer Klasse - das Objekt auf dem ich operiere aendert sich, der Code, die Semantik und die Logik bleibt aber gleich.

    Oder was wenn ich ein class-File lade dass von einer komplett anderen Anwendung ist. Dass garnichts mit meiner Anwendung zu tun hat - ich habe einfach einen Fehler gemacht und die falsche class Datei geladen. Und abhaengig davon ob ich jetzt die richtige oder die falsche Datei geladen habe, ist es Reflection oder nicht?

    Das klingt nicht logisch. Entweder ist es Reflection wenn ich eine class Datei lade und mir eine Liste der oeffentlichen Methoden ansehe und dann anhand dieser Liste eine Entscheidung treffe (zB eine dieser Methoden dann aufzurufen) oder es ist keine Reflection - die Definition darf nicht abhaengig davon sein welche Datei ich lade.

    Und wenn ich fremde Dateien laden darf und es ist Reflection - dann ist die Frage: warum ist es nur bei class Dateien Reflection. Ist es auch bei JAR Archiven Reflection? Was sind Jar Dateien denn anderes als eine Sammlung von class Dateien? Ist es Reflection wenn ich jede Class Datei einzeln lade aber nicht wenn ich das komplette Jar Archiv lade?

    Und wenn ich ein Jar Archiv laden darf und es ist Reflection wenn ich mir die public Klassen ansehe und mir eine liste der public methoden geben lasse und anhand dere Entscheidungen treffe (zB einen teil dieser Methoden aufzurufen) - wie weit sind wir dann davon entfernt das ganze mit einer DLL zu machen? Was ist denn eine DLL anderes als eine andere Form eines Jar Archivs? Die DLL beinhaltet eine Sammlung oeffentlicher Typen (Klassen) und Funktionen (Methoden).

    Ist eine DLL jetzt wirklich so komplett anders als eine class Datei? Ich meine, ich kann eine class Datei in eine DLL kompilieren. Was wenn ich zB den Java Code zu einer nativen Anwendung kompiliere - wenn ich dann Klassen lade, lade ich sie aus einer DLL heraus. Ist es dann noch Reflection? Ich meine der Code ist ja 100% identisch -> was sich aendert sind die Compilerparameter.

    btw, hast du den wikipedia Artikel eigentlich gelesen und die Referenzen die dort angegeben sind? Denn eigentlich habe ich keinen Widerspruch dort gefunden zu dem was rapso und ich sagen.

    Das Code Beispiel in C# laedt zB ein komplettes Assembly (.NET trennt ja nicht in class Files und Jar Files wie Java) - und somit ist es laut deiner Definition schon sehr fragwuerdig ob der Code Reflection ist.

    Wenn sich wikipedia auf "Reflection-oriented programming includes self-examination, self-modification, and self-replication." bezieht wird nicht Reflection gemeint, sondern Reflection orientierte programmierung - eine Art zu programmieren (wie objekt orientierte programmierung) - das eben statt auf objekte (wie bei oop) eben alles auf reflection bezieht.

    Natuerlich ist in dieser herangehensweise der Programmierung das eigene Programm und der eigene Code das zentrale mittel um das es geht. ein wichtiger bestandteil davon ist ja selbstmodifizierenden code schreiben zu koennen.

    das beeinflusst aber nicht die verwendung von reflection in sprachen wie c++ oder java. das sind keine sprachen wo man reflection orientierte programmierung oft sieht - reflection wird hier als tool verwendet um kleine aufgaben zu loesen und nicht als zentrale anlaufstelle um die meisten probleme zu loesen.

    es sei denn du beziehst dich auf den deutschen wikipedia eintrag - der recht schwach uebersetzt wurde. alleine die gleichstellung von introspektion und reflection sollte zu denken geben.

    Einige Links von dem englischen wikipedia Artikel widersprechen dir sogar direkt - indem zB datenbank interfaces als beispiel genommen werden fuer den einsatz von reflection.

    ich weiss zwar dass das alles sicher total falsch ist was ich sage - aber uU ist es vielleicht doch korrekt? Ist Reflection vielleicht doch mehr als die Standard Java Definition?

    Manchmal glaube ich, dass Java der Programmiercommunity sehr schadet. Nicht weil die Sprache schlecht ist oder weil die VM (insert flame) ist - sondern weil zuviele Leute die Java Definition eines features nehmen (weil sie dort zum ersten mal mit dem Konzept in Kontakt getreten sind) und es als die alleingueltige Definition betrachten.

    Nur leider ist das ein tunnelblick - die welt ist soviel groesser...

    zum abschluss noch die essentielle Frage: was ist nicht reflection? Die frage ist einfach nur bescheuert - mehr nicht. Was ist nicht objekt orientierung? Wenn man sich nicht an objekten orientiert. Ergo: nicht reflection ist, wenn man sich keine metainformationen ueber eine blackbox holt.

    int i=vec.size();

    waere zB jetzt mal keine reflection im engeren sinne. nur ist das nicht ein langweiliges beispiel?

    Ist es nicht viel interessanter zu erfahren was reflection ist? denn eins ist reflection schon mal nicht: ein baum. Und ein flugzeug auch nicht...

    Die Frage alleine zeigt schon ein fehlen von verstaendnis - denn bei konzepten sind die grenzen immer nur sehr schwer genau zu definieren. wann ist code denn jetzt wirklich 100% objekt orientiert? wenn er sich an objekten orientiert - aber wie genau beweise ich das? das ist sehr schwer und eigentlich nicht wirklich moeglich. deshalb sagen wir zu einem code objekt orientiert wenn die tendenz sichtbar ist sich an objekten zu orientieren.

    selbes bei reflection: reflection ist es, wenn ich eine blackbox hernehme, metainformationen abrufe und diese zur manipulation von daten verwende.

    und vielleicht noch was generelles zum thema auto-loss,

    Ja, es zeigt wer Argumente hat. Wer keine hat beleidigt und fliegt aus der Diskussion raus weil man ihm einfach nicht mehr ernst nehmen kann.


Anmelden zum Antworten