C++ lernen / Programme schreiben
-
Es gibt da auch so ein Buch: "C++ in 21 Tagen". Einige sollen C++ aber wirklich in weniger als 3 Monaten lernen.



-
Na los, deine Zeit läuft!!!!

-
Ich lerne mit dem Buch C++ und muss sagen es klappt perfekt, aber man braucht schon ein par Tage länger, weil ich schreib dann immer kleinere Programme und dann klappt das schon

-
Bücher sind für Looser.
Ich lege mir immer CDs mit guten Programmen unters Kopfkissen bevor ich Schlafen gehe, da lernt man dann wie im Schlaf.
-
Das mit den 21 Tagen klappt aber nur bei einem Linux-User.
Denn der weiß schon, was ein Texteditor ist, und wenn im Buch steht "Quelltext formatieren" sucht der nicht vergeblich nach einem Button in der Toolbar.Aber lernen kann man es nur wenn man es versucht. Und nichts ist beim Programmieren wichtiger als Erfahrung.
Ich bin mir auch sicher dass die 15jährigen, die behaupten nach 3 Monaten C++ zu beherrschen nicht den blassesten Schimmer von den ganzen Möglichkeiten besitzen, sondern vllt. mal ne eigene kleine "Auto"-Klasse schreiben können.Außer vllt. so kleine abgefahrene Freaks, die mit Nachnamen Torvalds heißen - aber die nehmen wohl auch eher C

-
Jo schon, aber ich sagte ja man braucht länger da man immer (zumindest ich) so seine eigenen Programme schreibt um nen Überblick zu bekommen, so lern ich das viel einfacher;)
Also learning by doing
-
lass mich raten, deine Träume sind irgendwelche beknackten Shooter zu basteln?

Vergisses
-
franz schrieb:
Außer vllt. so kleine abgefahrene Freaks, die mit Nachnamen Torvalds heißen - aber die nehmen wohl auch eher C

Der kann doch noch nicht mal jetzt richtig C++ programmieren.
-
Also wenn ich etwas Programmieen würde als omit DX9 dann würde es KEIN Shooter werden
Da gibts echt genug ich sag nur Youtube c++ ShooterViel Spaß beim Suchen

-
Du kannst dir Tonnenweise Programmierbücher (C++) reinziehen, aber ohne Programmierpraxis nützt dir das alles nichts. Und die Praxis ist aufwendig (vor allem, wenn man das nicht schon beruflich machen kann).
Und was heisst "beherrschen"? - Da gibt es viele Stufen, aber nach 3 Monaten ist man noch nicht sehr weit. (Auch bei täglicher Beschäftigung). Und ich würde auf solche Meinungen nichts geben. Sondern einfach anfangen, ein guetes Buch kaufen, danach dir überlegen, was du so machen willst und dir andere Bücher kaufen. (natürlich immer mit Projekten nebenbei, wo du alles umsetzt und die Probleme gleich selbst miterlebst.)
So einen Bildeditor kann man vlt. nach 6-12 Monaten mal Anfangen (wenn man die Sprache von Anfang an lernt). Es ist noch kein Photoshop, aber man kann sicher einfache Dinge bereits umsetzen. (kommt halt auch auf die verwendete Lib an). Und dann kannst du das Programm immer weiter ausbauen und das schönste an einem Hobbyprojekt ist, dass du nach einem Jahr deinen Code anschaust und denkst, dass kann es doch nicht sein und alles nochmal von Anfang an programmieren und dann auch das umsetzen, was du beim ersten mal versäumt hast. (Das geht bei einem kommerziellen Produkt leider nicht).
-
drakon schrieb:
Du kannst dir Tonnenweise Programmierbücher (C++) reinziehen, aber ohne Programmierpraxis nützt dir das alles nichts. Und die Praxis ist aufwendig (vor allem, wenn man das nicht schon beruflich machen kann).
Und die Ironie bei der Sache ist, dass Berufspraxis oft dazu führt, dass man genug Training bekommt, dieses aber auf den Betrieb und die Anforderungen zugeschnitten ist und man so viele Teile einer Programmiersprache nicht ausreichend zu Gesicht bekommt. Ich beispielsweise bin eher ein C-Programmierer, der auch Klassen benutzt. Viele, gerade hier im Forum, verurteilen sowas, aber in meinem Betrieb gehts nicht anders. Wir programmieren hier zu 50% C (der Rest C++ und ein wenig LabView), alles muss untereinander funktionieren, man muss sich an gewisse Vorgehensweisen halten, damit auch alle anderen mit dem geschriebenen Code klarkommen, und zu guter letzt muss ein Projekt immer vorgestern fertig sein. Da hat man kaum die Zeit, sich eingehend mit Templates oder anderem C++-Kram zu beschäftigen. Man übernimmt (wenn man die Sprache im Betrieb lernt, so wie ich) automatisch den Stil der Firma, wenn man so will. Gleichzeitig sorgt die Arbeit dafür, dass ich nicht genug Freizeit habe, um mich zuhause auch noch vor die IDE zu setzen (man hat ja noch andere Hobbies). Ich denke, so geht es vielen. Und das Schlimme an der Sache: es stört mich noch nicht mal besonders! Ein Teufelskreis!

