3

C++ lernen: Voraussetzungen und Hilfe

Frage von blackman221 blackman221

Guten Abend,

ich möchte die Programmiersprach C++ erlernen und hab mir hierfür das Buch "Die C++ Programmiersprache" von Bjarne Stroustrup gekauft. Nach den ersten 30 Seiten ich ich gelesen habe sind mir viel Fremdwörter aufgefallen, dich nicht erklärt wurde. Abgesehen davon werden zu Anfang Codes genannt, zu denen nur ein mäßige bis unzureichende Erklärung folgte. Ich es möglich, dass das Buch (vielleicht kennt es jemand), oder auch allgemein C++, Vorkenntnisse benötigt? So wie ich teile aus dem Buch gelesen haben, empfielt der Autor, dass man zuerst C++ lernen sollte, bevor man andere Sprachen lernt. Was haltet ihr davon? Gibt es vielleicht schulische Vorraussetzungen, da dort von "Algorythmen" gesprochen wurde, welche meines Wissens nach erst gegen Ende des gymnasialen Schulweges durchgenommen werden (Ich besuche derzeit die 10. Klasse der Gessamtschule und belege alle gymnasialen Aufbaukurse)? Kennt ihr Internetseiten, auf denen man zusätzliche Einstigstiegshilfen kurzgefasst findet? Ich möchte kein weiteres Buch für 50€ kaufen.

Ich hoffe auf Hilfreiche Antworten

Fragen zu gleichen Themen finden

