C++ Wie einsteigen?

D

=DarkEagle=

Gast
Hallo,
bisher habe ich Grundkentnisse in Java als Programmiersprache und in PHP als Scriptsprache.
Zudem habe früher öfters mal was in Basic programmiert und und manchmal Batch-Scripte
zur Systemverwaltung geschrieben.

Nun will ich in C++ einsteigen. OOP kenne ich nun von Jav schon etwas her.
Es heißt immer, dass man m Meisten durch viel üben lernt. Das stimmt wohl, aber ich
möchte möglichst effizient C++ lernen.

Was könnt ihr ggf. einem Anfänger mit obrigen Vorkentnissen an Tutorials/Büchern/Vdeos empfehlen?
Kann man einfach so was empfehlen oder ist das Typabhängig?

Mit Google wird man aj förmlich erschlagen, ws Tutorials angeht. ich habe allerdings jetzt nicht das TUT
gefunden, wo ich dachte " DAS IST ES". Vllt betreibt hier ja auch einer privat ein Projekt, was
das Thema C++ Lernen betrifft :-)

Bin da für alles offen =)


Reichen diese Links aus dem angepinnten Thread?

https://www.computerbase.de/forum/threads/nuetzliche-links-fuer-programmier-anfaenger.77651/
C++

Einführung in C++
STL Containers - C++ Reference
Standard Template Library Programmer's Guide
C++ Reference Guide > Dealing with Exceptions
Programming in C++
Design Pattern C++
AntiPattern


Ich habe auch schon Bewertungen zu Büchern gelesen, aber viele scheinen Fehler aufzuweisen :-(
Eine Lektüre ohne grobe fehler wäre super^^
 
Zuletzt bearbeitet:
programmieren lernen ist für JEDEN anders, du wirst immer leute finden die dir DAS BUCH empfehlen, wo du mit unter überhaupt nichts anfangen kannst und wühlst dich im endeffekt durch 6 60€ bücher bist du das gefunden hast was zu dir passt ;)

darum gibt es auch keinen "den einen richtigen und effizienten" weg, sondern es gibt den höchstens für jeden persönlich

mein rat wäre noch neben den gängigen 0815 büchern die dir jeder sagen wird, schau mal bei itunesU rein, da gibt es ggf auch zahlreiche Angebote, kostenlos, teilweise ganze Semester vorlesungen mitgeschnitten, incl übungsmaterial
 
Ich finde diese Seite ganz nützlich! Damit hast du erst einmal Ideen was du vllt. programmieren könntest. Quasi einfach anfangen und wenn es dir an irgendetwas fehlt, nach lesen.

Ansonsten kommst du mit den Links denke ich gut zu recht.
 
Saio schrieb:
Ich finde diese Seite ganz nützlich! Damit hast du erst einmal Ideen was du vllt. programmieren könntest. Quasi einfach anfangen und wenn es dir an irgendetwas fehlt, nach lesen.

Ansonsten kommst du mit den Links denke ich gut zu recht.

Die Seite schaut interessant aus. Bei den Links steht mir fast zuviel^^

sohei schrieb:
programmieren lernen ist für JEDEN anders, du wirst immer leute finden die dir DAS BUCH empfehlen, wo du mit unter überhaupt nichts anfangen kannst und wühlst dich im endeffekt durch 6 60€ bücher bist du das gefunden hast was zu dir passt ;)

darum gibt es auch keinen "den einen richtigen und effizienten" weg, sondern es gibt den höchstens für jeden persönlich

mein rat wäre noch neben den gängigen 0815 büchern die dir jeder sagen wird, schau mal bei itunesU rein, da gibt es ggf auch zahlreiche Angebote, kostenlos, teilweise ganze Semester vorlesungen mitgeschnitten, incl übungsmaterial

Schade. Hatte gehofft, dass es vllt DAS Buch gibt^^
itunesU schaue ich mir mal an :-)

Stype schrieb:

Die Bewertungen bei Amazon lesen sich recht gut. Sogar sehr gut^^
Ich werde es mir einmal bestellen und damit vmtl. dann meinen Einstieg wagen :-)




Was ich so programmieren werde, weiß ich schon :-)
Es werden mehrfach kleine Programme, die dem IT-Support in einer Firma die Arbeit etwas erleichtern
oder Standard-Probleme beheben :-)



Andere Frage noch: Wenn ich C++ dieses Jahr noch erlerne: Wie lange kann ich von dem Wissen ca. profiteren? Kommen regelmäßig wie bei PHP neue Versionen raus, sodass ich mich alle paar Jahre mit neuen Büchern/Tuts fortbilden muss?
 
Zuletzt bearbeitet:
Klar gibt's DAS Buch bei C++. :)
​Wäre zumindest meine Wahl, wenn mich C++ mehr interessieren würde, als die paar Zeilen, die ich in meinem Leben geschrieben habe. Dürfte aber ein harter Brocken für Einsteiger sein, daher hoffe ich, dein Verständnis von der ganzen Geschichte ist schon weit genug. Sonst wähle lieber ein anderes Buch.
 