-
_matze schrieb:
drakon schrieb:
Du kannst dir Tonnenweise Programmierbücher (C++) reinziehen, aber ohne Programmierpraxis nützt dir das alles nichts. Und die Praxis ist aufwendig (vor allem, wenn man das nicht schon beruflich machen kann).
Und die Ironie bei der Sache ist, dass Berufspraxis oft dazu führt, dass man genug Training bekommt, dieses aber auf den Betrieb und die Anforderungen zugeschnitten ist und man so viele Teile einer Programmiersprache nicht ausreichend zu Gesicht bekommt. Ich beispielsweise bin eher ein C-Programmierer, der auch Klassen benutzt. Viele, gerade hier im Forum, verurteilen sowas, aber in meinem Betrieb gehts nicht anders. Wir programmieren hier zu 50% C (der Rest C++ und ein wenig LabView), alles muss untereinander funktionieren, man muss sich an gewisse Vorgehensweisen halten, damit auch alle anderen mit dem geschriebenen Code klarkommen, und zu guter letzt muss ein Projekt immer vorgestern fertig sein. Da hat man kaum die Zeit, sich eingehend mit Templates oder anderem C++-Kram zu beschäftigen. Man übernimmt (wenn man die Sprache im Betrieb lernt, so wie ich) automatisch den Stil der Firma, wenn man so will. Gleichzeitig sorgt die Arbeit dafür, dass ich nicht genug Freizeit habe, um mich zuhause auch noch vor die IDE zu setzen (man hat ja noch andere Hobbies). Ich denke, so geht es vielen. Und das Schlimme an der Sache: es stört mich noch nicht mal besonders! Ein Teufelskreis!

