mein cheff möchtte einige sachen in c++ programmiert haben. wie lange brauch ich um in c++ programmieren zu können c ist vorhanden Die Projekte sind relativ einfach zu programmieren aber sie müssen objektorientiert sein
Das ist individuell unterschiedlich. Es kommt weniger auf das Lernen von C++ an, als darauf, den Sprung zur objektorientierten Denkweise zu machen. Die Syntax von C++ unterscheidet sich nicht so grundlegend von C, als das man da großartige Lernzeiten einplanen müsste. Ich habe mich damit am Anfang auch sehr schwer getan, da ich jahrelang nur in C programmiert hatte und ich mir mit den ominösen "Objekten" einfach nichts anfangen konnte. Nachdem die objektorientierte Denkweise aber erst mal vorhanden war, kam das Verständnis für C++ von selbst.
Wenn du also C gut kannst - also einigermaßen weißt wie ein Computer arbeitet - dürfte C++ kein Problem darstellen. Es sind halt einige neue Betrachtungsweisen notwendig: Daten sind in Objekten organisiert, Objekte haben Funktionen, Variablen, "Unterobjekte". Dann kannst du noch ein paar weitere nützliche Funktionen von C++ lernen - z.B. Templates, Vererbung. Das dürfte in einigen Stunden oder wenigen Arbeitstagen zu machen sein, dazu brauchst du noch etwas Erfahrung, wie man verschiedene Dinge am Besten macht. Da du ja die Vorgabe hast, dass es objektorientiert sein soll, scheint man schon Vorstellungen davon zu haben, wie das Programm aufgebaut sein soll - frag doch einfach mal denjenigen, für den das Programm ist, wie die Daten in Objekten organisiert sein sollen (z.B. - "Es gibt mehrere Kategorien von Messgrößen - du brauchst also für jede Kategorie ein Kategorie-Objekt, das wiederum eine Liste von Messgrößen-Objekten dieser Kategorie enthält, und jedes dieser Messgrößen-Objekte enthält ein Array von Messwerten. Außerdem soll es einen Grund-Objekttyp "Messgröße" geben, von denen alle anderen Messgrößen abgeleitet sind -> Vererbung.") dann kannst du dein Programm um diese Struktur herumbauen (Lade/Speicher-Routinen, Routinen für Datenmanipulation etc.). So hast du direkt einen "geleiteten" Einstieg.
zieh' dir den stroustrup rein - das dauert ~ ein monat. dann weißt du über sinn und unsinn der vererbungen bei kleinen projekten bescheid. und dass man in c++ so richtig wie die sau programmieren kann, dass nacher keiner mehr weiß was los ist :-)
Wenn man C kann, dann kann man vermutlich in spätestens drei Tagen auch C++ programmieren. Um C++ zu verstehen brauchts meistens aber mehrere Jahre. Gerade C-Umsteiger tun sich gerne schwer, den ganzen OOP-Krimskrams einsortiert zu kriegen und neigen gerne dazu, auf Teufel komm raus von heute auf morgen jeden Mist irgendwie in ein Objekt zu stampfen. Will sagen: Überleg dir vorher, ob das Projekt OOP rechtfertigt, sonst programmiere halt schlicht und einfach strukturiert wie bisher. Nur weil nachher 'C++' drauf steht, sind die Programme nicht automatisch 'besser', in welcher Hinsicht auch immer.
sind kleinere sachen wo man auch mit c machen könnte das ist schon klar aber mit LabVIEW und empededd C wurde auch klein angefangen und dann wurde es mehr. Wir wollen halt die rein virtuelle Schnittstellen von c++ Nutzen eventuell müssen dann die Klassen die das Intervace Implementieren im laufe der Zeit erweitert werden
Zottel schrieb: > sind kleinere sachen wo man auch mit c machen könnte das ist schon klar > > aber mit LabVIEW und empededd C wurde auch klein angefangen und dann > wurde es mehr. > > Wir wollen halt die rein virtuelle Schnittstellen von c++ Nutzen > eventuell müssen dann die Klassen die das Intervace Implementieren > im laufe der Zeit erweitert werden Ich würd mal sagen: Gehs mit C++ an, das ist schon in Ordnung. Aber rechne nicht damit, dass du ein vernünftiges OOP Konzept als OOP Anfänger aus dem Ärmel schütteln kannst nur weil du jetzt auf C++ umgestiegen bist. OOP ist hauptsächlich eine Philosophiefrage, C++ ist nur das Werkzeug, das dir hilft es umzusetzen. Dein erstes C++ Programm wird hauptsächlich den C++ Compiler als besseren C Compiler benutzen. Maximal wird dir ein erfahrener OOP Programmierer 'C mit Klassen' zugestehen. Aber OOP ist es deswegen noch lange nicht. Der gedankliche Schritt von einem Haufen Strukturen und Funktionen hin zu sinnvoll (in einer Hierarchie) organisierten Klassen mit all seinen Konsequenzen sieht einfach aus, ist es aber nicht.
>Um C++ zu verstehen brauchts meistens aber mehrere Jahre. Gerade >C-Umsteiger tun sich gerne schwer Sag mal, Sven: Wie alt bist du eigentlich? Der Satz liest sich als stamme er von einem Computer-Veteran der ersten Stunde.(sooo alt bist du nicht, das weiß ich)
Nase schrieb: >>Um C++ zu verstehen brauchts meistens aber mehrere Jahre. Gerade >>C-Umsteiger tun sich gerne schwer > > Sag mal, Sven: Wie alt bist du eigentlich? Der Satz liest sich als > stamme er von einem Computer-Veteran der ersten Stunde.(sooo alt bist du > nicht, das weiß ich) Das ist richtig, ich bin auch erst 19,5 Jahre alt :-) Ich habe vor sieben Jahren oder so mit C angefangen und ich denke, ich kann behaupten, dass ich C beherrsche. Nicht übertrieben, ich kenn nicht jeden Trick und so, aber ich bin in der Lage, die Werkzeuge in und um C vernünftig und effizient einzusetzen und 'guten' Quelltext zu produzieren (hinsichtlich Laufzeitverhalten, Wartung und so weiter). Zudem hab ich regelmäßig Kontakt zu und ellenlange Diskussionen mit einigen echten Veteranen, ich bezeichne das mal als 'Mentor'... die sind zwar gerne im ersten Moment recht verbissen, aber wenn man dann mal nachforscht und -denkt, ist meistens auch was dran. Prima Lerneffekt und Kritik halt. Seit drei Jahren arbeite ich mich nun in C++ ein. Ich kann zwar nun mit Objekten umgehen und in allen Farben und Formen herumvererben und so weiter. Aber ich kann wirklich nicht behaupten, dass ich mit den neuen Möglichkeiten bisher wirklich geschickt umgehen kann. Viel zu oft finde ich mich in Situationen wieder, in denen ich ein Problem mit OOP angegangen bin und es besser hätte bleiben lassen oder halt umgekehrt. Meine C++-Programme wirken einfach nicht 'rund'. Zu dem Satz da: Das war ein Zitat eines Veteranen, frei aus dem Gedächtnis.
Hallo Martin Noan. > Das ist individuell unterschiedlich. Es kommt weniger auf das Lernen von > C++ an, als darauf, den Sprung zur objektorientierten Denkweise zu > machen. Aber genau dieser Sprung ist der Knackpunkt. Ich, und wohl viele andere auch,schaffen den einfach nicht. Ich habe dann irgendwann wegen zu doof das Handtuch geworfen. Das heisst: Manche lernen C++ nie. Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.dl0dg.de
Sven P. schrieb:
> Meine C++-Programme wirken einfach nicht 'rund'.
Gib dir einfach noch 2 oder 3 Jahre. Das wird schon noch. Irgendwann hat
man auch in schwierigen Situationen die Tricks heraussen, wie man sich
mit einer geschickten Hierarchie das Leben extrem vereinfachen kann.
Wann es sinnvoll ist eine Hilfsklasse einzuführen und wann man einfach
nur Overkill betreibt. Ganz wichtig auch: Selbstkritik betreiben. Wenn
es möglich ist, versuchen die Hierarchie abzuändern und nachzusehen, wo
eine eine Änderung hinführt. So hab ich eigentlich am Allermeisten
gelernt: In einem 'Spielsystem' an dem ich nach Herzenslust Ideen
ausprobieren konnte, rausfinden was gut funktioniert, was zwar gut
aussieht aber auf lange Sicht sich nicht bewährt und was einfach nur
grottenschlecht ist.
Diskussionen mit anderen Programmierern über Techniken und Verfahren
sind natürlich der Oberhammer. Dagegen sehen Online Foren, Bücher,
Journale einfach nur alt aus. Soviel wie in diesen Diskussionen kann man
nirgends sonst, vor allem nicht in der Tiefe, lernen.
Da ich auch von "C mit Klassen" loskommen möchte: Kann jemand ein Buch empfehlen, das eher Philosophie und Strukturierung behandelt als die Syntax der Sprache? Gerne auch ganz ohne Sourcecode etc., nur Konzepte und dazu halbwegs reale Problemstellungen, die deutlich über "Die Flasche bringt den Korkenzieher mit." und "Ein Schiff und Auto sind Fahrzeuge, aber das Schiff hat keine Räder." hinausgehen und schrittweise objektorientiert gelöst und analysiert werden. viele Grüße, Tom.
Wo du bei Philosophie und Strukturierung bist würde ich dir doch auch empfehlen mal ein paar Entwurfsmuster anzuschauen die die OOP Idee umsetzen. Ein sehr gutes Buch dazu ist imho "Entwurfsmuster von Kopf bis Fuß" von O'Reilly. Die Beispiele darin sind zwar in Java (soweit ich mich erinnere), aber der syntaktische Unterschied ist ja zu C++ nicht die Welt. Und es ist wirklich unterhaltsam geschrieben.
oops, das war der falsche link, der da ist ok: Design Patterns. Elements of Reusable Object-Oriented Software. http://www.amazon.de/Patterns-Elements-Reusable-Object-Oriented-Software/dp/0201633612
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.