Wenn du Java schon kannst, würd ich mir anschauen, was es mit den headern auf sich hat und einfach drauf los starten. Wenn du dann was bestimmtes brauchst (das du aus Java kennst), findest du es bei google. Die Syntax ist ansonsten recht ähnlich.
 
Ich würde dir einfach raten ein für dich passables Buch zu finden/kaufen und dann die Grundstrukturen von C/C++ lernen. Wenn du dich nach ein paar Übungen in der Lage fühlst, dann probier dich einfach aus und teste dich an kleinen Programm welche für dich möglicherweise nützlich wären. So habe ich es immer gemacht bzw. mach es jetzt genauso, wenn ich in eine neue Sprache einsteige.

Somit lernst du viel viel schneller und vor allem effizienter, als wenn du einfach nur Bücher und Tutorials paukst. Und mit jeder Aufgabe wirst du immer wieder an einen Punkt kommen wo du sagst "Wie mache ich das jetzt". Dann wird dir das Internet helfen und schwupp, du hast automatisch was neues gelernt. Ich weiß nicht ob das der "effizienteste" Weg ist, aber für mich der am besten das Wissen in den Kopf bringt.

So ist zumindest meine Meinung ;)

Zu deiner Frage mit C++ Updates: Da brauchst du dir keine Sorgen zu machen. Das wird vorraussichtlich immer gleich bleiben. Das einzige was hinzukommen wird (Wie jetzt bei C++11) sind kleine Verbesserungen oder Hilfestellungen wie z.B. eine for_each Schleife (Gab es vor C++11 nicht). Also keine Bange :)


Edit:
Achja, da du z.B. das Buch mit Design Patterns mit aufgeführt hast, würde ich dir wirklich erstmal raten dich intensiv mit den ganzen Pointer Konstrukten zu beschäftigen. Wenn du das dann ordentlich inne hast, dann kannst du auf Dinge wie das MVC-Pattern oder den Singleton zurückgreifen.

Ohne ein gutes Verständnis von Pointern und wie das funktioniert wird es später wirklich schwierig effiziente Dinge zu programmieren.
 
Zuletzt bearbeitet:
dudefan schrieb:
Zu deiner Frage mit C++ Updates: Da brauchst du dir keine Sorgen zu machen. Das wird vorraussichtlich immer gleich bleiben. Das einzige was hinzukommen wird (Wie jetzt bei C++11) sind kleine Verbesserungen oder Hilfestellungen wie z.B. eine for_each Schleife (Gab es vor C++11 nicht). Also keine Bange :)

Die Neuerungen (und teilweise auch Änderungen), die C++11 brachte, haben es stellenweise schon in sich. Ich beschäftige mich inzwischen seit 13 Jahren recht intensiv mit C++ ... um den neuen C++-Standard ganz zu verdauen, werde ich trotzdem noch etwas Zeit brauchen.
Gott sei Dank kommt aber so eine Neuerung nicht alle paar Monate ... zur Erinnerung, zwischen C++03 und C++11 sind immerhin 8 Jahre vergangen.

Übrigens, std::for_each gab es auch schon vor C++11; vielleicht meinst du range-based for-loops? Die sind in der Tat neu.
 
Storm88 schrieb:
Hallo,
bisher habe ich Grundkentnisse in Java als Programmiersprache und in PHP als Scriptsprache.

Nun will ich in C++ einsteigen. OOP kenne ich nun von Jav schon etwas her.
Es heißt immer, dass man m Meisten durch viel üben lernt. Das stimmt wohl, aber ich
möchte möglichst effizient C++ lernen.
Wenn du schon Java kannst, solltest du dich nach Informationen umgucken, wo sich C++ und Java unterscheiden. Objektorientierung ist bei Java alles und bei C++ nur ein Teil des möglichen. Wenn du C++ wie Java schreibst, fällst du auf die Nase.
Z.B. ist http://stackoverflow.com/questions/9192309/the-main-difference-between-java-c ein Anfang und dann gucken, wie das jeweils bei C++ gemacht wird.
 
Hier eine Liste von sinnvollen Büchern zu C++:

http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

Besonders zu empfehlen für C++-Einsteiger ist (seit Jahren schon) der C++ Primer.

Die aktuelle Version wurde komplett an C++11 angepasst und mit was älterem würde ich auch nicht mehr anfangen. Mit dem Buch macht man wirklich nichts falsch.

Bitte den Primer aber nicht mit dem Primer Plus von anderen Autoren verwechseln, denn der soll ziemlich schlecht sein.
 
@antred:
danke für den wiki hinweis. ich hab c++ leider nicht mehr so im auge, da ich beruflich bedingt fast nur noch in java programmiere. war schön bei der gelegenheit mal in die änderungen einzutauchen.
 
character schrieb:
Hier eine Liste von sinnvollen Büchern zu C++:

http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

Besonders zu empfehlen für C++-Einsteiger ist (seit Jahren schon) der C++ Primer.

