Michael Schröpl: Begriffschaos im Kopf: Objekt und Instanz

Beitrag lesen

Der Beschreibungsversuch zwingt einen jedoch dazu, die eigenen Scripteleien zu verstehen und zu evaluieren. Der Rest ist dann Vokabeln lernen.

Das ist eine ganz wichtige Erkenntnis, die vielen Lesern dieses Forums gar nicht oft genug gesagt werden kann: Sorgfältiges Posten ist nicht nur hilfreich für den Antwortenden, sondern auch für den Fragesteller!

Ein Problem in der Programmierdidaktik ist nämlich sicherlich, daß immer davon ausgegangen wird, die Adressaten der Handbücher seien fit in Mathe. War ich nie und bin ich -- zu meinem Bedauern -- auch jetzt noch nicht.

Das kommt darauf an, was Du unter "Mathe" verstehst.

Ich habe als Informatiker praktisch nie irgendwas von dem gebraucht, was ich z. B. in Analysis gelernt hatte - aber die Denkweise, die bei Algebra oder Wahrscheinlichkeitstheorie vermittelt wird, hilft auch beim Programmieren sehr.
Ersetze "Mathe" durch "Abstraktionsvermögen", dann stimme ich Dir zu.

Was meinst du, wie lange ich gebraucht habe, um zu realisieren, daß der Variablenname i ein solcher ist, und nicht etwa integraler Bestandteil einer for-Schleife.

Hm, das kommt auf die Beschreibung der Sprache an.

Wenn Du aus Beispielen lernst, gehst Du genau hier in die Falle. Liest Du aber gleich die formale Sprachbeschreibung in Backus-Naur-Form etc., dann ist dieser Punkt sofort klar. (Dafür muß man natürlich erst mal BNF lernen, eben eine Metasprache zur Beschreibung von Sprachen ...)

Du kannst sagen: es gibt Grafiken in HTML. Das ist aber nur ideell.
Erst wenn du ein korrekt notiertes <img>-Tag in einer HTML-Datei hast, wird daraus eine
tatsaechliche Grafikreferenz. Und in dem Moment wird eben eine Realisierung, sprich eine
Instanz des zugehoerigen JavaScript-Objekts erzeugt.
Wieso erstmal eine Referenz und dann erst eine Instanz des Objekts?

Hm. Auf die Gefahr hin, von Calocybes Erklärung abzuweichen, reite ich mal auf dem Problemkreis "Metaebenen" herum.

So, wie ich die Sache sehe, hast Du hier zwei verschiedene Modelle für denselben Sachverhalt:
a) Das Modell von HTML, für welches der HTML-Text integraler Bestandteil, das Bild jedoch nur eine Referenz (auf eine separat zu ladende Datei) ist.
b) Das Modell von JavaScript, für welches das Bild eine (geladene) Instanz innerhalb seines Objektbaums ist.

Kann man sagen, daß es sich bei

Bild = new Image();
Bild.src = "datei.gif";
um die Instanz eines Objekts handelt, auf die noch nicht Bezug genommen wurde?

Niemand zwingt Dich, zwei verschiedene Modelle gleichzeitig zu verwenden. "Instanz" und "Referenz" stammen aber aus verschiedenen Modellen.

ist das einzige, was das Browser-Universum bereits kennt, die Idee einer Funktion (Objekt), von der ich nunmehr
ein reales Exemplar (i.e. Instanz) namens "friends" gekreiert habe. Aber was habe ich erzeugt, wenn ich irgendwo weiter unten schreibe
guterFreund =  new friends("Nepomuk", "Schnibbeldick", "103");
Eine Instanz der Idee function oder eine Instanz der Instanz friends? Oder beides?

Hm, ich würde sagen: "beides, aber aus zwei verschiedenen Blickwinkeln". Ein Irgendwas kann ggf. sehr wohl gleichzeitig eine Instanz einer übergeordneten Idee und eine Idee für untergeordnete Instanzen sein.
Meta-Ebenen sind beliebig schachtelbar, und den Überblick zu behalten, auf welcher Ebene man sich gerade befindet, ist nicht immer einfach. Wenn man diesen verliert, versucht man oft, Widersprüche zwischen Konzepten verschiedener Ebenen aufzulösen, die in Wirkichkeit gar keine sind, weil an dieser Stelle niemand Konsistenz fordert - das verstellt dann den Blick auf das eigentliche Problem. (Puh - das war *etwas* abstrakt ...)

<g> Nein. Ich versuche mich jetzt mal an Rolands Antwort. Wenn ich da zwei Stunden draufgeguckt habe, bin ich wahrscheinlich komplett plemplem.

Programmieren ist eine Kombination aus Kunst und Handwerk. Der handwerkliche Teil besteht u. a. darin, die passenden Stellen in SelfHTML zu kennen; der künstlerische Teil besteht u. a. darin, das Selbstvertrauen aufzubringen, daß man eine Aufgabe lösen kann ...

Im übrigen wäre ich auch für eine Aufnahme in die Forumsauslese, aber vielleicht so, daß auch sone wie ich das mal raffen. Vielen Dank jedenfalls erstmal,

Vielen Dank auch für Deine Frage! Über so etwas nachzudenken ist wesentlich spannender als den 42. Verweis auf eine SelfHTML-Seite zu setzen!

Und noch was, irgendjemand möge dem Valligator ein paar Zähnchen ziehen. Ohne Umbruch bringt wenig Punkte. Haust Du ihm von mir aufs Haupt? Ganz fest?

Und von mir gleich noch eine mit ... ;-)