Laden...

In welchem Zeitraum lernt man, sinnvoll, gescheit und ordentlich mit OOP umzugehen/programmieren?

Erstellt von s.cript0r vor 18 Jahren Letzter Beitrag vor 18 Jahren 4.025 Views
S
s.cript0r Themenstarter:in
55 Beiträge seit 2006
vor 18 Jahren
In welchem Zeitraum lernt man, sinnvoll, gescheit und ordentlich mit OOP umzugehen/programmieren?

Hallo Forum!

Ich habe eine etwas abstrakte Frage^^. Aber in welchem Zeitraum lernt man, sinnvoll, gescheit und ordentlich mit OOP umzugehen/programmieren, bzw wie lange dauert es ungefähr durchschnittlich. Ich weis, es kommt darauf an, wie viel Zeit man investiert, wie schnell der lernende Dinge versteht etc., aber es gibt bestimmt eine grobe Aussage. Bzw könntet ihr Eure Erfahrungen mitteilen, wie lange es bei Euch gedauert hat, das würde mir auch helfen. Ich bin nämlich am Erlernen von C# (davor etwas php, also theoretisch kompletter Neueinstieg in die Programmierung ^^) und somit natürlich auch das Konzept der OOP.

s.cript[0]r

|Was man bekommt, wenn man nicht bekommt, was man will, ist Erfahrung|

2.082 Beiträge seit 2005
vor 18 Jahren

Hallo s.cript0r,

wie lang man zum erlernen von Oop braucht, lässt sich sehr sehr schwer sagen.

Oop ist nur eine Thematik. Darunter ist zu verstehen, dass alles was du erstellst, variable, klasse etc. letzendlich wie ein Objekt behandelt wird.

Bei Oop geht es vor allem um logisches Denken.

bei mir hats ne halbe Stunde gedauert, bis ich Oop verstanden hab. Allerdings heißt das nicht, nur weil du Oop verstehst, alles sinnvoll ist, was du im QC schreibst.

So gesehen kann man Oop nicht erlernen, man kann nur verstehen, wie die Systematik funktioniert. Der Rest liegt dann an dir.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

S
s.cript0r Themenstarter:in
55 Beiträge seit 2006
vor 18 Jahren

hehe, ja, ich verstehe dich^^ - das mit "lernen" war nur eine Definition, dass OOP eigetnlich eine Logik ist, ist mir auch bewusst, und dementsprechend meinte ich, wie schnell/langsam man diese Logik versteht. Ich denke hierzu kann man nur die Erfahrungen mitteilen, das sind nämlich feste und sichere Aussagen^^. Der Sinn und der Aufbau von OOP ist mir vollkommen klar, nur bei der Anwendung habe ich noch so meine Probleme 🤔 - aber naja, ich weis dass es eigentlich eine recht komplexe Sache ist, und aber einmal gelernt, nie wieder verlernt...

s.cript[0]r

|Was man bekommt, wenn man nicht bekommt, was man will, ist Erfahrung|

1.271 Beiträge seit 2005
vor 18 Jahren

Es kommt auch darauf, ob du mit den Grundlagen vertraut bist bzw. sie kennst, was nicht heißt, dass du alles verstanden hast. Also erstmal das OOP-Kapitel in irgendeinem Programmierbuch lesen (falls du das noch nicht gemacht hast) und dann versuchen diese Prinzipien anzuwenden. Irgendwann macht es dann Pling und du hast es von einer Sekunde auf die andere kapiert. So ähnlich wars zumindest bei mir.

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo s.cript0r,

Aber in welchem Zeitraum lernt man, sinnvoll, gescheit und ordentlich mit OOP umzugehen/programmieren, bzw wie lange dauert es ungefähr durchschnittlich.

1,5 - 2 Jahre

herbivore

PS: Vielleicht ist auch noch c# - schwer zu lernen ganz interessant.

M
14 Beiträge seit 2004
vor 18 Jahren

Ich denke das schwere an der OOP ist es auch, in bestimmten Situation eben diese nicht bis ins letzte auszureitzen.
Wenn man ein Gespür dafür bekommt, wann sich Vererbung oder Aggregation lohnt ist man schon fast auf der sicheren Seite.
Auch fällt es am Anfang schwer gerade die technisches Objekte objektorientiert zu begreifen - dass es eine Klasse Mensch mit Name, Alter usw. gibt leuchtet einem schnell ein.
Dass es jedoch dann auch ein Form1 Objekt gibt, dass von Form erbt oder ein Datenbankconnect-objekt viel mir anfangs jedenfalls schwer.