Die aktuelle Version wurde komplett an C++11 angepasst und mit was älterem würde ich auch nicht mehr anfangen. Mit dem Buch macht man wirklich nichts falsch.

Bitte den Primer aber nicht mit dem Primer Plus von anderen Autoren verwechseln, denn der soll ziemlich schlecht sein.

Wenn ich mir schon C++ antue, ist es wirklich sinnvoll, die aktuellste Version zu lernen :-)

Noch eine Frage bevor ich mich endgültig entscheide. Ich werde unter anderem auch programme für die Firma schreiben, wo
auch noch XP auf manchen Notebooks im Einsatz ist.
Wie schaut das mit der Unterstützung von C++11 für Windows XP aus?
http://blog.m-ri.de/index.php/2012/...-11-und-windows-xp-ist-doch-nicht-gesprochen/

Wenn ich das richtig verstehe, muss ein C++-Compiler nur den in der Lage sein, um entsprechenden Code für ein OS ausgebenzukönnen.
Unterstützt XP mit aktuellen Updates C++11?

Ich bedanke mich bei allen für die zahlreichen Antworten :-) Das gibt mir alles eine gute Einschätzung von der aktuellen Situation :-)


EDIT//
http://www.amazon.de/C-Primer-Stanley-B-Lippman/dp/0321714113/
Taschenbuch.....938 Seiten....nettes Taschenbuch *g*
 
Zuletzt bearbeitet:
Hancock schrieb:
C++11 wird auch von DOS unterstützt.
Ob die Compiler auf Windows XP laufen? GCC sicherlich, VS vielleicht nicht, aber laufen wird der Code auf XP sicherlich auch (solange du nur den C++ Part betrachtest, DX11 wird bspw. nicht gehen).

In wie fern läuft C++11 auch unter DOS? So wie ich das bisher verstanden habe, läuft ein C++11 erzeugter Code nicht automatisch unter allen OS. Aber ich muss mich vmtl. erstmal in alles reinlesen, bevor ich überhauot eine halbwegs gescheite Aussage zu sowas treffen kann :-)

geisterfahrer schrieb:
Für Visual Studio 2012 wurde die XP Unterstützung mit dem ersten Update nachgereicht:
http://www.heise.de/developer/meldung/Erstes-Update-fuer-Visual-Studio-2012-1757115.html
(dritter Absatz)

oder etwas genauer:
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx

Cool :-) Danke ;-)
Dann werde ich meine ersten Schritte mal mit Visual Studio 2012 tun und mich durch ds Buch wühlen =)
 
Storm88 schrieb:
In wie fern läuft C++11 auch unter DOS? So wie ich das bisher verstanden habe, läuft ein C++11 erzeugter Code nicht automatisch unter allen OS.
Ich sag's mal so: Der erzeugte Code ist ja reiner Maschinencode, der läuft sobald man den richtigen Prozessor besitzt. Was anderes hingegen sind die Bibliotheken, gegen die man linkt. Die C++11 Standardbibliothek, gegen die nunmal standardmäßig ein C++ Programm linkt, muss nicht zwangsläufig überall verfügbar sein. Die Bibliothek kann beispielsweise nicht sinnvoll für DOS implementiert werden, da DOS keine Threads unterstützt, aber da C++11 Threadingfunktionen mitbringt... Für DOS sehe ich also schwarz.
Man muss also schauen, ob die Standardbibliothek auf die Plattform portiert ist.

Was ich noch anmerken wollte: Die C++11 Unterstützung von VS2012 ist verbesserungswürdig. Bspw Initialisationslisten und Templates mit variabler Parameterlänge sind nicht verfügbar. Es gibt aber ein Beta Update des Compilers, die beides unterstützt. Die finale Version soll angeblich noch dieses Halbjahr kommen. GCC und Clang sind da jedenfalls weiter.
 
Ich bin derzeit dabei ein größeres Projekt auf VS2012 zu portieren eben um die C++11 Funktionen nutzen zu können, da den Code zum Teil doch deutlich lesbarer machen(Und weil deutlich bessere Kompilate als mit dem MSVC8 erzeugt werden. Die Kompilate waren teilweise 50% kleiner! :freak: ). Die Initialisationslisten sind dort auch etwas was ich beim MSVC11 sehr vermisse, genauso wie constexpr und anderen Metafunktionen.
Schön sind aber schon mal die Unterstützung von Range Based For( for(auto p, vector) ), die Header "thread" und "chrono"( this_thread::sleep_for(chrono::seconds(1)) ) und auch die neuen Methoden für String( to_[w]string(), stoi() usw. ).

Also wenn jemand jetzt mit C++ anfangen möchte sollte man auf jedenfall gleich die neuen C++11 Funktionen mitlernen. Empfehlen kann ich dazu das Buch "C++11 programmieren - 60 Techniken für guten C++11-Code" von Torsten T. Will.
Das ist wirklich sehr gut und verständlich geschrieben.

Ansonsten warte ich noch auf die neuste Ausgabe von "The C++ Programing Language" welche Anfang Mai erscheint.
 
Zuletzt bearbeitet:
Zurück
Oben