• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Welches ist das beste C++-Tutorial ?

hansi3000

Neues Mitglied
Da ich gerne C++ lernen möchte, bräuchte ich ein Tutorial das im Internet kostenlos ist. Es kann Online oder zum downloaden sein! Kennt ihr vielleicht auch noch einen guten Compiler, Linker und Präprozessor?
 
Werbung:
Werbung:
c / c++ und php sind sehr ähnlich, liegt wohl an der geschichte von php.

Das stimmt aber auch nur, wenn es um die Syntax geht...
Trotzem hat er nicht ganz unrecht. Mach dich erst mit der Syntax einer einfacheren Sprache vertraut, z.B. Java oder C# (oder eben PHP) und dann stürze dich auf C++
 
Wenn er es gleich mit Java versuchen sollte, kann er ebensogut mit C++ beginnen. Den Java ist "anspruchstechisch" nicht zwingend leichter zu erlernen als C++.
 
ich habe keine lust auf eine "meine sprache ist besser als deine"-diskussion .

solltest du an php scheitern, wirst du an C++ verrecken. Die Sprachen sind völlig unterschiedlich, ähneln sich jedoch im Syntax und teilweise in den Ansätzen von Problemlösungen enorm.

eine These darüber aufzustellen ob java oder c++ einfacher ist, wäre unsinn. generell läuft java auf einer anderen ebene, ist für andere aufgaben konzipiert und aus frust auf sprachen wie c++ entstanden. java bringt eine dicke spl mit, c++ nicht wirklich.

ich denke um praktisch sinnvoll mit C++ arbeiten zu können ist schon sehr viel verständnis nötig, php ist hier recht einfach und bringt eine vielzahl von funktionen schon mit.

überdenke dein vorhaben nochmal, ich gehe davon aus, dass du mit c++ nicht wirklich glücklich wirst :)
 
Werbung:
ich habe keine lust auf eine "meine sprache ist besser als deine"-diskussion .
Warum empfiehlst Du dann PHP, wo doch die Frage nach einem C++-Tutorial war?

Grundsätzlich sind alle Sprachen irgendwie gleich, ob PHP, Perl, C, Pascal, Basic, die sind alle irgendwie ähnlich. Lisp/Scheme ist anders. Cobol ist anders. Assembler ist anders, selbst Python ist anders.

Aber einem 10-jährigen würde ich in keinem Fall C++ empfehlen.

Wenn Du grundsätzlich programmieren willst, würde ich Dir sowas wie "Robot Karol" empfehlen. Sowas lernt man in Bayern in der Schule und für den Programmiereinstieg ist das eine gute Sache.
 
Warum empfiehlst Du dann PHP, wo doch die Frage nach einem C++-Tutorial war?

ganz einfach, jemand der gut c++ kann, kann quasi von syntax er auch php programme schreiben.
die sprachen sind extrem ähnlich, teilweise gibt es sogar direkte adapter.

php ist einfach zu lernen, hat geringe anforderungen und ist nicht sonderlich nachtragend.

um mit c++ zeitgemäß zu entwickeln wird vom entwickler sehr viel know how verlangt, die entwicklergemeinde ist teilweise schon was älter und besteht vielfach auf experten, der Einstieg ist hier extrem kompliziert.

ich bin mir sicher, dass wenn man ein paar wochen php lernt, sich mit oop beschäftigt u. etc. und sich dann c++ anguckt, man nichts umsonst gelernt hat.

alle sprachkonstrukte in php gibt es auch in c++, teilweise gibt es minimalste syntaxunterschiede.


ich entwickel hauptberuflich php, c++ lerne ich atm nebenbei. für den einstieg ist es definitiv nichts.
 
php ist einfach zu lernen, hat geringe anforderungen und ist nicht sonderlich nachtragend.
Das macht es IMHO besonders schwer, richtig programmieren zu lernen, weil man nicht von vornherein auf seine Fehler aufmerksam gemacht wird und bei PHP viel mehr debuggen muss, als bei einer Sprache mit Compiler, der Dir vorher schon viele Fehler aufzeigt.

