# Ich möchte C++ lernen.



## deRopA (16. Februar 2016)

*Ich möchte C++ lernen.*

Moin,
ich würde gerne C++ lernen, ich hatte nie irgendwas mit C++ zu tun jedoch hatte ich schon was mit HTML und CSS zu tun.
Ich bin auch nicht "bescheuert" und denke selbständig. Ich kann einfache Internetseiten schreiben mit Notepad++ keine Programme hab noch nie eins benutzt.

Ich würde gerne C++ in UnrealEngine4 benutzen. Es soll ein First Person Shooter werden und ich möchte alles selber lernen und schreiben. Bin zurzeit 21 Jahre alt und hab noch viel Zeit dafür 

Ich suche nach einem Buch da man sich besser konzentrieren kann somit auch lerne ich persönlich besser. Am besten lerne ich wenn ich selbst was nachmache, so hab ich auch HTML und CSS gelernt. Jemand beschreibt wie man eine Internetseite schreibt, erklärt wo was macht somit lerne ich sehr gut und effektiv.

Ich kann für ein Buch bis 150€ bezahlen, soll auch kein Müll sein sondern wirklich was gutes. Ein "Lehrer" wäre auch super


----------



## Laudian (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Also ich benutze dieses Buch: http:// www.amazon. de/Lernen-professionell-anwenden-mitp-Professional/dp/3958450288/ref=sr_1_1?ie=UTF8&qid=1455581264&sr=8-1&keywords=c%2B%2B+lernen+kirch

Und dazu dieses "Übungsbuch": http:// www.amazon. de/Das-%C3%9Cbungsbuch-Testfragen-Aufgaben-Professional/dp/3826694554/ref=pd_bxgy_14_2?ie=UTF8&refRID=0RVG08R0VCB58RZXWJ17

Gefallen mir auch beide recht gut, hab aber auch kaum Vergleichsmöglichkeiten.

Kleiner Tip:
Setze dir kleine Ziele. Ein Spiel in der UE4 zu programmieren ist doch etwas sehr sehr langfristiges. Kleine Zwischenziele sind gut zur Motivation.
Aktuell gibt es diese Website:
http://adventofcode. com/

Ist zwar offiziell eine Adventsseite, sind aber im Prinzip einfach nur weihnachtlich gestaltete Programmierrätsel. Sobald du die Basics von C++ gelernt hast, kannst du dich mit sowas ja mal auseinandersetzen.
Macht wie ich finde durchaus Spaß 

Es gibt gerade irgendeinen Bug in Verbindung mit Links, deswegen musste ich leider haufenweise Leerzeichen in die Links reinhauen.


----------



## MountyMAX (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Uff, also css und html sind keine Programmiersprachen. Bevor du dich auf so ein Schwergewicht wie Spieleprogrammierung mit c++ stürzt (ganz zu schweigen von dem ganzen mathematischen Kram) , solltest du mit den Grundlagen der Programmierung beginnen. Danach OOP.


----------



## taks (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Da du weder mit Programmiersprachen noch mit Entwicklungsumgebungen vertraut bist würde ich am Anfang eher zu C# oder Java greifen.
Das macht den Einstieg einfach und wenn du die Grundlagen beherrscht würde ich dann mit C++ arbeiten.
Und danach dann mal die UnrealEngine anschauen ^^


----------



## yingtao (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Die Frage ist erstmal was genau du mit C++ anfangen willst. Um ein FPS zu bauen reicht der normale UE4 Editor aus. Levelgeometrie kannst du im Editor erstellen, Skripte kannst du im Editor erstellen und später könnte man den nächsten Schritt gehen und das ganze in anderen Programmen erstellen und nur in die UE4 importieren. C++ brauchst du erst danach, wenn du noch weitere Funktionen zur UE4 hinzufügen willst was dann schon sehr fortgeschrittenes Zeug ist. Ich würde auch eher mit einer Skriptsprache wie Java anfangen um schneller die Grundlagen zu erlernen und dann später wechseln. Lieber erstmal klein anfangen anstatt sich direkt auf ein riesen Projekt zu stürzen und genau überlegen was du am Ende erreichen willst. Willst du Spiele designen, Level erstellen, Skripte erstellen, dich mit Grafikeffekten und Rendering beschäftigen oder das darunterliegende Gerüst bauen. Du darfst nicht denken das du C++ lernst um am Ende Spiele zu entwickeln weil da einfach alle Teile zu gehören. Wenn du C++ kannst erstellst du Programme/Werkzeuge mit denen andere Leute dann ihren Teil der Spieleentwicklung machen.


