Ich brauche eine Bewertung zu einem Buch!
-
Bloss nicht den Umweg über C zu C++
Vieles (fast alles) aus C kann man genaus auch in C++ machen. Das heisst
jedoch nicht, das man das auch so tun sollte. Lerne C++ mit allem was dazu
gehört, insbesondere die Vorgehensweise bei der Problemlösung ist wichtig.
Und genau darin (OOP) liegt der entscheidende Unterscheid zu C.
-
Ich dachte schon... Ich dachte schon, ich muß jetzt echt C vorher noch durchgehen.Nutze doch eines der Tutorials die's hier gibt. Wo denn?
-
@Vertexwahn: Kann es sein, dass Du "C++ für Dummies" mit "Objektorientierte Programmierung für Dummies" verwechselst? Der Text, den Du zitiert hast, ist nämlich aus Marc++us Buch. Aber ich nehme an, dass der Threadersteller dieses Buch nicht meinte.
-
www.cpp-tutor.de
www.volkard.dezwei wirklich gute
-
Also ist es doch für Anfänger?
-
Danke für die links
-
Chew-Z schrieb:
Vieles (fast alles) aus C kann man genaus auch in C++ machen.
lustig ist es, wenn man dann mal gezwungen wird in C zu programmieren - dann kommt man auf so tolle dinge wie "warum darf ich nicht mitten im Sourcecode eine Variable definieren"
Incompatibilities Between ISO C and ISO C++:
http://david.tribble.com/text/cdiffs.htmaber das nur so am Rande - wie gesagt glaub lieber dennen, die das Beruflich machen und schon etwas vorweißen können
-
Asgard schrieb:
@Vertexwahn: Kann es sein, dass Du "C++ für Dummies" mit "Objektorientierte Programmierung für Dummies" verwechselst? Der Text, den Du zitiert hast, ist nämlich aus Marc++us Buch. Aber ich nehme an, dass der Threadersteller dieses Buch nicht meinte.
*shit* - ich hab mich hier auf "Objektorientiert Programmierung für Dummies" bezogen und nicht auf "C++ für Dummies" - sorry
-
Es kann andererseits auch nicht schaden, zuerst C zu lernen, weil man dann die Grundprinzipien versteht, auf denen C++ aufbaut.
C++ ist die komplexeste Programmiersprache der Welt!
Wollt' ich nur mal sagen, und ich programmiere jetzt seit 12 Jahren in C++, und seit 19 Jahren in C, und kann noch viele andere Sprachen.
Das soll keineswegs abschreckend wirken, jedoch ist es eine Illusion, wenn man meint, C++ sei nur irgendeine OO-Sprache. Selbst Ada 95 ist lange nicht so komplex wie C++.
Alle paar Jahre wird durch das Standard-Kommittee der Umfang der Sprache weiter ausgeweitet, wodurch noch mehr Moeglichkeiten entstehend.
Der Lernaufwand fuer C++ ist horrend, darueber sollte man sich im Klaren sein, da spielt es dann keine Rolle mehr, ob man vorher noch "kurz" C lernt, oder Pascal gleich mit.
Ich wuerde einem Programmieranfaenger jedenfalls nicht zumuten, mit C++ anzufangen. Visual Basic oder Delphi mag am Anfang befriedigender und komfortabler sein. Fuer Anfaenger ist es wichtig, zuerst mit wenig Aufwand Erfolgserlebnisse zu haben. Bei BASIC oder Delphi kann man sich nach und nach durch die Libraries fressen (ja, wie durch den sprichwoertlichen Griessbreiberg im Schlaraffenland), bis man Lust auf eine neue Sprache und richtige Herausforderungen hat ... !
Selbst wenn man prozedurale Sprachen kennt, wie Pascal, oder C, ist es schwierig, C++ zu lernen. Auch wenn man OO-Sprachen wie Java gemeistert hat, ist C++ immer noch eine Herausforderung.
Es dauert mindestens 5-6 Jahre, bis man C++ einigermassen kann, auch nur ein bisschen soweit, dass man halbwegs brauchbare Programme schreiben kann. Das ist aber bei C genauso. Bei C++ faengt es erst an lustig zu werden, wenn man sich mit den komplexeren Eigenheiten der Sprache beschaeftigt.
Als Anfaenger braucht man das ja nicht unbedingt, und darin liegt wohl auch die Moeglichkeit, C++ als Einstiegssprache zu lernen, aber es kann dann ziemliche lange dauern, bis man versteht, was wirklich unter der Haube ablaeuft. Aber darauf kommt es ja an, wenn man seine eigenen Programme verstehen will.
Man darf halt nie aufgeben, auch wenn's schwierig wird!
Aber, wie oben gesagt, es gibt auch einfachere Moeglichkeiten, Programmieren zu lernen, und erstmal eine solide Basis zu bekommen, damit einen in C++ nix mehr schockieren kann!
-
Power Off schrieb:
Es dauert mindestens 5-6 Jahre, bis man C++ einigermassen kann, auch nur ein bisschen soweit, dass man halbwegs brauchbare Programme schreiben kann.
Das halte ich für deutlich überzogen. Ich kenne Leute, die deutlich schneller vernünftige Programme schreiben konnten.
Vorher C zu lernen ist halt doof, weil man sich viele Sachen angewöhnt die in C++ schlecht sind. Und Angewohnheiten abzulegen ist sehr viel schwerer als es gleich richtig zu machen.
MfG Jester
-
Mir geht es weniger um spezielle Angewohnheiten, wie beispielsweise das immer
noch, bei manchen C++ Programmierern, beliebte sprintf().Mir geht es um den Denkansatz. Dabei unterscheiden sich C und C++ (OOP) nunmal
deutlich. Ich hab schon viele langjährige und wirklich gute C-Programmierer
gesehen die mit all ihrerer Erfahrung kein vernünftiges OOP Design hinkriegen,
weil in ihnen der gute alte Wirth ("Algorithmen und Datenstrukturen") fest
verwurzelt ist.
Daher finde ich das Umlernen beim Umstieg von C nach C++ nicht nur überflüssig,
sondern häufig genug auch schädlich.
-
Power Off schrieb:
Es dauert mindestens 5-6 Jahre, bis man C++ einigermassen kann, auch nur ein bisschen soweit, dass man halbwegs brauchbare Programme schreiben kann.
Brauchbare Programme kann man auch nach einem halben Jahr schon schreiben. Aber man lernt halt in den folgenden Jahren immer noch was dazu. Nichts schlechtes, wie ich finde.
-
Jester und Walli schrieb:
Brauchbare Programme kann man auch nach einem halben Jahr schon schreiben.
Ich wuensche euch beiden, dass ihr 10 Millionen Programmzeilen Anfaengercode warten und pflegen muesst.
-
Power Off schrieb:
Jester und Walli schrieb:
Brauchbare Programme kann man auch nach einem halben Jahr schon schreiben.
Ich wuensche euch beiden, dass ihr 10 Millionen Programmzeilen Anfaengercode warten und pflegen muesst.
wo ist den dass noch _ein_ programm? windows ist ein os und besteht aus 27 mio zeilen, wer soll den bitteschön ALS ANFÄNGER einen 10 mio zeilen-prog schreiben?
-
Chew-Z schrieb:
Mir geht es weniger um spezielle Angewohnheiten, wie beispielsweise das immer
noch, bei manchen C++ Programmierern, beliebte sprintf().In der Praxis nimmt man oft das, was am schnellsten geht. Die C-Library ist ja ausdruecklich Bestandteil des C++ Standards. Zeig uns doch mal eine formatierte Ausgabe in einer Programmzeile mit C++ I/O Manipulatoren, als Ersatz fuer folgendes:
sprintf( buf, "%-020.20d%-*.*s%-20.5f", i, n, n, s, f );
Man bedenke auch, dass die C++ I/O Library lange nicht genormt war, und dadurch weder portabel noch aufwaertskompatibel. Erst wenn sich alle C++ Compiler Hersteller an den neuen Standard halten, kann man solche Schnittstellen benutzen, ohne ein komplettes Rewrite oder zumindest eine Portierung zu riskieren. (EDIT: was heute der Fall ist, aber vor einigen Jahren noch nicht der Fall war.)
Chew-Z schrieb:
Mir geht es um den Denkansatz. Dabei unterscheiden sich C und C++ (OOP) nunmal
deutlich. Ich hab schon viele langjährige und wirklich gute C-Programmierer
gesehen die mit all ihrerer Erfahrung kein vernünftiges OOP Design hinkriegen,
weil in ihnen der gute alte Wirth ("Algorithmen und Datenstrukturen") fest
verwurzelt ist.
Daher finde ich das Umlernen beim Umstieg von C nach C++ nicht nur überflüssig,
sondern häufig genug auch schädlich.Mag ja sein, dass manche Programmierer lange brauchen, bis sie C++ gelernt haben, aber das habe ich ja bereits oben gesagt. Nach 5-6 Jahren spielt es keine Rolle mehr, ob man vorher C oder Pascal oder sonstwas gelernt hat.
Das mit dem "OOP Design" finde ich laecherlich, da in der Praxis meist eh kein "Design" gemacht wird, aus "Zeitgruenden".
Das ist wie mit dem guten alten Pflichtenheft: Gut wenn's eins gibt, aber in der Regel gibt's oft keins.
Vermurkste OOP-Designs sind oft schlimmer als "zuwenig OO" im Programm.
Es gibt naemlich nicht viele Leute, die gleichzeitig ein gutes OO Design und eine gute Implementation auf die Beine stellen koennen.
Oft ist die Lesbarkeit und Wartbarkeit von Code wichtiger.
Code mit Hundertaussenden von Klassen ist u.U. nicht mehr wartbar. Solcher Code wird von der naechsten Entwicklergruppe oft weggeschmissen, vor allem, wenn kein Handbuch dafuer da ist, in dem alles bis ins letzte Detail erklaert ist.
-
enno-tyrant schrieb:
wo ist den dass noch _ein_ programm? windows ist ein os und besteht aus 27 mio zeilen, wer soll den bitteschön ALS ANFÄNGER einen 10 mio zeilen-prog schreiben?
Wenn man eine Entwicklergruppe von zig oder einigen hundert Leuten hat, kommt so was schnell zusammen. Wenn alle davon Anfaenger sind ...
(Illustration: Hundert ambitionierte C++ Anfaenger schreiben zwei Jahre lang je 1000 Zeilen Code pro Tag = 100 x 200 x 2 x 1000 = 40 Mio. Zeilen)
-
Power Off schrieb:
Es dauert mindestens 5-6 Jahre, bis man C++ einigermassen kann, auch nur ein bisschen soweit, dass man halbwegs brauchbare Programme schreiben kann.
DUMMSCHWÄTZER!!!
das musste gesagt werden!!!
mfg hohesC
-
Power Off schrieb:
Jester und Walli schrieb:
Brauchbare Programme kann man auch nach einem halben Jahr schon schreiben.
Ich wuensche euch beiden, dass ihr 10 Millionen Programmzeilen Anfaengercode warten und pflegen muesst.
Ebenfalls dummes Geschwätz! Außerdem noch völlig am Thema vorbei...
-
Power Off schrieb:
enno-tyrant schrieb:
wo ist den dass noch _ein_ programm? windows ist ein os und besteht aus 27 mio zeilen, wer soll den bitteschön ALS ANFÄNGER einen 10 mio zeilen-prog schreiben?
Wenn man eine Entwicklergruppe von zig oder einigen hundert Leuten hat, kommt so was schnell zusammen. Wenn alle davon Anfaenger sind ...
... dann sollte man denjenigen feuern, der die alle eingestellt hat. Wie realistisch ist dieses Scenario bitte? Natürlich gibt es in jeder Softwarefirma Berufseinsteiger, aber die lässt man nicht selbständig auf solche Mammutprojekte los!
-
Aber übelst, so ne Sch**** hab ich noch nie gehört!
Naja, halt ein DAP([D]ümmster [A]nzunehmender [P]rogrammierer)!