um mit c++ zeitgemäß zu entwickeln wird vom entwickler sehr viel know how verlangt, die entwicklergemeinde ist teilweise schon was älter und besteht vielfach auf experten, der Einstieg ist hier extrem kompliziert.
Dann würde ich eher noch Pascal oder C zum Einstieg empfehlen. Ist dann zwar nicht objektorientiert, aber sicher noch ähnlicher zu C++ als PHP es ist.

ich bin mir sicher, dass wenn man ein paar wochen php lernt, sich mit oop beschäftigt u. etc. und sich dann c++ anguckt, man nichts umsonst gelernt hat.
Dem würde ich nicht widersprechen :-)

ich entwickel hauptberuflich php, c++ lerne ich atm nebenbei. für den einstieg ist es definitiv nichts.
Ich entwickel hauptberuflich C, immer mehr C++, mache PHP und diverse andere nebenbei. Für den Einstieg eines 10-jährigen würde ich was noch leichteres empfehlen, damit erstmal die Grundzüge des Programmierens verstanden werden.

Wie schon gesagt, "Robot Karol". Das ist altersgerecht.
 
Werbung:
Also ich würde dir zu C# raten. Damit kannst du eigentlich alles programmieren (auch Spiele z.B. mit XNA Game Studio)
C++ lern ich in der Schule und ich muss sagen mir gefällt C# viel besser, kann natürlich daran liegen das wir in der Schule keine IDE nutzen :D
Aber ich denke das dir C# völlig ausreicht vorallem musst du dich nicht um Speicherverwaltung etc kümmern da es .NET für dich macht.. (Natürlich kannst du den GarbageCollector auch nutzen aber ist nicht nötig..)

Und zu C# das beste Tutorial gibts als OpenBook bei GallileoComputing
 
Natürlich C# ist nicht schlecht und es lässt sich damit viel machen, wie mit all den anderen Hochsprachen auch, aber man sollte bedenken dass es sich hierbei um einen Fünftklässler handelt. Ich bezweifle stark, dass er auch nur 3 % davon begreifen wird. - Nichts gegen Dich Hansi, doch es ist sehr komplex.

Ich rate ihm ebenfalls an Robot Karol zu erlernen. Das bietet ihm eine Einführung in die ungefähre Syntax komplexer Programmiersprachen später kann er dann immer noch umsteigen.

Nur als Beispiel:

Während man in HTML für einen einfachen Button lediglich folgendes eingibt:

HTML:
<input type="button" name="Beispiel" value="Beispiel" id="Beispiel">

So sieht es beispielsweise in Java folgendermaßen aus:

Code:
[COLOR="blue"]import  [/COLOR]java.awt.*;

[COLOR="blue"]public class [/COLOR]Button [COLOR="blue"]extends [/COLOR]Panel {
   [COLOR="blue"]public [/COLOR]Button() 
   {
      [COLOR="green"]// Ein Button[/COLOR]

      Button b1 = [COLOR="blue"]new [/COLOR]Button("Beispiel");
      add(b1);
   }
            
   [COLOR="blue"]public static void[/COLOR] main(String args[]) {
     
      ButtonShow button = [COLOR="blue"]new [/COLOR]Button();
      Frame frame = [COLOR="blue"]new [/COLOR]Frame("Beispiel");
      frame.add(button, BorderLayout.CENTER);
      frame.pack();
      frame.setVisible([COLOR="blue"]true[/COLOR]);   
   }
}

Mit C# oder C++ ist es ähnlich komplex.
Darüberhinaus benötigst Du gute Englischkenntnisse und ein sehr gutes Vorstellungsvermögen.
 
Zuletzt bearbeitet:
Warum empfiehlst Du dann PHP, wo doch die Frage nach einem C++-Tutorial war?

Grundsätzlich sind alle Sprachen irgendwie gleich, ob PHP, Perl, C, Pascal, Basic, die sind alle irgendwie ähnlich. Lisp/Scheme ist anders. Cobol ist anders. Assembler ist anders, selbst Python ist anders.