----------



## Goldini50 (16. Februar 2016)

*AW: Ich möchte C++ lernen.*



yingtao schrieb:


> Ich würde auch eher mit einer Skriptsprache wie Java anfangen um schneller die Grundlagen zu erlernen und dann später wechseln.



Seit wann ist Java eine Scriptsprache ? >


----------



## lowskill (16. Februar 2016)

*AW: Ich möchte C++ lernen.*



yingtao schrieb:


> Skriptsprache wie Java






			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.


----------



## keinnick (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Vielleicht meinte er "JavaScript".


----------



## Malkolm (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Als Einwurf nochmal ein Buchvorschlag: "C++ Primer" von Lippman, Lajoie & Moo. Gibts mitlerweile in der 5. Edition und covert eigentlich alles, von der Grundlagen bis Multithreading.


----------



## nonamez78 (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Besonders bei C++ muss man aufpassen wie tief man einsteigt. Für mich ist C++ beruflich nicht wegzudenken, allerdings kann man auch mich schnell mal verwirren, weil die Formulierung die Musik macht. Ein typisches Einsteiger Buch, welches alles mal anreisst und schnell zum Ergebnis kommt ist aber genauso kontraproduktiv, da man beim lesen fertiger Quelltexte direkt mit dem Stuhl nach hinten umfällt (da reicht meist schon ein Blick in die Sourcen der Standard Libraries, und ein frischer Wissender merkt wieviel Lücken er doch hat ). Richtig schöne Schocker kann der Erfinder von C++ (Bjarne Stroustrup) liefern, seine Bücher würde ich aufgrund der komplexen Art zu Schreiben meiden.

Einem Bekannten habe ich vor Monaten dieses Buch empfohlen: Der C++-Programmierer: C++ lernen - professionell anwenden - Losungen nutzen: Amazon.de: Ulrich Breymann: Bucher

Hier geht es auch gut vorwärts, ein paar Vorkenntnisse können sich nicht schaden, aber es werden auch Dinge genannt (GUI Programmierung in Qt, oder auch Netzwerke), die man in Stroustrup "Romanen" nicht findet, weil nach 1500 Seiten einfach kein Platz mehr ist  (nicht falsch verstehen, ich lese schon aus Respekt vor dem Autor alles was ich in die Finger bekomme, aber er ist auf seine Art etwas speziell).

Edit:
dein einleitenden Text habe ich nochmals gelesen. Bevor man eine Engine effektiv nutzen kann, werden "Jahre" vergehen. C++ ist kein PHP oder Javascript, welches man in 2 Wochen gut nutzen kann. Auch mit Java kommt man gut vorwärts, aber C++ ist durch seine extrem umfangreichen Möglichkeiten und Konzepte einfach "anders". Zusätzlich wirst du sehr gute Mathe Kenntnisse brauchen. Eine Engine allein macht auch noch kein Bild, dafür braucht es dann wiederum grafische Fähigkeiten.


----------



## TollerHecht (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Der TE möchte also mal auf die "Schnelle" programmieren lernen und direkt ein Spiel in der UE4 erstellen. Alles klar, hoffe du hast die nächsten fünf Jahre nichts vor bis du einigermaßen etwas verstanden hast.


----------



## Laudian (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Naja, der TE scheint sich der Aufgabe ja bewusst zu sein, wenn er im Öffnungspost schreibt "Ich habe ja noch einige Jahre Zeit".

Es ist auf jeden Fall einiges zu lernen... C++, eine Grafikschnittstelle (DirectX / OpenGL), Netzwerkprotokolle (TCP, UDP...), Windows APIs...

Und dann muss man natürlich auch noch Grafiken / Sounds selbst zeichnen / aufnehmen. Es gibt Leute, die das alles können, aber das ist definitiv nichts, was man in 1-2 Jahren lernt ^^


----------