Antworten (10)

  • 2
    Hilfreichste Antwort ausgezeichnet vom Fragesteller
    Antwort von Kurushiyama Kurushiyama

    Du hast schon gut angefangen, aber oft braucht man mehrere Bücher, um eine Sprache zu erfassen. Ein Buch, das ich aus eigener Erfahrung sehr empfehlen kann ist http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2083?GalileoSess...

    kostet nicht die Welt und ist vor allem verständlich geschrieben. Über den Rest mach Dir mal nicht zu viele Gedanken.

    C++ eignet sich meiner Meinung nach genau so gut wie jede andere Sprache, die Objekte und Vererbung bietet, um modernes Programmieren zu lernen (ich habe meine Probleme damit, C++ als objektorientierte Programmiersprache zu sehen). Vorteile von C++:

    • Du kannst den Arbeitsspeicher manipulieren und recht ressourceneffizient programmieren, ohne gar so... ...eingeschränkt wie bei C zu sein.
    • Wenn Du es richtig anstellst, bist Du portabel. Von dem "Compile once, run anywhere"-Unsinn halte ich nichts.
    • In Punkto Performance bist zwar nicht ganz so schnell wie C, aber flotter als Java (meistens)
    Kommentar von blackman221 blackman221blackman221

    ok, hab mir das buch gekauft, ist echt hilfreich :D

    Kommentar von Kurushiyama KurushiyamaKurushiyama

    Schön, das ich helfen konnte.

  • 1
    Antwort von CaroAs CaroAs

    Du hast zwar schon viele gegenläufige Meinungen zu Deiner Frage bekommen, so dass ich nur noch auf Deine zusätzlichen Punkte eingehen möchte.

    Du hast geschrieben, dass Du die ersten 30 Seiten gelesen hast und Dir viele Wörter aufgefallen sind, die Du nicht kennst wie z.B. Algorithmus (was Du vorerst mit Bedienungsanleitung übersetzen könntest, z.B. wie ziehe ich mir meinen Fahrschein aus dem Automaten ist ein Weg einer möglichen Bedienung eines Fahrscheinautomaten. Der Algorithmus (also die Bedienungsanleitung enthält oder zumindest sollte, viele sind schlecht macht) enthält alle möglichen Wege/Möglichkeiten auch wenn man kein passendes Geld hat oder mehrere Fahrscheine ziehen möchte. Um ein Programm (z.B. in C++) zu bekommen, muss der Algortihmus noch in einen Programmiercode gepresst werden, damit der Fahrscheinautomat ds versteht und den Ablauf wirklich steuern kann (und Dir am Ende nicht zuviel /zu wenig Wechselgeld rausgibt).


    Stroustrup ist in der Tat keine leichte Kost für einen C++-Programmier-Einsteiger vor allem wenn Du es auf deutsch hast. Die Übersetzungern sind teilweise grottenschlecht und die Bedeutung wird verfälscht. Aber auch das originale ist für C++-Anfänger schwer zu verstehen, wenn man sich vorher noch nicht intensiv mit einer anderen Programnmiersprache beschäftigt hat. Du musst den Fokus auf so viele legen wie grundlegende Codierung, Zugriffe auf Inhalte, Zeigerverwaltung , Debuggen und letztendlich das objektorientierte Konzept und Abgrenzung zu anderen morderneren Sprachen mit allen Vor- und Nachteilen. Dazu kommt, was Du eigentlich machen willst. Davon abhängig wird die passenste Entwicklungsumgebung sein, die Du auch noch auszuwählen hast.


    Ich empfehle Dir ein paar C++-Online-Tutorials durchzuspielen, Dir unbekannte Begriffe nachzuschlagen (um die meisten wirst Du nicht drumherum kommen, da sie immer wieder auftauchen werden). Essentielll ist den Inhalt wirklich zu verstehen, was ist eine Konstante, was ist eine einfache Variable, was ist eine Referenz, was ist ein Klassenobjekt usw. Danach kannst Du selbst einfache Bedienungsanleitungen codieren, wie z.B. Sortier- und Suchalgrotihmen oder was Dich persönlich eben interessiert. Erst danach solltest Du Dich intensiver mit dem Klassenkonzept beschäftige, was ist das, warum braucht man es (und da scheiden sich die Geister) und wann ist es eher kontraproduktiv...


    Du wirst merken, dass es ein langwieriger und intensiver Prozess ist und wenn Du am Anfang zu oberflächlich mit den Begriffen und der Ausführung bist, wirst Du später nichts mehr verstehen, also nimm Dir unbedingt Zeit für den Anfang! Dann wirst Du Fortschritte machen und erfolgreich C++-Programme erstellen können. Auch bei C++ wird nur mit Wasser gekocht. Wenn Du mit Geduld am Ball bleibst, wirst Du nicht nur Hello-world abkupfern können. Viel Erfolg!

  • 1
    Antwort von DoTheBounce DoTheBounce

    Das Stroustrup-Werk ist leider in der Tat für Einsteiger nicht wirklich geeignet. Als Online-Tutorial ist das hier glaube ich nicht schlecht: http://www.cpp-tutor.de/cpp/hinweise.html (Hab da nur mal kurz was nachgeschaut, als ich selbst noch am Anfang war, aber nie ganz gelesen)

    Wenn du das durch hast, dann solltest du die Basics drauf haben

  • 1
    Antwort von Advenging Advenging

    C++ ist zu kompliziert falls du trotzdem weiter diese Programmiersprache erlernen willst google nach c++ referenzbuch...

    Ich empfehle dir aber eher Java zu erlernen oder noch besser erstmal in Greenfoot hinein zu schnuppern.(Basiert auf Java)

  • 1
    Antwort von BigBosche BigBosche

    Hi, Das buch was du dir geholt hast, ist eher eine Art Nachschlage Werk, wo vorwissen zwar nicht vom der Sprache C++ gebraucht wird, aber schon Programmiervorwissen, es gibt eine Menge an C++ Tutorial online und Kostenlos. Also C++ zum Anfang ist auch schon eine Harte sache da dort sachen besprochen werden, die du bei anderen Sprachen nicht hast und es eine ziehmlich überladene Sprache ist, Versuch lieber mal Java http://www.java-tutorial.org/ ist nur eine Seite hab ich grad mal schnell mit google gegoogelt. Oder versuch C# kuck mal bei Galileo Computering unter Openbooks, da hast du genugt auswahl :), bei Fragen kannst du ruhig fragen steh immer zur Verfügung.

  • 1
    Antwort von Vakathango Vakathango

    Ich besuche ein technisches Gymnasium wo Informationstechnik angeboten wird...die schüler davon erzählten mir das c++ eig. recht simpel sei, es jedoch mit elektrotechnik, digitaltechnik und anderem zeug zusammenhängt...informiert dich mal darüber..vllt findest was sinnvolles darüber...

    Kommentar von DoTheBounce DoTheBounceDoTheBounce

    Warum C++ mit E-Technik oder Digitaltechnik zusammenhängen soll, mögen sie dir mal erklären. Es kann sicherlich auch in diesen Gebieten angewendet werden, aber das liegt daran, dass C++ praktisch überall angewendet werden kann

    Kommentar von Advenging AdvengingAdvenging

    C++ wird aber heutzutage nur noch angewendet weil das gesamte Direct X system auf C/C++ basiert. Früher oder Später wird aber Java, die Rolle von C++ übernehmen siehe Android...

    Kommentar von derBeobachter derBeobachterderBeobachter

    Auch wenn ich selbst nicht mit C++ warm werde, das glaube ich nicht ernsthaft. Wenn es um Performance geht, ist Java weit hinte. Sie werden wohl, wie bisher, nebeneinander existieren.

    Kommentar von DoTheBounce DoTheBounceDoTheBounce

    Java ist für bestimmte Anwendungen komplett ungeeignet, nämlich immer dann, wenn es um direkte Speicherbearbeitung geht (Betriebssystemprogrammierung oder das erwähnte E-Technik-Gebiet) und wenn es um schnelle Leistung geht (wissenschaftliches Rechnen, Spiele). Und in den beiden Gebieten wird Java sicherlich nicht C/C++ den Rank ablaufen, da steht die JVM sich selbst im Weg.

    Es kommt darauf an, was man machen will. Im Anwendungssoftwarebereich ist Java glaube ich (hab grad keine Zahlen da) bereits weiter verbreitet

  • 0
    RatgeberHelden Antwort von wolfgang1956 wolfgang1956

    C++ ist eine Programmiersprache, der OOP von außen übergestülpt wurde. Vieles ließe sich bei cleverer Namensgebung für Variablen und Bezeichnern für Unterprogramme auch in reinem C erledigen … :-)

    Sieh dir mal den folgenden Podcast an: http://www.x02100.de/

    Objective-C geht da viel pragmatischer und dynamischer vor. Häufig weiss man beim Programmieren nicht im voraus, auf welche Klasse man sich im Code beziehen soll. Objective-C kann das dynamisch lösen. C++ und auch Java sind da viel zu statisch, weil man dort diesen Klassenbezug kennen muß, da der Compiler sonst streikt … :-)

  • 0
    RatgeberHelden Antwort von tobistenzel tobistenzel

    Soweit ich weiß ist das Buch eher nicht für Anfänger gedacht.

    C++ ist aber allgemein ein wirklich harter Brocken im Vergleich zu anderen Sprachen, wenn man ein wenig über die absoluten Grundlagen hinausgeht. Das passiert schnell, wenn man mit anderen Leuten zusammenarbeitet oder fremden Code verändern "darf".

    Ich denke, dass man dafür schon einiges an Informatik- und Programmierkenntnissen haben sollte; mit der Sprache an sich hat man schon genug zu tun. Damit wirklich Programmieren zu lernen ist für die meisten Leute wohl ein wenig zuviel.

    Zu wissen, was ein Algorithmus ist gehört auf jeden Fall zu den Fähigkeiten die man vorher haben sollte.

    Ich habe mich da auch mal am Anfang durchgekämpft, aber irgendwann gedacht, dass mich andere Sprachen eher weiterbringen würden. Gut, das hat dann auch gestimmt ;)

    Danach habe ich mit C++ auch viel weniger Probleme gehabt, aber ich benutze das heute nur, wenn es wirklich nicht anders geht. Das ist zum Glück recht selten der Fall. Es gibt doch so viele angenehme Programmiersprachen ;)

    Die Bedeutung von C++ nimmt auch eher ab. Heutzutage ist verbrauchte Programmiererzeit oft viel problematischer als ein wenig mehr Rechenzeit. Und um gute C++-Programme zu schreiben braucht man schon einiges an "Manpower". Das wird vielen Firmen einfach zu teuer. Außer in der Spielebranche und bei sehr performancekritischen Anwendungen ist C++ eher nicht mehr die Nummer 1.

    Kommentar von moccajoghurt moccajoghurtmoccajoghurt
    bei sehr performancekritischen Anwendungen ist C++ eher nicht mehr die Nummer 1.
    

    Welche Sprache denn sonst?

    Kommentar von tobistenzel tobistenzeltobistenzel

    Da fehlt aber vorne etwas:

    Außer ... und ...

    So kompliziert war der Satz nun auch wieder nicht.

    Kommentar von moccajoghurt moccajoghurtmoccajoghurt

    war müde

  • 0
    Antwort von gkyFFM gkyFFM

    Suche mal mit google nach "c++ tutorial".

  • 0
    Antwort von derBeobachter derBeobachter

    Um offen zu sein, ich persönlich halte es für einen Blödsinn, mit C++ anzufangen. Das ist zwar eine leistungsfähige Sprache, aber alles andere als leicht zu erlernen, vor allem, wenn einem die Grundkonzepte fehlen. Ich empfehle da eher Visual Basic oder eventuell Java.

    Kommentar von blackman221 blackman221blackman221

    leiche programmiersprache wie html, css, und vb behersche ich ja, aber c++ kommt mir um einiges umfangreicher vor. Somal c++ für die meisten programme verwendet wird,wollte ich dies lernen.

    Kommentar von tobistenzel tobistenzeltobistenzel

    HTML und CSS haben nur relativ wenig mit Programmieren zu tun und VB ist im Vergleich C++ auch eher ein (immerhin praktisches) "Spielzeug" ;).

    C++ ist schon ein wirklich ganz anderes Kaliber.

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.