C++ Vorwissen benötigt? Soll ich damit anfangen?

Tendor

Cadet 4th Year
Registriert
Jan. 2008
Beiträge
122
Hi!
In den vergangenen Monaten habe ich mich immer mehr in die Indie-Games-Community eingelebt und der Drang, mal selbst etwas auf die Beine zu stellen, wird immer größer. Bisher war ich nur künstlerisch bzw. musikalisch betätigt und habe keine einzige Zeile programmiert. Wie denn auch? Ich habe von der anscheinend in dieser Community am meisten verwendeten Sprache C++ keinen blassen Schimmer.

Meine Vorerfahrung ist relativ begrenzt. Die letzten Jahre habe ich mich aufgrund der Schule mit Turbo Pascal und Delphi beschäftigen müssen (was ich bei Delphi immer noch mache), was von C++ anscheinend doch sehr weit entfernt ist. Zusätzlich beschränkte sich die Anwendung der Sprachen meist auf das Lösen mathematischer Probleme. Klassiker wie das Acht-Dame-Problem oder die Türme von Hanoi kennt wohl jeder hier. Ich denke aber, dass ich behaupten kann, doch einen guten Überblick darüber erhalten zu haben, wie denn so ein Programm funktioniert und aufgebaut ist. Wirkliche Verständnisprobleme beim Programmieren hatte ich bisher nicht. Bei der Anzahl von Computerlegasthenikern in den Kursen in der Schule nahm meist eher die Langeweile überhand. :D

Nun besteht meine frage darin, ob ich überhaupt C++ anfangen soll oder ob irgendein vorwissen nötig ist. Da bald die letzten LK-Klausuren für dieses Jahr geschrieben werden, hätte ich zumindest genügend Zeit, um mich damit zu beschäftigen. Die Motivation ist da und genügend gute englische Quellen für den Einstieg habe ich auch schon ausfindig gemacht.

Ich bitte um euren Rat, ob dieses Vorhaben des Sprungs ins mehr oder minder kalte Wasser erfolg haben wird.

MFG
Tendor
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Grundsätzlich kann man mit jeder Programmiersprache anfangen - ich bin der Meinung, es gibt vielleicht bessere Sprachen als C++ dafür, aber im Grunde liegt es immer an einem selbst, wie viel man sich reinhängt.

