von Null auf Hundert - Wie lerne ich programmieren
-
Hallöchen,
seit ein paar Wochen beschäftige ich mich damit, Bücher und Material zu beschaffen, die mir das programmieren in c++, WinApi und DirectX näher bringen sollen. Aber beim lesen dieser Bücher werde ich das Gefühl nicht los, planlos einfach drauf los zu lernen,manche Themen sofort zu verstehen und bei manch anderen wiederum völlige Aussichtslosigkeit auf Lernerfolg zu verspüren(z.b. Thema COM). Mag ja sein, dass es scho zu spät ist in meinem Alter damit anzufangen (41 ) aber selbst meine Oma ging mit 78 noch studieren ..Da ich ein absoluter Spielefan bin, ahbe ich mir zum Ziel gesetzt, eines Tages ein einfaches 2d DirectX Spiel auf die Beine zu stellen. Aber wie? Da lernt man ein paar Wochen c++, und plötzlich wird man in einem Buch welches Windows und DIrectX Programmierung abhandelt mit c konfrontiert, obwohl überall die Rede davon ist, c++ sei eine Weiterentwicklung von c. Da frage ich mich wieso noch soviel c verwendet wird? Also heissts wohl auch c lernen, um Spiele zu programmieren?
Naja zum eigentlichen Thema zurück. Mich würde mal die Erfahrung der "Profis" hier interessieren, am liebsten auch von solchen, die erst "später" damit begannen, eine Programmiersprache zu erlernen und dies ohne jegliche (fach)schulische/UNI geschafft haben. Wie seid ihr vorgegangen, welche Bücher habt ihr gelesen, nach welchem Lernplan seid ihr vorgegangen(oder gar planlos wie ich im moment?), wie lange habt ihr gebraucht, um halbwegs programmieren zu können. Zu welchem Plan würdet ihr mir raten?
Ich hoffe euch nicht überfordert zu habenmfg
Bernhard
-
c++ ist keine Weiterentwicklung von c sondern ermöglicht eine andere Art der Programmierung (Objektorientiert).
Ich würde erst mal c lernen (bzw. c++ und die Objekte erst mal weg lassen) um überhaupt ein Verständniss fürs Programmieren zu bekommen. Dann erst mal Konsolenanwendungen schreiben und lernen Probleme in ein Programm umzusetzen.
d.h. nicht alles auf Einmal lernen wollen sondern erst einmal eine Programmiersprache einigermaßen beherrschen und dann die Spezialitäten wie WinApi und Directx angehen.
-
Ich würde mir "Die C++ Programmiersprache" kaufen: Das Buch ist wunderbar aufgebaut und man gerät kaum in Gefahr, zu C-lastig zu programmieren.
-
Allerdings ist es für Anfänger auch nicht allzu gut geeignet, für die wäre Shades Tutorial viel besser: http://www.schornboeck.net/ckurs/index.htm
-
Hi!
Original erstellt von <Bernhard>:
Hallöchen,
seit ein paar Wochen beschäftige ich mich damit, Bücher und Material zu beschaffen, die mir das programmieren in c++, WinApi und DirectX näher bringen sollen. Aber beim lesen dieser Bücher werde ich das Gefühl nicht los, planlos einfach drauf los zu lernen,manche Themen sofort zu verstehen und bei manch anderen wiederum völlige Aussichtslosigkeit auf Lernerfolg zu verspüren(z.b. Thema COM). Mag ja sein, dass es scho zu spät ist in meinem Alter damit anzufangen.Also C++ ist keine Programmiersprache, die man auf 'einer A****-backe lernt'.
Um mit C++, winAPI(C), COM und DirectX vernünftig klar zu kommen, musst Du mit zwei Jahren rechnen. Und Manche lernen es nie... IMHO hat Alter nicht direkt mit den Verlust kognitiven Fähigkeiten zu tun, sondern der Zwang im späteren Lebensabschnitten stetig zu lernen. Der Geist ist wie ein Muskel - wenn er nicht trainiert wird, verkümmert er!Original erstellt von <Bernhard>:
Mich würde mal die Erfahrung der "Profis" hier interessieren, am liebsten auch von solchen, die erst "später" damit begannen, eine Programmiersprache zu erlernen und dies ohne jegliche (fach)schulische/UNI geschafft haben. Wie seid ihr vorgegangen, welche Bücher habt ihr gelesen, nach welchem Lernplan seid ihr vorgegangen(oder gar planlos wie ich im moment?), wie lange habt ihr gebraucht, um halbwegs programmieren zu können. Zu welchem Plan würdet ihr mir raten?
...- Fachzeitschriften
- Internet
- Software besorgen. Und dann erstmal versagen, wie jeder Mensch, der regelmässig an seine Grenzen geht.
- Was muss man lernen, um Erfolg zu haben? Wie schnell kann ich es lernen? Wie wahrscheinlich ist dann der Erfolg?
- Literatur besorgen
- Etappenziele stecken
- Vergleiche suchen - Wie gut bin ich wirklich?
- Das Erlernte verbessern und vertiefen.
Niemals rosten und niemals zufrieden sein!
== Denksterotypen ==
Tutorial minding:
Die Suche nach kleinen Kursen die Schritt für Schritt konzentriert abgearbeitet werden.Refernce minding:
Das Gedächnis bildet eine riesige *Pointer-Map*. Ich habe ein Artikel oder Buch gelesen... Ein Post im Internet gefunden... Ein Progamm geschieben... und schaut dann nach.Nutshell minding:
Crashkursmentalität - Man lässt gezielt Schritte aus und hofft auf seine Intuition und Erfahrung.Guru minding:
Man versucht alles Erdenkliche über ein sehr kleines Fachgebiet zu erfahren.Study minding:
Man erlernt Alles auf einen sehr hohen Abstraktionslevel und versucht erst bei Bedarf die praktischen Hintergründe zu erarbeiten.cu
P84
[ Dieser Beitrag wurde am 06.04.2003 um 15:16 Uhr von Prof84 editiert. ]
-
Original erstellt von Prof84:
IMHO hat Alter nicht direkt mit den Verlust kognitiven Fähigkeiten zu tun, sondern der Zwang im späteren Lebensabschnitten stetig zu lernen. Der Geist ist wie ein Muskel - wenn er nicht trainiert wird, verkümmert er!jo, das einzige, was im alter nervt, sind die umstände.. neben arbeit und lebensunterhalt bleibt meist wenig zeit.
aber wir wissen, warum wir lernen, das ist viel wert.
da gibts keine ausreden wie: "der lehrer will es", oder "der lehrer ist doof", ebenso gibt es keine "schlechten profs"...
nein, ich will es, und wenn irgend ein "unterrichtender" nicht meinem stil passt (seis ein kumpel oder ein kurs), muss ich eben ein buch nehmen
-
Bei Reference fehlt das "e", sonst auch didaktischer Blödsinn .
Wenn jemand alles mit ein paar englischen Schlagwörtern ("Fluff producing") kategorisiert, dann sollte man sofort wegblenden.Am Anfang braucht man gute Skripte, die Schritt für Schritt praktisch vorangehen und möglichst gut die wesentlichen Zusammenhänge aufzeigen.
Da gibt es eine ganze Menge (siehe meine "Links").Bezüglich COM verweise ich auf mein eigenes Kapitel:
http://www.henkessoft.de/mfc_einsteigerbuch_kapitel15.htm
-
aber bevor winapi oder mfc oder sonstiges:
c++ standard lernen. denke keiner wird dem widersprechen!
-
c++ standart
-
öhm.. na ja.. c++ hat was mit kunst zu tun
-
Hm, da widersprech ich dir elise
Erst C Standard lernen. Sonst macht WinAPI nämlich überhaupt keinen Spass :p
(naja, C darf natürlich auch als Untermenge von C++ gelernt werden, aber das werden wohl die wenigsten machen)
-
Original erstellt von sarfuan:
Hm, da widersprech ich dir elise
Erst C Standard lernen. Sonst macht WinAPI nämlich überhaupt keinen Spass :p
(naja, C darf natürlich auch als Untermenge von C++ gelernt werden, aber das werden wohl die wenigsten machen)ok, winapi muss man c können .. *g*
aber auf keinen mit mfc oder winapi anfangen.. meine meinung
(wie lange gibt es mfc denn eigentlich noch? *duck*)
-
Original erstellt von sarfuan:
Sonst macht WinAPI nämlich überhaupt keinen Spass :p[flame]WinAPI mach keinem gesunden Menschen Spaß.[/flame]
Es ist IMO definitiv nicht sinnvoll nur wegen dem WinAPI C zu lernen, guten wirklich guten C-Programmierern stellt es beim WinAPI wohl sowieso alles auf...[ Dieser Beitrag wurde am 06.04.2003 um 21:06 Uhr von nman editiert. ]
-
Original erstellt von nman:
[flame]WinAPI mach keinem gesunden Menschen Spaß.[/flame]Doch, mir schon! Ich freue mich immer wieder auf's Neue über meine Codes.
-
c++
ist wie mathe.
ein 1. klässler kann eins und eins zusammenrechnen
und einer kurz vorm abi kann dir die aufenthaltsw*****einlichkeit
von freien parkplätzen in leipzig berechnen.genauso verhält es sich mit c++.
es gibt zwar einen anfang aber kein ende, sprich es ist alles möglich.ich würde schon sagen, dass c++ eine weiterentwicklung con c ist
(um sonst ist des ++ ja net da) was aber nicht heißt dass es besser ist.es gibt dir die möglichkeit einen sauberen stil in deinen quelltext zu bringen.
und auch sonst ist die oop relativ gut.ich selbst bin schon seit geraumer zeit im lernen und nehme mir immer neue ziele vor. sehr gut hat mir das heft "c++ für einsteiger" von www.knowware.de
gefallen. das geht (auf sehr gutverständlichem niveau) vom grund der konsolenanwendung bis zur winapi und macht lust auf mehr.mfg Odo
-
Original erstellt von <Odo>:
ich würde schon sagen, dass c++ eine weiterentwicklung con c istSo sollte es aber IMHO nicht verstanden werden!
-
Original erstellt von nman:
guten wirklich guten C-Programmierern stellt es beim WinAPI wohl sowieso alles auf...
[/QB]Das stimmt wohl. Nur es ist noch besser als wenn man als C++ Programmierer sowas zusammengeschustertes wie MFC sieht. Da stellts einem mehr als nur die Haare auf. Zumindest kriegt man davon noch Fußpilz, wenn icht sogar nen Tumor.
Lies dir den Petzhold durch - bezogen auf WinAPI wenn ich mich recht erinnere:
"Windows is like a bitch - you can use it, but never understand" oder so ählich.Zum Thema zuerst C oder Cpp:
Ich würde als Neuling mit Cpp anfangen, da ich es nach über 11 Jahren rein Prozeduraler Programmierung in z.B. Pascal, ASM, Cobol... sehr schwer hatte, hinter diese eigenartige Logik des OOP zu steigen. Also besser von Anfang an.
-
hallo,
erstmal danke für die vielen nützlichen und weniger nützlichen Antworten .
Eine Frage brennt mir noch auf dem Herzen, könnte ich auch mit c# einsteigen und damit eines Tages ein Spiel mit DirectX schreiben?MFG
Bernhard
-
SnorreDev: Und, hast du die OOP jetzt verstanden? Ich werde wohl noch in 10 Jahren damit kämpfen ...
-
@Bashar: Naja - das meiste habe ich verstanden von der OOP. Aber es hapert ab und zu bei der Umsetzung - deshalb hab ich mir auch ein Buch über Design Patterns geholt. Aber wenn ich seh, daß etwas prozedural 10 Zeilen braucht, und daß ich bei OOP 50 Zeilen schreiben müßte - dann mach ichs halt wieder rein in C.
Ich kämpfe jetzt aber auch schon ca 3 Jahre damit. Aber es wird wöchentlich besser. Ist halt wie immer - wenn man einen Source von vor 4 Monaten sieht - denkt man sich manchmal - man ... was hab ich denn da verbrochen.
@Bernhard: Ja - du kannst mit C# anfangen, und DirectX Programmieren. Ich würde aber eher zu C++ Tendieren, denn wenn du das kannst, ist keine andere Programmiersprache mehr ein problem zu lernen.