## MountyMAX (16. Februar 2016)

*AW: Ich möchte C++ lernen.*

Hmm, damit du schnell Erfolge erziehlst kannst du ja erst mal mit was deutschen einfachen anfangen. Mit clickexe.de (click.exe 2.0 ist Freeware, aber kann ich nicht mehr empfehlen, lieber die Testversion der 4.0 nehmen) bekommst du zumindest erst mal eine Art Grundverständnis für z.B. Schleifen, if/then/else usw. musst dich aber um keinerlei Syntax kümmern und hast in "5 min" dein erstes lauffähiges Programm ohne Frust.

Zugegeben, ich bin etwas voreingenommen, da ich dort seit fast 15 Jahren im Supportteam bin. Ich für meinen Teil hatte damit viel Spass als Einsteiger und selbst heute mache ich kleine Sachen noch gerne damit, weil es sehr schnell geht. Ich bin danach kurz zu vb und dann weiter zu c++ ... und wenn du halbwegs mit c++ zurecht kommst, kannst du quasi PHP und C# auch, da die Unterschiede relativ gering sind. Beim Design hilft dir dann übrigens dein CSS etwas, da XAML welches du für die WPF Elemente benötigst, in vielen Punkten ähnlich ist.

Untern Strich ist Programmieren heutzutage aber deutlich leichter dank .NET, wenn ich daran denke wie umständlich die MFC mit vc++ 6 war .. brrr


----------



## deRopA (17. Februar 2016)

*AW: Ich möchte C++ lernen.*

Also ich dachte ich kaufe mir Sounds Packs 
Da sind schön die Sounds drin und die sind nicht schlecht, aber wenn ich mir noch so überlege das ich noch das Menü machen muss.. irgendwie den Lag verringern... da wird mir schwer meine Speichel zu schlucken.


----------



## TollerHecht (17. Februar 2016)

*AW: Ich möchte C++ lernen.*

Kenne keinen Programmierer der nebenbei mit Photoshop unterwegs ist und Layouts erstellen kann. Dafür ist Programmieren viel zu mathematisch, und Mediendesign eben etwas kreatives. Vor allem können die meisten Medienleute kein Mathe, und daher auch nicht programmieren, spreche aus eigener Erfahrung  (Medientechnologe)


----------



## Goldini50 (18. Februar 2016)

*AW: Ich möchte C++ lernen.*

Willst du damit sagen das Programmierer nicht kreativ sein können. Wenn ich unsere Programmierer hier frage sagen die meisten das der kreative Aspekt eine weit aus größere Rolle spielt als der mathematische um Problemlösungen zu finden.

EDIT : 




TollerHecht schrieb:


> Kenne keinen Programmierer der nebenbei mit Photoshop unterwegs ist und Layouts erstellen kann.


Indie Entwickler ?!?


----------



## lepathie (18. Februar 2016)

*AW: Ich möchte C++ lernen.*



TollerHecht schrieb:


> Kenne keinen Programmierer der nebenbei mit Photoshop unterwegs ist und Layouts erstellen kann. Dafür ist Programmieren viel zu mathematisch, und Mediendesign eben etwas kreatives. Vor allem können die meisten Medienleute kein Mathe, und daher auch nicht programmieren, spreche aus eigener Erfahrung  (Medientechnologe)



Mach ich irgendetwas falsch? Interessiere mich stark für Design + IT


----------



## deRopA (18. Februar 2016)

*AW: Ich möchte C++ lernen.*



Goldini50 schrieb:


> das der kreative Aspekt eine weit aus größere Rolle spielt als der mathematische um Problemlösungen zu finden.



Dann kommt so eine Engine wie die von COD mit 133ms lag on Splitscreen.


----------



## taks (18. Februar 2016)

*AW: Ich möchte C++ lernen.*



Goldini50 schrieb:


> Willst du damit sagen das Programmierer nicht kreativ sein können. Wenn ich unsere Programmierer hier frage sagen die meisten das der kreative Aspekt eine weit aus größere Rolle spielt als der mathematische um Problemlösungen zu finden.



Kommt halt drauf an was man macht. 
Für eine Physik-Engine braucht man recht gute mathematische Kenntnisse, für anderes eben wieder eher kreative Fähigkeiten.