Klar. Das ist schon ein Problem und somit sollte man (imo) eine Sprache für sich lernen, da man dann nicht schon von vornherein die Fehler von den Leuten übernimmt, die den Code einmal ano dazumal geschrieben haben. Das gibt dann auch einen kritischeren Blick und fragt sich dann, warum etwas auf diese Art gemacht worden ist, obwohl man selber weiss, wie es auf die andere Art besser ginge. Nur leider, wenn man neu bei einer Firma anfängt und den Code sieht sollte man nicht gleich alles in Frage stellen, auch wenn man es weiss, dass es anders ginge. Man muss sich halt wiederwillig an die Codetechniken anpassen, auch wenn sie einem nicht passen. Aber das ist ja das leidige Problem das Codequalität einfach kein Geld bringt. (zumindest nicht aktiv und somit gerne unter den Teppich vergraben wird).
-
Ich will gar nicht behaupten, dass unser Code grundsätzlich schlecht ist, im Gegenteil. Man findet viele interessante Konstrukte darin. Unser C-Source ist strikt objektorientiert (Handle-structs); es wird dafür gesorgt, dass sich Wrapper aus Sicht des Aufrufers eigentlich nie ändern müssen; der Aufrufer hat z.B. auch keine Möglichkeit, Elemente eines Handles selbst zu ändern - durch globale Dummy-Typen ist der Typ zwar bekannt und kann weitergereicht werden, es kann aber nicht auf die Elemente zugegriffen werden - ; es wird viel Code automatisch generiert, um z.B. das Zugreifen auf Funktionen aus DLLs super-einfach zu gestalten (hier muss sich keiner mit LoadLibrary und GetProcAddress rumschlagen, eine DLL wird bei Bedarf geladen, Prototypen werden automatisch in globalen Headern generiert), usw. Da passiert mehr, als viele Leute C zutrauen. Aber es ist halt C, und auch die C++-Module sind entsprechend mehr C als C++. Die STL wird recht selten bemüht, eigene Template-Klassen habe ich noch gar nicht entdeckt (na ja, vielleicht verstecken die sich doch noch irgendwo in den 500.000 LOC
)... ich würde mir halt einfach ein wenig mehr C++ wünschen, damit meine eigenen Kenntnisse etwas gefördert werden. Aber wie gesagt, ich wollte unseren Code nicht schlechtreden.EDIT: Doch, eine Sache will ich schon noch bemeckern. Unser Source ist zu großen Teilen kaum bzw. gar nicht kommentiert! Das macht das Verstehen von Projekten, die man plötzlich zugeteilt bekommt, nicht immer einfach. Hier greift auch dein Argument, dass Codequalität nicht profitabel ist. Wer sich vornimmt, im Anschluss ausführlich und sinnvoll zu kommentieren (denn erstmal muss der Termin eingehalten werden), macht es ja sowieso nicht, da dann schon das nächste Projekt wartet...
-
Das ist halt das Problem an "alten" Projekten. Sie wachsen organisch und zu dieser Zeit hatten die wahrscheinlich noch gar nicht die Möglichkeit C++ zu nutzen, respektive sie waren noch Meilenweit davon entfernt, dass man die Features wirklich brauchen konnte.
Wie du sagst ist Firmerinterner Code meist kaum dokumentiert und man muss sich die Strukturen und Techniken aus dem Code lesen, oder man bekommt es von jemandem gesagt, aber es gibt kaum so etwas, wie etwas, dass dir die grössere Struktur erklärt, was es bei offenen Libs ja zu Hauf gibt und sich so jeder da recht schnell einarbeiten kann. Aber wozu sollte man das auch machen, wenn der Code läuft?
btw:
Darf ich fragen, wo du arbeitest?
-
drakon schrieb:
btw:
Darf ich fragen, wo du arbeitest?In welchem Bereich? AOI-Systeme (also Hardware-Ansteuerung und Bildverarbeitung).
-
_matze schrieb:
drakon schrieb:
btw:
Darf ich fragen, wo du arbeitest?In welchem Bereich? AOI-Systeme (also Hardware-Ansteuerung und Bildverarbeitung).
Ich habe Firma gemeint.

-
@JENS SCHLAU
-
_matze schrieb:
[Ich beispielsweise bin eher ein C-Programmierer, der auch Klassen benutzt. Viele, gerade hier im Forum, verurteilen sowas, aber in meinem Betrieb gehts nicht anders...
Was ich bei sowas verurteile ist nicht, das es in der Praxis vorkommt, sondern das man solches Wissen teilweise als C++ vermittelt. Und ich glaube das geht anderen auch so.
Ich hatte in keiner Firma bislang wirklich sauberen C++ Code, aber in meiner aktuellen Firma haben sie mir relativ freie Hand bei der Programmierung gegeben, und sind manchmal doch über die Ergebnisse erstaunt (wenn z.B. aus einem 20ig Zeiler ein 4 Zeiler mit STL-Einsatz wird, der sogar noch besser lesbar ist...
cu André
-
Ich will keine Spiele, sondern (erstmal) Programme für Vista programmieren.
Online gibt es wenig gute Tutorials ...



Kann mir einer ein Buch (25 Euro sind ideal) empfehlen ?
Sonst greife Ich zu den Werken des Franzi's Verlag's. Die haben gute Autoren am Start.

-
http://www.research.att.com/~bs/programming.html
http://www.research.att.com/~bs/3rd.html
http://www.amazon.de/C-Primer-Stanley-B-Lippman/dp/382732274X