Als prozedurale Programmiersprache (wie Pascal) versteht man den Ablauf: an einen Punkt fängt der Code an und dann wird wie in einem Buch der Code durchgearbeitet. Hierbei ist Code von allen Stellen erreichbar (z.B. siehe Seite 6) und eine Ordnung gibt es kaum.
Als Gegenpol gibt es die objektorientierte Programmiersprache. Um das zu verstehen, muss man das Prinzip verstehen. Nehmen wir einen Apfel. Der Apfel ist ein Objekt im System. Er hat eigenen Code (wie Vergammeln), der von außen nicht erreichbar ist (z.B. von einen anderen Apfel). Zudem beinhaltet er Variablen und Code, der auch von außen erreichbar ist (wie Geschmack, Konsistenz, Zuckergehalt, etc.). Durch diese Strukturierung weiß man immer, was nur für den Apfel ist und was auch andere interrressiert.
Zudem gibt es auch noch das System Ableitungen (auch zu objektorientiert). Der Apfel ist vom Objekt Obst abgeleitet. Vom Obst ist auch die Birne abgeleitet. Apfel und Birne haben direkt nichts miteinander zu tun, nur dass die beiden von Obst abgeleitet sind. Denn dieser beinhaltet alles, was sowohl für den Apfel, als auch für die Birne gilt. Zusätzlich kann aber die Birne extra Informationen enthalten, die der Apfel nicht enthält (z.B. Bauchigkeit).
Insgesammt kann man sich das System der Objektorientierung als bunten Obstsalat vorstellen. Dies mag zwar am Anfang verwirrend klingen, ist aber im Endeffekt sehr nützlich, da alles an der Stelle liegt, wo es gebraucht wird. Zudem bringt dies Ordnung und Übersichtlichkeit in den Code hinein. Als Programmiersprache, wo dies, meiner Meinung nach, am besten umgesetzt ist, kann man C# nennen.
Natürlich kann dir das jetzt alles kompliziert vorkommen - ist es auch, am Anfang. Ich weis nicht wie du bisher programmiert hast, bestimmt prozedural. Und wenn nicht, dann gebe ich dir jetzt ein Beispiel aus dem Legobaukasten, wo jetzt beides umgesetzt ist.
-
Prozedural: Es wird Schritt für Schritt vorgegeben, wie du Stein für Stein aufbaust und drannsteckst. Eine Grobübersicht hast du nicht (höchstens auf der Verpackung ;) ). Wenn jetzt die 6 Greifarme gebaut werden, dann springst du zu einer bestimmten Stelle in der Anleitung baust ihn, und sprinst zurück an der ersten Stelle und baust weiter. Dies ist der normale logische Ablauf, trägt aber nicht viel zur Übersichtlichkeit bei.
-
Objektorientiert: Hier geht es zwar so ähnlich, nur baut der Programmierer die Anleitung ganz anders auf. An einer Stelle bestimmst du, wie das Objekt Greifarm gebaut wird. Von außen weis keiner, wie das geht. Aber der Greifarm ist fertig. An einer anderen Stelle definierst du die Ketten, dieser bestimmt auch für sich alleine, wie es aufgebaut wird. Das geht so weiter für alle kleineren Teile. Als nächstes kommen die komplexeren Objekte. So gibt es das Fahrerhaus, dies holt sich die fertigen Objekte (Sitz, Schaltpult, Dach, Tür) und baut dies nach eigenen Regeln auf. Dann gibt es ein Objekt, wie Motorblock. Dies holt sich die Objekte Motor, Getriebe, Steuerung und verbaut die in sich. Nach einer Weile sind alle größeren Objekte fertig. Dann gibt es das komplexe Objekt, das Endprodukt. Dies sammelt alle größeren Zwischenprodukte (Fahrerhaus, Motorblock) und vereint die in sich und verbaut die. Dies mag zwar komplex sein, und Horror für das Kind, weil es ständig in der Anleitung hin und herspringt (es sei den, man ordnet die Objekte nach Bauzeitpunkt). Aber es ist für den Programmier sinnvoll, weil er ständig den Überblick behält.
Ich weis zwar jetzt nicht, ob du das System verstanden hast, aber den Unterschied merkst du, wenn du mal versucht hast, in beiden Systemen zu programmieren.
Ich hoffe der lange Text hat dir geholfen!