----------



## Goldini50 (19. Februar 2016)

*AW: Ich möchte C++ lernen.*

Das mag ja alles sein, aber allein schon um einen "unkomplizierten" Lösungsweg zu finden braucht man nicht nur das wissen wie man es löst - man braucht auch Kreativität um erstmal auf die Idee zu kommen ... da kann mir einer sagen was er will


----------



## aloha84 (19. Februar 2016)

*AW: Ich möchte C++ lernen.*

"Crashday": Die ganze Jugend für ein Spiel - SPIEGEL ONLINE
Mit dem netten Typen habe ich Zivi gemacht.
Der Erfahrungsbericht ist zwar relativ kurz gefasst, zeigt aber sehr deutlich wie lange es dauern kann bis etwas "spielbares"dabei rauskommt!


----------



## kelevra (19. Februar 2016)

*AW: Ich möchte C++ lernen.*

Unabhängig von der Tatsache, dass das erlernen von C++ einige Jahre in Anspruch nimmt, sodass man es produktiv einsetzen kann, will auch der Umgang mit der Engine gelernt sein. Ich arbeite mich selbst seit einem halben Jahr in die UE4 ein und arbeite erstmal mit den Blueprints. Das nimmt auch schon einiges an Zeit in Anspruch, vor Allem wenn man es neben einem Vollzeit Job macht und beruflich aus einer völlig anderen Ecke kommt.

Als Tipp von mir: Am Anfang kleine Brötchen backen und erstmal kleinere Sachen programmieren und bauen um die Werkzeuge kennen zu lernen. Und vor Allem viele Fehler machen, aus denen man lernen kann.


----------



## taks (19. Februar 2016)

*AW: Ich möchte C++ lernen.*



Goldini50 schrieb:


> Das mag ja alles sein, aber allein schon um einen "unkomplizierten" Lösungsweg zu finden braucht man nicht nur das wissen wie man es löst - man braucht auch Kreativität um erstmal auf die Idee zu kommen ... da kann mir einer sagen was er will




Schonmal was von Patterns gehört?


----------



## Goldini50 (19. Februar 2016)

*AW: Ich möchte C++ lernen.*

Ja, aber nicht im Zuammenhang mit dem finden von Lösungswegen ^^


----------



## taks (19. Februar 2016)

*AW: Ich möchte C++ lernen.*

Ah, jetzt weiss ich was du meinst 
Da hilft meist ein Bier ^^


----------



## nitg (24. Februar 2016)

*AW: Ich möchte C++ lernen.*

Kauf dir ein Buch 
Sorry, das musste jetzt unbedingt sein, wollte das auch mal gesagt haben :p


----------



## lowskill (24. Februar 2016)

*AW: Ich möchte C++ lernen.*

Wie hilfreich, nachdem er bereits im ersten Beitrag nach einer Buchempfehlung gefragt hat.


----------



## nonamez78 (25. Februar 2016)

*AW: Ich möchte C++ lernen.*

Von mir hat er eine bekommen, aber auf mich hört ja keiner


----------



## Zeiss (26. Februar 2016)

*AW: Ich möchte C++ lernen.*



taks schrieb:


> Da du weder mit Programmiersprachen noch mit  Entwicklungsumgebungen vertraut bist würde ich am Anfang eher zu C# oder  Java greifen.



Weil???

@TE: Eine Buchempfehlung habe ich nicht, sorry. Aber, fang mit kleinen Sachen an (Hello World), Schach, Vier gewinnt und sowas. So siehst Du erste Fortschritte und Frustfaktor bleibt im Rahmen. Versteh was eine Schleife (kopf- und fußgesteuert), eine Verzweigung ist. Dann kommen Klassen, Eigenschaften und Methoden, Klassenhierarchie, Vererbung, Ableitung und etc. Wenn Du das wirklich verstanden und verinnerlicht hast, bist Du auf dem guten Weg. Mit C++ hast Du Dir nicht gerade die einfache Programmiersprache ausgesucht, aber sie macht Spaß. Von allen Sprachen, die ich kann, mag ich C/C++ am liebsten. Wenn Du da wirklich fit bist, würde ich in Richtung UE4 schauen, aber definitiv nicht davor!!!


----------

