C lernen - aber mit welchem Buch?

... komplette Frage anzeigen

2 Antworten

C ist zwar genau genommen KEINE 100%ige Teilmenge von C++, aber wenn du es ernst meinst, solltest du nicht mit C, sondern gleich mit C++ anfangen.

Mit C++ hast du einfach viel mehr Möglichkeiten, und den C-Teil lernst du mehr oder weniger nebenbei. Entgegen der anderen Antwort muss ich dir sagen, dass es mit C++ fast nichts gibt, was du nicht damit programmieren kannst. Ich denke, C++ ist die vielseitigste Programmiersprache, die es gibt.

C++ ist allerdings auch viel viel umfangreicher. Für ein gutes Lehrbuch solltest du ca. 40€ bis 80€ ausgeben. Empfehlenswert ist "Der C++ Programmierer" oder der "C++ Primer" auf englisch. Wenn du fortgeschritten bist, solltest du zusätzlich noch "Die C++ Programmiersprache" lesen, aber das hat Zeit, da sich diese letzte Empfehlung laut Autor ausdrücklich nicht an Anfänger richtet.

Ich denke, das modernste, beste und umfangreichste Lehrbuch für absolute Anfänger auf diesem Gebiet ist momentan "Der C++ Programmierer" vom Hanser-Verlag.

Naja, viel Spaß beim Lernen! :)

PS: Egal ob du dich für C oder C++ entscheidest, kauf am besten keine Bücher des Autors "Jürgen Wolf"! Seine Werke strotzen nur so vor Fehlern, also nichts für Unerfahrene, die diese nicht erkennen können! Eindringliche Warnung: FINGER WEG!!! Wenn du mir nicht glaubst, kannst du dir ja mal die negativen Amazon-Rezensionen durchlesen, oder den Autor googeln.

PPS: "C++ lernen" heißt nicht, ein einziges Buch zu lesen, und die Sprache dann zu beherrschen! Du musst ständig weiter lesen und weiter lernen, da sich C++ auch ständig weiter entwickelt. Das klingt zwar nach harter Arbeit, macht aber Spaß und geht mit genügend Interesse fast von allein nebenbei, also mach dir keinen Kopf! ;)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von RmerKilian
19.04.2016, 14:14

Erstmal möchte ich mich für deine Mühe mir zu antworten danken, das weiß ich zu schätzen! Da ich momentan keine Ahnung von C und C++ habe, schaute ich gestern nach einem Unterschied von C und C++ und habe gelesen,  dass es notwendig sei, C zu können um C++ zu beherrschen. Zum Glück hast du mir das aus den Kopf geschlagen, weshalb ich mich schon mal besser auskenne :). Ich werde mir das Buch, welches du vorgeschlagen hast, auf jeden Fall  anschauen. Dass ein Buch nicht ausreicht, sollte kein Problem sein, da ich momemtan in der 8. Klasse bin und Zeitung austrage. Da mir 99% der Tutorials im Internet nicht helfen, will ich doch lieber ein Buch, das ich mir immer wieder mal, wenn ich Zeit hab anschaue und dann übe!

Die Bücher von diesem Autor hab ich gesehen und hab mir mal die Bewertungen mit einem Stern angeschaut. Die waren Warnung genug, das Buch nicht zu kaufen! :D 

Mlg RmerKilian

2
Kommentar von RmerKilian
23.04.2016, 17:20

Hallo TeeTier! Ich hab noch mal eine Frage an dich: Da du ja C++ beherrschts, was ich natürlich hoffe ;), wollte ich dich fragen, ob du noch ein Buch kennst das sich um das Programmieren von Spielen handelt. Hab das Buch "Der C++-Programmierer" natürlich trotzdem zuhause! :) 

1

C ist alt und C++ hat auch +25 Jahre hinter sich als Sprache. Welches Buch, - was möchtest du den machen? Spiele Programieren oder routinen für einen Plasmareaktor schreiben. C/C++ in ein schwarzes Consolenfenster mehr nicht, hat keine Graphik.

Damit kannst du sehr gut deinen Prozessor ansteuern. Und mit C kommst du sehr viel schneller damit in Berührung, was da genau passiert.

Du könntest Mathe Aufgaben berechnen. Und natürlich  Programme für Arduino schreiben. Also was für ein Buch? schnapp dir ein gebrauchtes für .99 Cent und schau das du ein simples Program schreibst. Dann kann du auch besser einschätzen, was die andren teuereren Bücher - dir vermitteln wollen.
Ich fand das ziemlich gut:
http://www.amazon.de/gp/offer-listing/3499600749/ref=dp\_olp\_used?ie=UTF8&condition=used
und spiele:
http://www.amazon.de/C-f%C3%BCr-Spieleprogrammierer-Heiko-Kalista/dp/3446403329/ref=sr\_1\_3?s=books&ie=UTF8&qid=1461016610&sr=1-3&keywords=c+f%C3%BCr+spieleprogrammierer

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TeeTier
19.04.2016, 04:20

C ist alt und C++ hat auch +25 Jahre hinter sich als Sprache.

C++14 wurde erst vor kurzer Zeit veröffentlicht und C++17 steht in den Startlöchern. Der Sprachumfang hat sich allein zwischen C++11 und C++14 fast verdoppelt. Das gilt sowohl für Features und die Bibliothek, als auch für ganze Konzepte.

Programmieren mit C++05 und C++11 ist, als würde man eine andere Programmiersprache verwenden. Ein Unterschied in der gleichen Größenordnung zeichnet sich zwischen C++11 und C++17 ab.

Ich würde soweit gehen und sogar die Behauptung aufstellen, dass jemand, der bei C++05 (oder sogar noch früher) stehen geblieben ist, kein C++ Programmierer ist, und die Sprache nochmal neu von Anfang an lernen sollte!

C/C++ in ein schwarzes Consolenfenster mehr nicht, hat keine Graphik.

Programme wie Photoshop, Firefox, Word, unzählige Weitere und auch so ziemlich sämtliche Betriebssysteme und APIs widerlegen diese steile These!

GUI Bindings gibt es IMMER für C und C++! Das sind die ERSTEN beiden Sprachen, die bei fast jedem Projekt als ERSTES von Anfang an unterstützt werden.

Damit kannst du sehr gut deinen Prozessor ansteuern.

Eigentlich wurde C deshalb entwickelt, um genau DAS nicht mehr tun zu müssen. Aber vermutlich hast du dich nur falsch ausgedrückt.

Und natürlich  Programme für Arduino schreiben.

Arduino wird mit einer C-artigen Sprache entwickelt, es ist aber kein C.

schnapp dir ein gebrauchtes für .99 Cent und schau das du ein simples Program schreibst.

Gaaaanz schlechter, falscher und für Anfänger sogar gefährlicher Tipp! Gerade am Anfang sind gute Lehrwerke wichtig. Und die beiden von dir verlinkten Bücher sind nicht nur "nicht gut", sondern arg verarltet.

Wenn man mal schnell etwas hinpfuschen will, was grob etwas mit entfernter Spieleentwicklung zu tun hat, kann man diese Werke natürlich nehmen, aber C oder C++ hat man danach nicht drauf. Nicht mal ansatzweise, und wohlgemerkt nicht mal ausreichend die Grundlagen!

Fazit: Ich finde deine Antwort leider überhaupt nicht hilfreich, und - wie anfangs erwähnt - für Einsteiger, wie den Fragensteller, sogar kontraproduktiv. Sorry!

2