Aber einem 10-jährigen würde ich in keinem Fall C++ empfehlen.

Wenn Du grundsätzlich programmieren willst, würde ich Dir sowas wie "Robot Karol" empfehlen. Sowas lernt man in Bayern in der Schule und für den Programmiereinstieg ist das eine gute Sache.
Wieso? Also ich meine Verständnis für das Programmieren habe ich. Wieso sollte cih das nicht genauso gut können wie ein Erwachsener?
 
Werbung:
Natürlich C# ist nicht schlecht und es lässt sich damit viel machen, wie mit all den anderen Hochsprachen auch, aber man sollte bedenken dass es sich hierbei um einen Fünftklässler handelt. Ich bezweifle stark, dass er auch nur 3 % davon begreifen wird. - Nichts gegen Dich Hansi, doch es ist sehr komplex.

Ich rate ihm ebenfalls an Robot Karol zu erlernen. Das bietet ihm eine Einführung in die ungefähre Syntax komplexer Programmiersprachen später kann er dann immer noch umsteigen.

Nur als Beispiel:

Während man in HTML für einen einfachen Button lediglich folgendes eingibt:

HTML:
<input type="button" name="Beispiel" value="Beispiel" id="Beispiel">

So sieht es beispielsweise in Java folgendermaßen aus:

Code:
[COLOR="blue"]import  [/COLOR]java.awt.*;

[COLOR="blue"]public class [/COLOR]Button [COLOR="blue"]extends [/COLOR]Panel {
   [COLOR="blue"]public [/COLOR]Button() 
   {
      [COLOR="green"]// Ein Button[/COLOR]

      Button b1 = [COLOR="blue"]new [/COLOR]Button("Beispiel");
      add(b1);
   }
            
   [COLOR="blue"]public static void[/COLOR] main(String args[]) {
     
      ButtonShow button = [COLOR="blue"]new [/COLOR]Button();
      Frame frame = [COLOR="blue"]new [/COLOR]Frame("Beispiel");
      frame.add(button, BorderLayout.CENTER);
      frame.pack();
      frame.setVisible([COLOR="blue"]true[/COLOR]);   
   }
}

Mit C# oder C++ ist es ähnlich komplex.
Darüberhinaus benötigst Du gute Englischkenntnisse und ein sehr gutes Vorstellungsvermögen.
Einspruch euer Ehren !!! Habe schon gut die hälfte des Tutorials durchgelesen, und siehe, alles verstanden con int main() bis über zu >>cout oder ganz zu endlf;
 
dann mach doch einfach und halte uns damit nicht auf. du wirst viel zeit verschwenden, aufgeben und dich vielleicht später nochmal an einer anderen sprache versuchen. deine vorgehensweise ist schon völlig falsch, es ist nicht wichtig welche sprache du lernst, sondern dass du verstehst wie man was aufbaut. die sprache ist nur ein mittel, nicht mehr, nicht weniger. C++ ist keine sprache mit der man in deinem alter anfängt, die sprache ist für komplexe berechnungen gedacht und erfordert sehr viel mehr wissen als du glaubst. das hat nichts mit dem sprachkonstrukt zutun, sondern einfach damit, dass du auf einem lowlevel programmierst.

wenn du in deinem alter wirklich bock hast mal in der richtung was zu reissen, dann starte mit einer sprache mit der du was anfangen kannst. in ein paar jahren kannst du dann anfangen mit c++ nette sachen zu bauen.

ich würde dir immer noch zu php oder Python und einem buch raten, gute chancen hättest du auch bei C# oder Java.
 
Ich kann mir schon vorstellen das du des Grundlegende verstehst aber wenn mal anspruchsvolle Sachen kommen wird C++ richtig schwer Z.b. GUI's (also die auch Event Handler besitzen und komplexe Aufgaben übernehmen können) oder so Themen wie Asynchrone Programmabläufe uvm..

