Möchte C++ / programmieren lernen
-
mettwurst schrieb:
"Die C++ Programmiersprache" von Bjarne Stroutstrup
...taugt nix für anfänger.
das hier eher --> http://www.volkard.de/vcppkold/inhalt.html

-
Bei mir im Schrank steht D. May: Grundkurs C++; Vieweg Verlag. Hat super Kritiken bei Amazon gekriegt. Taugt was für anfänger. Ich bin gut gefahren.
Viel Spass

-
Bei mir im Schrank steht D. May: Grundkurs C++; Vieweg Verlag. Hat super Kritiken bei Amazon gekriegt. Taugt was für anfänger. Ich bin gut gefahren.
Viel Spass

-
rambo15 schrieb:
Also ich will es mir selbst bei bringen da ich es sons nicht besser weiß.
Eigentlich klingt das ja lustig. Wie soll ich mir etwas beibringen, wenn ich es nicht kann? Das ist so, als ginge ich auf einen C++-Lehrgang, wo der Lehrer auch kein C++ kann
.
-
Aber er kann doch lernen wie erst sich selbst beibringen kann, obwohl er keine Ahnung hat.

-
mettwurst schrieb:
"Die C++ Programmiersprache" von Bjarne Stroutstrup
Ideal, aber nur wenn man bereits Objektorientiert programmieren kann und die Grundzüge der C-Syntax versteht.
-
Wenn es nicht gleich c/c++ sein muss, sondern allgemein, dann probiers mal damit:
http://infon.dividuum.de/trac/wiki
Das ist ein Spiel bei dem man programmieren muss. Es geht darum Käfer (Bots) so zu programmieren, dass sie fressen, sich vermehren, Gegener angreifen,...
Man schreibt den Code in aller Ruhe und nach dem hochladen auf den Server kann man seinen Käfern zuschauen.Ich finde das die beste Art Programmieren zu lernen.
Screenshots, Beispiel Bot-Code, Spiel Bin/Source alles auf dem Wiki (s.o.).
Kleine Warnung noch: die Käfer werden in Lua (http://www.lua.org/manual/5.1/) programmiert
-
wer lua nicht mag, kann auch robocode nehmen http://robocode.sourceforge.net/, das ist java.
-
Robocode hat im Gegensatz zu Infon den Nachteil, dass es keinen Multiplayermodus gibt, um online gegeneinander zu spielen. Bei infon kannst du einem aktiven Spiel jederzeit beitreten und sogar im laufenden Spiel deinen Code aktualisieren. Ein weiterer Vorteil ist, denke ich, lua. Die Sprache ist schnell erlernt. Und sie ist relativ einfach in eigenen C/C++ Projekten verwendbar, um diese zu scripten. Und sei es nur als Konfigurationssprache. Ein Blick lohnt sich in jedem Fall!
-
Also ich hab auch so angefangen, dass ich virtualle Robotoren programmiert habe, aber bei mir hieß es Colobot, und die Programmiersprache C-Bot. Ist an Java angelehnt, nur dass man die Klassen nie zu sehen bekommt. Aber ich kann nur sagen, wenn man C++ lernen möchte, dann solte man sich nicht alleine da hin setzen, und anfangen, das ist verdammt viel Arbeit, und allein verliert man schnell den Mut, da machen solche Programmierspie schon eher Spaß, nur schade, dass sich an Colobot set dem release nichts getan hat.
-
rambo15 schrieb:
ne C is nich so guuuut für games und bots, lieber c++ is schließlich neuer !
Du musst C lernen, da man in C++ auch C programmiert. Ohne C geht es nicht.
Ich empfehle Dir ebenfalls Jürgen Wolfs "C von A-Z".
Das Buch ist sein Geld wert, aber auch online verfügbar: A-Z als OpenBook.
Stroustrups "Die C++-Programmiersprache" ist kein Lehrbuch, für Anfänger nicht zu empfehlen.Ich halte den Einstieg in die Programmierung mit C für gut, wenn Du Dich durchbeißen kannst. Wenn Du nach dem zweiten fehlgeschlagenen Versuch aufgibst, such Dir ein anderes Hobby.
Wie Du selbst sagtest: C++ ist die Übersprache, man kann sehr viel damit machen. C ist nun 35 Jahre alt, C++ deutlich über 20. Du wirst die Zeit nicht brauchen, um das Wissen aufzuholen, aber Dir sollte klar sein, dass Du nicht in 6 Wochen perfekt programmieren kannst. Bei guter Auffassungsgabe und Motivation ist es möglich innerhalb eines Jahres mit etwas Plan ein Spiel zu schreiben.
Bevor Du Spiele oder Bots schreibst, wirst Du aber zunächst eine ganze Reihe deutlich einfachere Probleme lösen müssen, um zu verstehen, wie man komplizierte löst.
C/C++ ist das beste Strategiespiel, wo gibt. Ich spiele es jetzt seit 12 Jahren und es ist noch nicht langweilig.
Viel Spaß.
-
Xin schrieb:
Du musst C lernen, da man in C++ auch C programmiert. Ohne C geht es nicht.
ja aber genau deshalb musst du C nicht vorher lernen oder so, wenn du ein Buch hast, welches C++ Gut erklärt, dann kannst du auch später C und C++ nicht verwechseln, auch wenn du nie C programmiert hast. Was ich allerdings schlimm finde ist, wenn leute C und C++ mischen, also sowas wie printf in C++ anwendungen oder so, weil sie meinen, dass das irgendwie besser/schneller sei, sie aber eigentlich nur zu faul sind cout sich anzuschauen, oder es nicht schaffen damit umzugehen, weil sie "using namespace std;" mal wieder vergessen haben.
-
Xin schrieb:
rambo15 schrieb:
ne C is nich so guuuut für games und bots, lieber c++ is schließlich neuer !
Du musst C lernen, da man in C++ auch C programmiert. Ohne C geht es nicht.
ich kann mich erinnern, dass die meisten c++ fans in diesem forum das gegenteil behaupten

Xin schrieb:
Ich empfehle Dir ebenfalls Jürgen Wolfs "C von A-Z".
Das Buch ist sein Geld wert, aber auch online verfügbar:nein, das ist sogar ziemlich schlecht. es sind bzw. waren sehr viele fehler drin. surft mal durch die threads im ansi-c forum. da findet ihr einige vorschläge für gute c-bücher.
-
Ich kann nur die C++ DVD von Video2Brain empfehlen. Da werden die ersten Schritte sehr gut erklärt.
-
pale dog schrieb:
Xin schrieb:
rambo15 schrieb:
ne C is nich so guuuut für games und bots, lieber c++ is schließlich neuer !
Du musst C lernen, da man in C++ auch C programmiert. Ohne C geht es nicht.
ich kann mich erinnern, dass die meisten c++ fans in diesem forum das gegenteil behaupten

Dann bin ich mal gespannt, wie die C++ Fans ohne prozedurale Programmierung eine Methode schreiben.
Ich sehe keinen Sinn darin, von den Möglichkeiten erschlagen zu werden, wenn C erstmal reicht.
Xin schrieb:
Ich empfehle Dir ebenfalls Jürgen Wolfs "C von A-Z".
Das Buch ist sein Geld wert, aber auch online verfügbar:nein, das ist sogar ziemlich schlecht. es sind bzw. waren sehr viele fehler drin. surft mal durch die threads im ansi-c forum. da findet ihr einige vorschläge für gute c-bücher.[/quote]
Ich habe aus "Jetzt lerne ich C" von M&T gelernt. Das Buch war auch bescheiden, aber funktionierte.Ein Bekannter von mir lernt aus dem Buch von Jürgen Wolf, ich habe ein anderes Buch von ihm, dass ich gut finde und das A-Z mir mal in der Buchhandlung vorgenommen. Machte einen guten Eindruck.
-
Also ich find es ehrlich gesagt Quatsch, erst C und dann C++ zu lernen.
Am Ende gibt es dann nur einen Menschen mehr, der hier Spaghetticode, veraltete Header, FIL* und was weiß ich nicht alles anstatt der C++-Objekte dafüe nutzt.
-
Erst dachte ich ja Xin meint das ganze ironisch, aber scheinbar doch nicht ...
Mein guter Eindruck von Xin verfällt
-
The-Kenny schrieb:
Also ich find es ehrlich gesagt Quatsch, erst C und dann C++ zu lernen.
Am Ende gibt es dann nur einen Menschen mehr, der hier Spaghetticode, veraltete Header, FIL* und was weiß ich nicht alles anstatt der C++-Objekte dafüe nutzt.
FILE gehört auch zu C++. cout ist nicht die einzige Wahrheit und wird häufig über FILE implementiert. Nach Deiner Logik ist cout dann auch veraltet.
Es geht beim Programmieren lernen doch nicht darum, dass man sich einzelnen Dingen verschließt, sondern zu lernen, welche Möglichkeiten man hat und welche für die jeweilige Situation die richtige Technik ist.
KasF schrieb:
Erst dachte ich ja Xin meint das ganze ironisch, aber scheinbar doch nicht ...
Mein guter Eindruck von Xin verfällt
Es ist nicht ironisch.
Meiner Erfahrung nach ist es besonders am Anfang wichtig, den zu lernenden Bereich so klein wie möglich zu halten, damit die Lerndenen die Chance haben, einen Überblick zu bekommen und diesen Bereich zu verstehen.
Wenn ich C/C++ unterrichte, so beginne ich nach Möglichkeit unter der Linux-Konsole (nicht X), so gibt es nichts, was ablenkt oder die Sache komplizierter aussehen läßt, als es ist.Abgesehen von den Tutorien habe ich mit der Methode 'nen ganz guten Schnitt: ein Diplom-Informatiker, ein mathematisch-technischer Assistent (Entwickler) und jemanden, der sich zumindest auf die gaim-Entwicklerliste gesetzt hat. Er ist 17, heute Zeugnis bekommen und so meinte er vorhin, er möchte dann Informatik studieren.

Ich habe Tutorien gehalten, Die Leute sollten natürlich auch irgendwas mit Dipl-Inf. aus sich gemacht haben.Wir haben in der FH auch im ersten Semester gleich objektorientierte Programmierung gelernt. Mein Tutorium war dann im 3. Semester. Einer der Studenten sagte mir am Ende des Tutoriums, dass er nun verstanden hat, was die Profs versuchten ihm beizubringen.
Ich habe dieses C-Tutorium 3 Semester lang gemacht, jede Gruppe hatte einen anderen Prof, teilweise fähige Leute, trotzdem wußte keine der Gruppen ihr Wissen einzuordnen. Alle hatten mystische Vorstellungen von Objekten, die in einer großen schwarzen Box (Computer) schwebten und von einer Art Poststelle, die Nachrichten austauscht.Darum beginne ich lieber bei der Maschine und gehe dann weiter zu den höheren Konzepten, wobei die Leute auch verstehen, warum die Konzepte besser sind. Ansonsten bekommt man Knalltüten, die glauben, dass UML die Programmiersprache der Zukunft ist oder programmieren in Zukunft nur noch bedeutet "geilen 3D Ego-Shooter programmieren" ins Mikrophon zu sprechen.
Die Knalltüten sind meistens auch die Leute, die mir dann sagen, dass ich keinen Plan habe. Das kann ich ganz gut wegstecken.
Ich gehe mal davon aus, dass Du keine derartige Knalltüte bist und wenn deswegen Dein guter Eindruck von mir verfällt, so freut mich doch, dass es eine Zeit gab, in der Du einen guten Eindruck hattest. ;-D
-
Hört sich ja alles schön und gut an, aber meine persönliche Meinung ( und die von anderen Forenmitgliedern hier bestimmt auch ) ist es nicht mit C vor C++ zu beginnen.
Wenn man ehe danach C++ lernen will, könnte der C-Style einem den Code in C++ versauen. Wenn man mit C++ von Null anfängt, dann bekommt man auch alles von C-Strukturen aus C++ mit.
Ich habe noch nie ein C-Buch/Tutorial gelesen, trotzdem verstehe ich jeden C-Code und könnte auch selber in C programmieren.
Wenn ich mit C angefangen hätte, würde es mir schwerer fallen mich auf C++ einzustellen und die "C++ Konzepte" zu lernen.
Mit C anfangen -> C++ lernen
Mit C++ anfangen -> C verstehenNaja jeder sollte die für sich beste Methode auswählen, um sein Ziel zu erreichen und wenn du mit deinem Methoden Erfolg hast, dann sag ich dagegen auch nichts
( nur das ich es nicht so machen würde
).
-
KasF schrieb:
Hört sich ja alles schön und gut an, aber meine persönliche Meinung ( und die von anderen Forenmitgliedern hier bestimmt auch ) ist es nicht mit C vor C++ zu beginnen.
Und...?
Viele Leute lesen auch die Bildzeitung.
Die subjektive Meinung anderer ist doch kein Kriterium für meine subjektive Meinung. Anhand meiner Erfahrungen komme ich zu dem Schluss, dass Programmierung ein evolutionärer Prozess ist, den man als Programmierer nachvollziehen muss. Und das Funktioniert am besten so, wie er nunmal stattgefunden hat.KasF schrieb:
Wenn ich mit C angefangen hätte, würde es mir schwerer fallen mich auf C++ einzustellen und die "C++ Konzepte" zu lernen.
Mit C anfangen -> C++ lernen
Mit C++ anfangen -> C verstehenAls Pilot sollte ich erst den A380 fliegen und dann verstehe ich auch, wie ein Sportflugzeug funktioniert.
Ich fahre zuerst die Regatta und dann verstehe ich, wie man auf'm Baggersee eine Nußschale bewegt.
Ich mache erst den Führerschein für Schwertransporter, dann verstehe ich auch so, wie man einen PKW fährt.Ich bin Sporttaucher. Als Anfänger sollte man erstmal Bergungstauchgänge in 40m tief gelegenen Höhlen machen. Dann versteht man auch, wie man in 5 Metern Tiefe taucht.
Aus irgendeinem Grund tastet man sich bei den anderen Elementen vorsichtig vor, Schritt für Schritt. Bei der Informationsverarbeitung herrscht die Meinung vor, dass ein Sprung ins kalte Wasser eine gute Idee ist und gibt sich gleich das volle Programm.
Auf YouTube sah ich gestern ein alternatives "Ende" einer solchen Taucher-Geschichte. Ein Kurzfilm: Absprung Boot bis Tod waren 6 Minuten, wenn ich mich recht entsinne. Die Kamera hat's überlebt.
Genauso, wie ich es vermeiden würde, einen Anfänger bei einen schweren Tauchgang als Buddy zu haben, würde ich vermeiden, jemanden im Team zu haben, der OOP kann, aber nicht in der Lage ist, ohne OOP sauber zu arbeiten.
Ich schreibe meine Algorithmen jetzt bevorzugt generisch. Zuvor habe ich mich mit Basic, Assembler und C versaut.
Seit 21 Jahren programmiere ich, grade mal 9 Jahre davon in C++.
Was den C-Style angeht: Ich habe vor C++ OOP in C programmiert und mir dann ein Buch über C++ gekauft. Dort las ich dann, dass es für meinen C-Style in C++ passende Schlüsselwörter gibt.Was das Umstellen angeht: C ist in C++ enthalten. Konzepte, die man in C gelernt hat, werden in C++ nicht falsch, nur weil C++ alternative Konzepte anbietet.
KasF schrieb:
Naja jeder sollte die für sich beste Methode auswählen, um sein Ziel zu erreichen und wenn du mit deinem Methoden Erfolg hast, dann sag ich dagegen auch nichts
( nur das ich es nicht so machen würde
).Welche Methode für einen Anfänger am Besten ist, muss er entscheiden anhand der Informationen, die er von Menschen bekommt, die einen großen Überblick haben. Die Menschen mit dem großen Überblick vergessen dabei, dass sie sich den über Jahre angeeignet haben.
Mein erster Versuch C zu lernen scheiterte daran, dass ich den Compiler nicht überredet bekam, meinen Sourcecode zu kompilieren. Ich weiß nicht, ob der Code Fehler hatte, der Compiler verstand mich nicht und begann gar nicht erst zu kompilieren.
Bei dem Level starten die meisten.