Ich finde halt bei C++ kommt man oft nicht so schnell ans Ziel wie mit manch anderer modernen OOP-Sprache (C#, Java, VB.net, evtl sogar Delphi), aber andererseits ist es für große Projekte, bei denen es auch auf die Performance ankommt, dann schon mal vorteilhaft...
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Au ja, eine neue Programmiersprachen-Schlacht. Ich bin Fürst von Zehplusplus. *duck* :D


Nein im Ernst, es gab in letzter Zeit unzählige Wortgefechte darüber, welche Programmiersprache wohl die beste sei.
Um genau das nicht nochmal vom Zaun zu brechen, will ich garnicht speziell die Vorzüge einer Programmiersprache aufzählen.

Generell machst du mit C/C++/C# erstmal nichts falsch, die Syntax ist nahezu die selbe, nur anders verpackt. Vor- und Nachteile findest du zu Hauf in den Threads hier im Forum.

Übrigens habe ich auch direkt mit C++ angefangen. Mit einer soliden Lektüre (von DVDs und online Tutorials halte ich nicht so viel) und einem gewissen Interesse ist man schnell drin.
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Hast du konkrete Empfehlungen zur Lektüre?

Mir geht es natürlich auch nicht darum einen Grundsatzkrieg zu den Programmiersprachen losbrechen zu lassen. Die Entscheidung zum Lernen von C++ fiel einfach dadurch, dass ich eine Programmiersprache lernen wollte, "von der alle Reden" und weil sie eben im Indie-Bereich vor allem in Verbindung mit dort (teilweise kostenlosen) sehr bekannten Engines genutzt werden. Mir stünden damit letztendlich viele Türchen offen.

P.S.: Bist du zufällig bei Gamestar unterwegs, Spartaner117?
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Öh...ich bin vielleicht noch angemeldet aber gepostet hab ich auf Gamestar nichts.

Ich habe "C++ für Spieleprogrammierer" im Regal stehen. Ein sehr gutes Buch, fängt wirklich bei Null an und geht bis in die Windowsprogrammierung und ein Spiel per SDL.
Dazu eine recht übersichtliche Aufteilung, so dass man später schnell wieder in ein spezielles Thema (zB STL Funktionen) reinkommt, ohne nach vorne und hinten zehn Seiten zu lesen um das Thema zu verstehen.
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Danke für den Tipp. Das Buch klingt nach einem guten Einstieg und wird wohl schön viel Zeit in Zukunft ausfüllen. :D
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Ich bin grade am überlegen welche Programiersprache ich lernen soll. Zuerst wollte ich ja JAVA lernen, aber ich habe grade in einem Artikel gelesen, das C++ den einstieg in andere Programiersprachen sehr erleichtert weshalb man erstmal C++ lernen sollte.

Ich finde das Buch macht einen guten Eindruck besonders weil es bei 0 anfängt. Ich hätte noch zwei Fragen dazu:

1. Sind viele Anwendungsbeispiele dabei, bei denen man sofort sehen kann was man mit seinem Programmcode bewirkt?

2. Ist man, wenn man das Buch durchgearbeitet hat, so fit, dass man ohne Probleme eingene Programme schreiben kann?
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Zu jedem Thema gibt es meistens mindestens ein Beispiel wie das Behandelte in einem Spiel umgesetzt sein könnte. Für die Grundlegenen Sachen ist das meistens garnicht nötig, aber es ist dann doch praktisch zu wissen, wo man z.B. Templates oder Singletons einsetzen soll.

Wie du das mit den Programmen meinst, versteh ich nicht so ganz. Ein Programm hast du nach den ersten paar Seiten geschrieben. Wenn du Windows-Anwendungen meinst, dafür sollte man schon ein wenig eingearbeitet sein, sonst verliert man schnell den Faden. Aber wenn du mit dem Buch durch bist sollest du auch das gut draufhaben.
 
Zuletzt bearbeitet:
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

wenn du noch in der schule bist frag doch mal euren informatiklehrer ob ihr nen MSDN AA account habt über den du eventuell umsonst das Visual Studio 2008 beziehen kannst (habt ihr mit sicherheit) das ist aktuell die beste entwicklungsumgebung.

wenn du die möglichket hast lad dir dazu direkt die MSDN library runter, in der gibt es zu JEDER c++ und C# (standard)-funktion beispielcode und anwendungsbeispiele.

ein sehr gutes kostenloses buch ist das galileo open book, hab grad den link nicht einfach mal googlen
 
Zuletzt bearbeitet:
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Spartaner117 schrieb:
Öh...ich bin vielleicht noch angemeldet aber gepostet hab ich auf Gamestar nichts.

Ich habe "C++ für Spieleprogrammierer" im Regal stehen. Ein sehr gutes Buch, fängt wirklich bei Null an und geht bis in die Windowsprogrammierung und ein Spiel per SDL.
Dazu eine recht übersichtliche Aufteilung, so dass man später schnell wieder in ein spezielles Thema (zB STL Funktionen) reinkommt, ohne nach vorne und hinten zehn Seiten zu lesen um das Thema zu verstehen.

So, ich besitze das Buch nun schon seit einigen Tagen und habe auch angefangen damit zu lernen. Ich habe auch direkt Visual C++ 6.0 von der CD installiert, trete aber auf ein eigenartiges Problem: Auch wenn der Programmcode richtig ist, stürzt das Programm häufig beim Kompilieren ab.

Das Programm bleibt einfach beim "Linker-Vorgang" hängen und reagiert nicht mehr. Den Vorgangn kann ich auch nicht abbrechen, da einfach nichts passiert. Ich muss dann immer per Taskmanager raus.

Ich kann versichern, dass der Quellcode dabei 100% korrekt ist. Wenn ich das Programm z.B. zum ersten Mal kompiliere, funktioniert es tadellos. Kompiliere ich es unverändert noch einmal, kann es auch da zu dem Absturz kommen. Woran kann das liegen?

@roi: Haben wir leider nicht. :(
 
AW: [C++] Vorwissen benötigt? Soll ich damit anfangen?

Ich würde ja empfehlen, gerade für die Anfänge einen anderen Compiler bzw IDE zu nehmen.
Am größten ist der Lerneffekt sicher ganz ohne IDE, vll mit einem Editor mit Syntaxhighlighting wie Notepad++. Und dazu vll MinGW. Als IDE könnte ich Code::Blocks empfehlen.

Außer das Buch bezieht sich direkt auf MS-VC++, kenne es nicht.
 
Als Programmiersprache zur Textverarbeitung habe ich in der Schule PERL kennen gelernt.
Finde ich ganz gut, und vor allem übersichtlich.
@ Backslash: Kann ich mit Notepad++ gleich programmieren?
Oder bzw. wozu brauche ich MinGW?
 
Ich antworte hier mal kurzerhand (Backslash möchte es mir verzeihen):
In Notepad++ kann du den Code schreiben. Dann hast du aber eine Datei, bei C++ meist mit der Endung .cpp, die du als solche speicherst (mit dieser Endung). MinGW dagegen ist ein Compiler, er "wandelt" also gewissermaßen die Datei, die du vorher geschrieben hast, in ausführbaren Maschinencode um, den "der Computer" dann ausführen kann.

Nehmen wir einfach mal schnell ein Hello-World-Programm:

#include <iostream>

unsing namespace std;

int main()

{

cout<<"Hello, Robert Alpha!"<<endl;

}

Dies würdest du z. B. in Notepad++ schreiben. Dann kannst du über die Kommandozeile das ganze kompilieren, z. B. heißt unsere Datei test.cpp:
g++ test.cpp -o test_prog.exe
Dann können wir test_prog.exe ausführen, siehe auch: http://www.mingw.org/wiki/MinGWforFirstTimeUsers

Wenn du z. B. Code::Blocks verwendest und das richtig konfigurierst (was oftmals automatisch richtig gemacht wird), musst du nur noch "auf einen Knopf drücken", um das ganze zu kompilieren, ein Editor ist integriert,

Hoffe dir geholfen zu haben.

Gruß,

badday
 
Vielen Dank, badday.

Brauche ich zum Programmieren also Notepad++ und entweder MinGW oder Code::Blocks, oder kann ich das alles mit Notepad++ machen? Und wie genau kompiliere ich den Text dann?

Mfg

Robert Alpha
 
Also der Reihe nach:
Notepad++ ist ein Editor, hier schreibst du also deinen Code.
MinGW ist ein Compiler, er wandelt also den Text in ausführbaren Code um.
Notepad++ alleine reicht somit nicht, du brauchst MinGW.
Code::Blocks ist eine IDE (dt.: Integrierte Entwicklungsumgebung), es bietet sozusagen eine einheitliche Oberfläche. Es "bringt" einen Editor mit, aber nicht unbedingt einen Compilier (wie z. B. MinGW). Allerdings kannst du dir Code::Blocks mit MinGW "auf einen Rutsch" runterladen und installieren, sodass du nicht mehr groß was machen brauchst. Du findest das hier: http://www.codeblocks.org/downloads/5
Bei der 2. Datei ist MinGW dabei.

Du kannst es dir ja mal installieren, und wenn es dann noch hakt meldest du dich einfach.

Gruß,

badday
 
Zurück
Oben