Ich würd dir auch immer noch zu C# raten ist einfacher aber auch nicht einfach ;-)
 
Werbung:
C++ würde ich auch nicht empfehlen. Besser BASIC oder Java. Java hat den Vorteil der Plattformunabhängigkeit, eine sehr umfangreiche Bibliothek, einen(bei C++ gibt es viele verschiedene) recht verständlichen Compiler und eine gute Dokumentation. C++ habe ich auch mal angefangen, war auch einigermaßen verständlich, aber z.B. als ich einmal die Zeit für eine Berechnung messen wollte(in Java dank System.currentTimeMillis() kein Problem), hat mir Google viel unnützes Zeug ausgespuckt und nach langem Probieren hat es erst funktioniert. Ein weiteres Beispiel war die Umwandlung von String in int. In Java wieder kein Problem(Integer.parseInt und Exception abfangen), in C++ wieder längere Google-Suche und danach eine aufwändige Lösung mit stringstream. Der Aufwand des C++-Lernens hätte sich für mich nicht gelohnt und deswegen bin ich bei Java geblieben.
mfg Bleistift
 
Zur Plattformunabhängigkeit muss ich immer an folgendes denken: QDB: Quote #338364 ;)


C++ hat auch eine sehr umfangreiche Bibliothek, wem das nicht reicht der kann sich im Netz viele weitere holen. Was am Compiler verständlich bzw. unverständlich sein soll wird mir jetzt nicht klar, genauso wenig wie es ein Vorteil sein soll, dass es nur einen (?) Compiler gibt. Schließlich muss der ja nicht unbedingt der Beste sein, bei C++ hast du die Auswahl zwischen verschiedenen.


Soweit ich weiß sind aber auf Java basierende Programme in der Regel deutlich langsamer als welche in anderen Programmiersprachen, das ist schonmal ein großes Minus.

Und ich weiß ja nicht wie gut die Garbage Collection von Java ist, aber Banshee ist in C# geschrieben, dort scheint die Garbage Collection nicht gerade perfekt zu funktionieren, da das Programm auf meinem Rechner immer mehr Speicher verbraucht hat.
 
Was am Compiler verständlich bzw. unverständlich sein soll wird mir jetzt nicht klar
Die Fehlermeldungen, die ausgegeben werden sind gut verständlich, was man von manchen C++-Compilern nicht behaupten kann.
genauso wenig wie es ein Vorteil sein soll, dass es nur einen (?) Compiler gibt. Schließlich muss der ja nicht unbedingt der Beste sein, bei C++ hast du die Auswahl zwischen verschiedenen.
Vorteil: Du hast nur eine eindeutige Lösung, wenn du nur einen Compiler hast und musst nicht darauf achten, was dein Compiler kompilieren kann und was nicht, wenn du einen Code im Internet findest und in dein Programm einfügst.
Soweit ich weiß sind aber auf Java basierende Programme in der Regel deutlich langsamer als welche in anderen Programmiersprachen, das ist schonmal ein großes Minus.
Ja, leider:cry: Das stört aber nur bei aufwendiger GUI oder bei länger dauernden Berechnungen deutlich.
mfg Bleistift
 
Werbung:
Vorteil: Du hast nur eine eindeutige Lösung, wenn du nur einen Compiler hast und musst nicht darauf achten, was dein Compiler kompilieren kann und was nicht, wenn du einen Code im Internet findest und in dein Programm einfügst.
Solange man sich an den C++ Standard hält, ist es vollkommen egal was für einen Compiler man verwendet. Und Code aus dem Netz per copy & paste einzufügen, ohne zu verstehen, wie genau er funktioniert, halte ich nicht für sonderlich sinnvoll ;)
 
@Commodore aber C# nimmt sich eigentlich immer mehr Speicher erst wenn dein PC voll ausgelastet wird gibt der Garbage Collector von C# wieder Ressourcen frei.. Auserdem wenn kann man den GC auch selbst übernehmen wenn man meint das man Ressourcen sparen möchte..
 
Zurück
Oben