Grob kann ich herbivore aber zustimmen, beschäftigt man sich regelmäßig mit OOP hat man nach 2 Jahren den dreh raus.

S
s.cript0r Themenstarter:in
55 Beiträge seit 2006
vor 18 Jahren

wow, 2 Jahre- ich beschäftige mich damit seit 2-3 Monaten^^. Nunja, also absoluter Neuling in OOP bin ich nicht, ich bin froh, die ersten schweren Hindernisse hinter mir zu haben (wie z.b. Sinn/Aufbau, habe ich aber glaube ich schon erwähnt....und ich weis dass ich noch vieeeeeeeeeeeeeeeeeeeeeeel vor mir habe^^). Ich könnte ja auch Fragen, wie man am besten diese Logik "lernt"/aneignet, aber auch das ist nicht zu beantworten, also lasse ich es 😉 . Ich versuche ja auch meinen eigenen Weg, der wo ich denke, dass ich es so am besten verstehe, zu finden und beschäftige mich derzeit viel mit UML, also ich stell kleine Probleme dar, wo ich dann Anhand UML versuche, die Beziehungen, und wie die Klassen aufgebaut sind, wo was reinkommt und so Abstrakt wie möglich zu gestalten etc etc etc das Problem zu lösen. Ich denke es ist ein guter Weg. Und zum glück steht mir noch mein Kollege bei der mir immer wieder auf die Füße tritt und mich in die richtige Richtung zerrt 🙂

s.cript[0]r

|Was man bekommt, wenn man nicht bekommt, was man will, ist Erfahrung|

I
1.739 Beiträge seit 2005
vor 18 Jahren

