Anfängerfragen
-
Hallo,
ich würde gerne mit C++ anfangen und hätte ein paar Fragen:- Ich habe schon mit Eclipse und PHP, Python und etwas Java programmiert. Was haltet ihr von der IDE in Bezug auf CDT also dem Plugin für C++?
- Ich liebäugle mit dem Buch C++ für Spieleprogrammierer, da ich auch daran Hobbymässig interessiert bin und auch ein wenig Erfahrungen in kleiner Spieleprogrammierung in Assembler auf dem guten alten Amiga habe. Ist das Buch zu empfehlen?
- Wird es C++ noch ne Weile geben eurer Meinung nach, wenn ja warum? Ist zwar nicht so wichtig aber es interessiert mich halt.
- Was sind so die größten Fehler die man mit C++ machen kann?
G hibbes
-
hibbes schrieb:
- Ich habe schon mit Eclipse und PHP, Python und etwas Java programmiert. Was haltet ihr von der IDE in Bezug auf CDT also dem Plugin für C++?
Müll. Tu dir einen Gefallen und nutze Visual C++ 2010 Express.
hibbes schrieb:
- Ich liebäugle mit dem Buch C++ für Spieleprogrammierer, da ich auch daran Hobbymässig interessiert bin und auch ein wenig Erfahrungen in kleiner Spieleprogrammierung in Assembler auf dem guten alten Amiga habe. Ist das Buch zu empfehlen?
Für Anfänger absolut ungeeignet. Wenn du wirklich C++ lernen willst, dann wirst du mehrere Monate erst einmal mit der Sprache selbst arbeiten müssen ,ohne Spieleprogrammierung.
hibbes schrieb:
- Wird es C++ noch ne Weile geben eurer Meinung nach, wenn ja warum? Ist zwar nicht so wichtig aber es interessiert mich halt.
Wird es noch lange geben, aufgrund fehlender Alternative in diesem Bereich.
hibbes schrieb:
- Was sind so die größten Fehler die man mit C++ machen kann?
C++ mit C zu vermischen (wird häufig in schlechten C++-Büchern gelerht). Sich nicht genug mit der Sprache beschäftigen und sofort andere Themen erschließen (wie Spieleprogrammierung).
-
Danke für die ultraschnelle Antwort.
- Was für ein Buch wäre denn gut zum Lernen? Wenn es möglich ist auf deutsch da ich zwar auch ab und an englischen Foren lesen es aber für so komplizierte Sachverhalte zu anstrengend wäre.
- Ist denn die Sprache wirklich so schwer dass ich Monate brauchen werde um mal ein klitzekleines Spielchen(in Richtung SpaceInvaders) zu schreiben? Für andere Sprachen hatte ich so eine Woche rumprobiert bis ich was in meinen Augen was vernünftiges programmieren konnte. Die Feinheiten kamen dann dort halt erst mir größeren Projekten. Ok, da bin ich ja mal gespannt, ich will es auf jeden Fall halbwegs gut lernen und nicht nur huschi huschi.
G hibbes
-
hibbes schrieb:
Danke für die ultraschnelle Antwort.
- Was für ein Buch wäre denn gut zum Lernen? Wenn es möglich ist auf deutsch da ich zwar auch ab und an englischen Foren lesen es aber für so komplizierte Sachverhalte zu anstrengend wäre.
Die üblichen Empfehlungen sind der C++ Primer und Thinking in C++, beide englisch (letzterer auch als freies Ebook verfügbar). Mit deutscher Literatur kenne ich mich leider nicht aus. Langfristig wirst du um Englisch beim Programmieren nicht herumkommen.
- Ist denn die Sprache wirklich so schwer dass ich Monate brauchen werde um mal ein klitzekleines Spielchen(in Richtung SpaceInvaders) zu schreiben? Für andere Sprachen hatte ich so eine Woche rumprobiert bis ich was in meinen Augen was vernünftiges programmieren konnte. Die Feinheiten kamen dann dort halt erst mir größeren Projekten. Ok, da bin ich ja mal gespannt, ich will es auf jeden Fall halbwegs gut lernen und nicht nur huschi huschi.
Es ist möglich in ein paar Wochen ein kleines Spielchen zu programmieren. Aber dabei lernst du die Sprache nur huschi huschi. das kannst du dir dann auch gleich sparen und sofort die Sprache richtig lernen und danach Spielchen programmieren.
-
Janjan schrieb:
hibbes schrieb:
- Ich habe schon mit Eclipse und PHP, Python und etwas Java programmiert. Was haltet ihr von der IDE in Bezug auf CDT also dem Plugin für C++?
Müll. Tu dir einen Gefallen und nutze Visual C++ 2010 Express.
Würdest du das bitte begründen? Es kann gut sein das da einige Features fehlen. Gerade was den C++ Support angeht. Aber was die reine IDE angeht bin ich vom Eclipse weitaus mehr überzeugt als vom Visual C++
Folgende Angaben beziehen sich aus der nutzung von Eclipse als Java IDE
-die Refactoring Features sind IMHO umfangreicher (Angefangen beim automatisierten setzten von imports bis hin zur Code Completetion)
-integrierte Versionsverwaltung (hoffe ich verwechsel das jetzt nicht mit Netbeans)
-Framework Erweiterbar (da kenne ich mit dem VC++ zu wenig aus)
-Eclipse muss nicht installiert werden (ich kann einfach den ordner irgendwohin kopieren und es läuft, selbst von CD)Ich denke mal wenn ich suche finde ich noch ein paar Punkte die mir persönlich etwas besser gefallen. Viele der Punkte könnten natürlich von der C++ unterstützung im Eclipse übern haufen geworfen werden da diese ggf sehr schlecht ist.
-
hibbes schrieb:
- Ist denn die Sprache wirklich so schwer dass ich Monate brauchen werde um mal ein klitzekleines Spielchen(in Richtung SpaceInvaders) zu schreiben?
Die Sprache ist vor allem sehr (bzw. viel zu) umfangreich. C++ komplett zu lernen dauert Jahre, aber vieles in C++ ist auch nicht wirklich wichtig.
Es ist durchaus ratsam, vor C++ erstmal grundlegendes C zu lernen, denn viele der Konzepte aus C (Zeigerarithmetik, Arrays, C-Strings), die ja auch alle in C++ mit drin sind, sind verwirrender, wenn du sie gleich auf einmal zusammen mit dem Rest von C++ verstehen willst. (Auch wenn einige hier anderer Meinung sind)
Mit C kannst schon mal sehr viel machen, z.B. in Verbindung mit SDL oder OpenGL. Für größere Projekte sind dann die objektorientierten Möglichkeiten von C++ (also Klassen) nützlich, aber das ist dann ein relativ einfacher Übergang, vor allem wenn du mit OOP schon aus Java vertraut bist. Die ganzen komplizierten Sprachfeatures, die es in C++ noch so gibt (Templates, Exceptions, und die ganze STL) kannst du dir nach und nach anschauen, wenn du meinst dass du sie brauchst. Aber IMHO ist es ohnehin besser, sich immer nur auf eine Teilmenge von C++ zu beschränken, die meisten Bibliotheken und Frameworks machen das auch.
Eclipse/CDT (mit gcc/mingw als Compiler) ist schon ganz ok, erst recht wenn du Eclipse ohnehin schon kennst. Visual C++ würde ich nicht nehmen.
-
Eclipse ist für C++ im Bezug auf das Refectoring und der Autovervollständigung nicht annähernd so gut wie für Java. Allerdings ist da Visual Studio alleine auch nicht viel besser. Die beiden nehmen sich da nicht so viel. Erst in Verbindung mit Visual Assist X würde ich den Vergleich mit einer Java IDE wagen. Allerdings ist das Addon nicht kostenlos, und die kostenlose Express Version von Visual Studio reicht da auch nicht mehr für aus.
Ich persönlich nutze meistens Eclipse, da ich die meiste Zeit unter Linux programmiere und die Handhabung vom Entwickeln mit Java gewohnt bin.
-
hibbes schrieb:
- Was sind so die größten Fehler die man mit C++ machen kann?
Ich habe einen riesen Fehler vergessen, den viele gerne machen:
namespace invader schrieb:
vor C++ erstmal grundlegendes C zu lernen
-
namespace invader schrieb:
Es ist durchaus ratsam, vor C++ erstmal grundlegendes C zu lernen, denn viele der Konzepte aus C (Zeigerarithmetik, Arrays, C-Strings), die ja auch alle in C++ mit drin sind, sind verwirrender, wenn du sie gleich auf einmal zusammen mit dem Rest von C++ verstehen willst. (Auch wenn einige hier anderer Meinung sind)
So oft hab ich Pointer auch nicht verwenden. Arrays erst garnicht(wofür gibt es vector, list, ...) und C-Strings ?
-
Würdest du das bitte begründen? Es kann gut sein das da einige Features fehlen. Gerade was den C++ Support angeht.
VC++ Express fehlen keine wichtigen Features, erst recht keine, die ein Anfänger braucht.
Und wieso besonders der C++-Support? Es ist eine IDE für C++, sie enthält alle Features, ein guter Compiler wird mit installiert (gute C++0x-Unterstützung). Sie wird von vielen benutzt -> Viele potentielle Helfer. Intellisense gibts auch (nur C++/CLI nicht, aber danach ist ja definitiv (noch) nicht gefragt, und dann ist ja auch eher C# zu empfehlen)C++ komplett zu lernen dauert Jahre, aber vieles in C++ ist auch nicht wirklich wichtig.
Man kann es nicht "komplett" lernen und das ist auch nicht nötig.
vor C++ erstmal grundlegendes C zu lernen
Das lass lieber.
Aber IMHO ist es ohnehin besser, sich immer nur auf eine Teilmenge von C++ zu beschränken
Unsinn. Am Anfang natürlich, alles gleichzeitig zu lernen ist unmöglich. Aber wenn man sich das Spektrum der Sprachfeatures einengen möchte, bitte. Es führt aber zu Tunnelblick, versperrt den Blick auf gute Lösungen und führt somit nicht zu gutem Code.
denn viele der Konzepte aus C (Zeigerarithmetik, Arrays, C-Strings), die ja auch alle in C++ mit drin sind, sind verwirrender, wenn du sie gleich auf einmal zusammen mit dem Rest von C++ verstehen willst.
Zeigerarithmetik muss man nicht direkt verstehen, damit kann man auch später anfangen. C-Strings auch. Arrays sind nützlich und leicht verständlich.
Die Sprache ist vor allem sehr (bzw. viel zu) umfangreich
Nein, ist sie nicht. Höchstens umfangreicher als deine Aufnahmefähigkeit.
-
Ersteinmal danke für die vielen Antworten,
hier scheinen ja doch die Meinungen auseinander zu gehen, so dass ich wohl noch ein paar Antworten abwarten werden und mir selbst das Beste heraus filtere.
Schade das die deutschen Bücher alle Mist sein sollen, vielleicht kann man mir doch der Eine oder Andere das Beste auch dem Mist empfehlen?
Danke hibbes
-
Es gibt da natürlich noch einige online-Tutorials, u.a. diese:
http://www2.fh-augsburg.de/informatik/vorlesungen/XX/c_cplus/tutorial/henkel/
http://tutorial.schornboeck.net/einfuehrung.htm
-
hibbes schrieb:
hier scheinen ja doch die Meinungen auseinander zu gehen, so dass ich wohl noch ein paar Antworten abwarten werden und mir selbst das Beste heraus filtere.
Ich kann dir empfehlen, das du dir bewusst werden mußt, das C++ eine komplexe Sprache ist. Und bitte verwechsele komplex nicht mit kompliziert.
D.h. zu mußt viel lernen, über Jahre. D.h. aber nicht das du Jahre brauchst, um ein Space Invaders zu programmieren. Das wirst du auch nach ein paar Wochen oder Monaten können, wenn du logisch denken kannst. Denn C++ ist dann nur das Werkzeug. Es hilft ja nichts BASIC zu lernen, aber man hat kein Verständnis für das Programmieren. Das Programmieren (egal welche Sprache) muß in Fleisch und Blut übergehen. Aber C++ mit seinen tollen Fähigkeiten kann einen unterstützen, wartbare und schnelle Programme zu entwickeln.
Aber C++ ist ja erstmal nur eine Sprache mit einer Bibliothek. Was dann noch dazu kommt, ist mit den Tools umgehen zu können. Was ist ein Präprozessor? Was ein Compiler und was ein Linker? Wie kann ich mehrere C++-Module (besser bekannt als Übersetzungseinheiten, also Dateien wo der Code drin steht) zu einem Programm bauen? Wie kann ich fremde Bibliotheken nutzen oder gar selber bauen? Das sind Dinge, die einem nicht nur in C++ über den Weg laufen, auch in Java u.a. Sprachen muß man das alles lernen... und auch dort macht man das nicht an einem Wochenende!
hibbes schrieb:
Schade das die deutschen Bücher alle Mist sein sollen, vielleicht kann man mir doch der Eine oder Andere das Beste auch dem Mist empfehlen?
Na, wer sagt denn, das die dt. Bücher Mist sind? Die meisten deutschen und englischen Bücher sind Mist. Aber es gibt definitiv zwei Deutsche Bücher, die man bedenkenlos empfehlen kann:
- Der C++ Programmierer von Ulrich Breymann
- C++ Primer von Stanley B. Lippman u.a.Wer am Buch geizt ("Will nur kostenlose Online-Tutorials") der brauch erst gar nicht ernsthaft mit C++ anfangen.
Zum Compiler und IDE. Wenn du Windows-User bist und kein MS-Hasser aus Prinzip, dann empfehle ich dir eindeutig das kostenlose Visual C++ Express. Die meisten nutzen VisualC++ und du wirst hier schnell Hilfe erhalten.
Wenn dir der Download zu groß ist, kann man auch Codeblocks empfehlen. Aber ist nur für den Einstieg geeignet, da dessen Compiler nicht die komplette C++-Std-Bibliothek unterstützt.
-
Danke dass du dir die Zeit für eine so ausführliche Antwort genommen hast.
Ich werde mir eins von den Büchern, die du beschrieben hast, zulegen. Die Visual C++ Express Edition 2010 habe ich schon installiert. Mit der Programmierung an sich habe ich kein großes Problem auch wenn ich bis jetzt "nur" Webentwicklung gemacht habe und früher halt 68000er Assembler. Zum anderen lerne ich unheimlich gerne und nehme ungern Sachen einfach hin ohne wenigstens ein bisschen den Hintergrund dazu zu verstehen.Ich denke das Thema hier kann geschlossen werden.
Danke nochmal an Alle
hibbes
-
hibbes schrieb:
Hallo,
ich würde gerne mit C++ anfangen und hätte ein paar Fragen:- Ich habe schon mit Eclipse und PHP, Python und etwas Java programmiert. Was haltet ihr von der IDE in Bezug auf CDT also dem Plugin für C++?
- Ich liebäugle mit dem Buch C++ für Spieleprogrammierer, da ich auch daran Hobbymässig interessiert bin und auch ein wenig Erfahrungen in kleiner Spieleprogrammierung in Assembler auf dem guten alten Amiga habe. Ist das Buch zu empfehlen?
- Wird es C++ noch ne Weile geben eurer Meinung nach, wenn ja warum? Ist zwar nicht so wichtig aber es interessiert mich halt.
- Was sind so die größten Fehler die man mit C++ machen kann?
G hibbes
Der grösste Fehler ist den grössten Fehler mit ß zu schreiben
. Ok - bezieht sich nicht auf C++. Also noch mal: der grösste Fehler ist, C++ nicht richtig zu lernen und dann mit irgendwelchen Halbwahrheiten hier aufzutauchen und als die grösste Erkenntnis zu verkaufen.
C++ ist schwer zu lernen, da es einfach viele Möglichkeiten bietet. Wenn eine Sprache nur ein drittel der Möglichkeiten bietet, dann brauchst Du auch nur ein drittel der Zeit, um diese zu lernen. Es ist so wie mit dem Auto: wenn Du kein Navigationsgerät hast, brauchst Du nicht zu lernen, damit umzugehen. Aber ist das dann besser?
Und C++ wird es noch eine Weile geben. Zumindest länger, als diese Hype-Sprachen. Oder mit welcher Sprache ist beispielsweise der Browser geschrieben, an dem ihr gerade sitzt?
C++ ist moderner, als viele glauben. Leider gibt es viel zu wenige, die C++ gut genug können, um den Wert schätzen zu können.
-
Oberlehrer 2.0 schrieb:
...Oder mit welcher Sprache ist beispielsweise der Browser geschrieben, an dem ihr gerade sitzt?
ich denke doch in c
lg lolo
-
noobLolo schrieb:
Oberlehrer 2.0 schrieb:
...Oder mit welcher Sprache ist beispielsweise der Browser geschrieben, an dem ihr gerade sitzt?
ich denke doch in c
Welchen benutzt du denn? Zumindest Firefox wird in C++ geschrieben.
-
Oberlehrer 2.0 schrieb:
hibbes schrieb:
Hallo,
ich würde gerne mit C++ anfangen und hätte ein paar Fragen:- Ich habe schon mit Eclipse und PHP, Python und etwas Java programmiert. Was haltet ihr von der IDE in Bezug auf CDT also dem Plugin für C++?
- Ich liebäugle mit dem Buch C++ für Spieleprogrammierer, da ich auch daran Hobbymässig interessiert bin und auch ein wenig Erfahrungen in kleiner Spieleprogrammierung in Assembler auf dem guten alten Amiga habe. Ist das Buch zu empfehlen?
- Wird es C++ noch ne Weile geben eurer Meinung nach, wenn ja warum? Ist zwar nicht so wichtig aber es interessiert mich halt.
- Was sind so die größten Fehler die man mit C++ machen kann?
G hibbes
Der grösste Fehler ist den grössten Fehler mit ß zu schreiben
. Ok - bezieht sich nicht auf C++. Also noch mal: der grösste Fehler ist, C++ nicht richtig zu lernen und dann mit irgendwelchen Halbwahrheiten hier aufzutauchen und als die grösste Erkenntnis zu verkaufen.
C++ ist schwer zu lernen, da es einfach viele Möglichkeiten bietet. Wenn eine Sprache nur ein drittel der Möglichkeiten bietet, dann brauchst Du auch nur ein drittel der Zeit, um diese zu lernen. Es ist so wie mit dem Auto: wenn Du kein Navigationsgerät hast, brauchst Du nicht zu lernen, damit umzugehen. Aber ist das dann besser?
Und C++ wird es noch eine Weile geben. Zumindest länger, als diese Hype-Sprachen. Oder mit welcher Sprache ist beispielsweise der Browser geschrieben, an dem ihr gerade sitzt?
C++ ist moderner, als viele glauben. Leider gibt es viel zu wenige, die C++ gut genug können, um den Wert schätzen zu können.
- Ähm, die Rechtschreibprüfung vom Duden sagt dass es mit ß richtig geschrieben ist. http://www.duden.de/deutsche_sprache/rechtschreibpruefung/
- Ich denke, dass bei Firefox das Meiste in der Scriptsprache XUL programmiert wurde, und der Kern dann in C und C++ oder irre ich da?
- Vor der Komplexität habe ich keine Angst, sondern sehe das eher als Herausforderung. Auch hier wird nur mit Wasser gekocht, auch wenn es viel mehr dabei zu beachten gibt. Ich werde halt einfach anfangen und am Anfang grottenschlecht sein und dann mit Ruhe und Geduld hoffentlich besser werden.
G hibbes
-
Janjan schrieb:
noobLolo schrieb:
Oberlehrer 2.0 schrieb:
...Oder mit welcher Sprache ist beispielsweise der Browser geschrieben, an dem ihr gerade sitzt?
ich denke doch in c
Welchen benutzt du denn? Zumindest Firefox wird in C++ geschrieben.
ja scheinbar ist es eine mischung aus beidem, dachte immer das wäre c, naja evtl. haben auch tausend flinke hände das schnell von c in c++ portiert, kann mir kaum vorstellen das sie ihre gesamte codebase verworfen haben nur weil c++ daher kam
-
Xul ist ne Beschreibungssprache für die GUI und der Kern in C++.