Nach meiner Erfahrung: lässt sich ein Zeitraum gar nicht festlegen.
Bestcase: ca. 2 Jahre.
Worstcase: > 10 Jahre(aber absoluter WorstCase).
Jedenfallls, wenn mans wirklich schnallen will. Der Worstase bezieht sich auf Verweigerungshaltung und leicht zu erkennende Mängel im Modelll(solang es anders geht...)
Die Basics von OO kann man in 2-3 Monateten erledigen(im Selbststudium das 3-fache(dafür oft besser verstanden). Die Feinheiten der Möglichkeiten(zus. 2 Jahre) zu erkennen, erfordern sprachunhabhängiges Denken und die Bereitschaft Ballast(erlerntes (Un)Wissen) einfach über Bord zu werfen...
Jedenfalls nicht einfach, da OOP inzw. mit vielen Dingen assoziert wird.
Ein Frameworrk kann einen zu Denkhaltungen zwingen, Denken jedoch nicht ersetzen.
Aus reiner OOP-Sicht wäre SmallTalk als älteste Sprache immer noch die beste.
Aus praktischer Sicht(naja)...

A
452 Beiträge seit 2005
vor 18 Jahren

ich habe vorletztes jahr im dezember mit der programmierung angefangen. habe davor in der gesamtschule mal einen einblick in die programmierung erhalten (turbo pascal)
danach habe ich knapp 5 jahre lang nichts mit programmierung zu tun gehabt.
dh: ich bin auch absoluter neuling auf dem gebiet der programmierung gewesen. habe dann von der firma das buch 'visual c# schritt für schritt' erhalten.
damit habe ich knapp ein jahr rumgekämpft bis ich zum einen die grundlagen der sprache c# und zum anderen ein wenig oop verstanden habe. dass langsam mein verständnis für oop und programmierung allgemein wächst, sehe ich an den unterschieden in jedem neuen programm was ich schreibe. anfangs (die ersten 5 monate) habe ich mich auch wirklich schwer damit getan. vor allem wenn man nicht weiss was man alles machen kann oder wie etwas genau funktioniert.

ich denke wenn du wissbegierig bist und dich rein hängst, dann könntest du dir in gut 2 jahren schon ordentlich was aneignen 🙂

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

I
1.739 Beiträge seit 2005
vor 18 Jahren

ich denke wenn du wissbegierig bist und dich rein hängst, dann könntest du dir in gut 2 jahren schon ordentlich was aneignen

So als Anmerkung:
Ich hab zwar selbst gesagt 2j(als bestcase), aber genau betrachtet ist ist es auch Schwachsinnn).
Ein Auslernen findet nie statt. Wird wahrscheinlich sowieso erweitert, und nennt sich dann anders.
(Kurz: vielleicht wird ein user zum wirklichen user, die Vereinfachung wird dem Creator(Programmierer) nur zusätzliches Kopfzerbrechen bereiten, dh: unser heutiges Verständnis von Problemen(als Entwickler) ist immer noch ungenügend. Ob weitere Modelle helfen ist eine Überraschung.

Die Fragen stellen sich(wenn man glaubt alles über aktuelle technik zu wissen)...
Dann die Frage: "who cares?", Der Benutzer entscheidet....

G
40 Beiträge seit 2005
vor 18 Jahren

Es ist so wie bei vielen Dingen im Leben: nach einer steinigen Einstiegsphase kommt eine Zeit, da sieht alles ganz einfach aus. Mit der Zeit merkt man aber, dass es viel schwieriger ist.
Wenn die Programmiererei im Allgemeinen und die OOP im Besonderen so einfach wäre, dann würden nicht ständig neue Programiersprachen und Updates dieser Programmiersprachen entwickelt.
Je vollständiger die Bedürfnisse als Anwender abgebildet werden sollen, desto größer wird die Wahrscheinlichkeit, dass irgendwelche Widersprüche auftauchen, die man behandeln muss. Etwas Abhilfe schafft hier gerade die OOP mit der Idee der Kapselung, wodurch es weniger Abhängigkeiten gibt.
Aber Kapselung und Aufteilung in Komponenten auf der einen Seite, Widerverwendbarkeit von Code und die Forderung 'Einmal und nur Einmal' wegen der besseren Wartbarkeit auf der anderen Seite, auch hier muss das rechte Maß gefunden werden.

29 Beiträge seit 2005
vor 18 Jahren

Also wenn ich auch mal meinen Senf dazugeben darf.

OOP ist für mich eine Technik und nicht mehr! Schwierig wird es bei OOD, und da kenne ich keine einzige Person die das ordentlich kann, und du wirst auch kein Buch finden, wo es eine optimale OOD Musterlösung gibt, jede software hat seinen eigenen Charakter und ein eigenes Verhalten an Anforderungsänderungen.
Ich kriege jedesmal ein Schreck wenn ich sehe, wie ein Coder 30 Vererbungen macht und 10 Entwurfs-Pattern anwendet, obwohl es auch mit einer ganz einfachen Komposition möglich wäre. Ich sage immer wieder, Finger weg von Vererbung, eine saubere Datenstruktur mit einer guten Komposition ist aufjedenfall besser lesbar und wartbar, als irgendwelcher Vererbungs-Hirnmatsch!

Fazit: OOP ist nicht schwer, und ist auch sehr schnell lernbar. OOD dagegen ein Team-Stigma, was die wenigsten begreifen, und was für ein Software-Produkt das gefährlichste ist. In der Einfachheit liegt die Lösung und nicht wie oft die Programmierer denken, in der Komplexität Ihrer Hack-Lösung!

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo KsenkteSau,

gundsätzlich hast du recht, dass in der Analyse und besonders im Entwurf die Herausforderungen liegen. Ich habe OOP hier aber in dem Sinne verstanden, dass ein einzelner Software-Entwickler OOP lernen möchte und dann braucht er auch OOA+OOP und im Prinzip auch OOT (T = Testen). In sofern ist die Trennung hier nicht zielführend.

Abgesehen davon sollte auch ein Codierknecht, wie du ihn im Blick hast, durchaus über den Tellerrand hinausschauen können und auch dann ist es wieder nicht OOP alleine, was er lernen muss.

herbivore

29 Beiträge seit 2005
vor 18 Jahren

Original von herbivore

Abgesehen davon sollte auch ein Codierknecht, wie du ihn im Blick hast, durchaus über den Tellerrand hinausschauen können und auch dann ist es wieder nicht OOP alleine, was er lernen muss.

herbivore

Hallo herbivore,

natürlich hast du Recht, und ich habe auch nichts dagegen wenn die Leute Innovativ denken wollen, aber viele Entwickler nehmen es dann persönlich und sind zu naiv bei OOA, und das kann so einiges zerstören im Team. Also widersprechen möchte ich Dir auf keinen Fall, denn nur die Innovation ist die Zukunft.

In diesem Sinne,

gruss