Mit C oder C++ anfangen



  • Ich habe hier zwei Bücher, das eine ist ein onlinebook von Jürgen Wolf "C von A bis Z" und das zweite deckt den C++ Bereich ab und ist von Herbert Schildt und heißt "C++ It Tutorial". Damit wäre ich für den Einstieg wohl gerüstet. Ich habe 30 Jahre Programmiererfahrungen sammeln dürfen von Basic über Turbo Pascal, Delphi und habe auch schon ins Qt Framework und Gtk+ hineingeschnuppert. Nach dem ich einige Zeit hier im Forum herumgestöbert habe, bin ich zu der Überzeugung gekommen, das die GUI Programmierung erst an letzter Stelle in der Lernkurve stehen sollte. Daher habe ich mir einen schlanken Editor (Geany) besorgt und möchte mir in den nächsten Monaten die Grundlagen von C oder C++ aneignen. Zum Verständnis scheinen mir Konsolenprogramme erst mal ausreichend zu sein. Meine Zielsetzung ist es, später das eine oder andere Programm zu erstellen, was Sqlite einbindet. Die Datenbankprogrammierung war schon immer der Schwerpunkt meiner Aktivitäten. Vor dem Erlernen der C oder der C++ Erweiterung habe ich mich immer erfolgreich gedrückt. Das soll aber jetzt anders werden. 😃 Jetzt mein eigentliches Anliegen, soll ich erst mit C anfangen oder gleich mit C++? Mein Bauchgehirn rät mir ganz von vorne mit C anzufangen und dann später mit C++ weiter zu machen, aber ganz sicher bin ich mir da nicht, deshalb brauche ich Euren Rat oder Empfehlungen. Sicher kann ich dann später die C Kenntnisse auch für C++ weiter verwenden oder irre ich mich da? Im übrigen arbeite ich seit vielen Jahren mit Linux.



  • ralli schrieb:

    Ich habe hier zwei Bücher, das eine ist ein onlinebook von Fritz Wolf "C von A bis Z"

    Kenn ich nicht, aber http://www.c-plusplus.net/forum/viewtopic-var-t-is-272350.html Der heisst jetzt Jürgen Wolf, aber vlt. meinst du den.

    Nach dem ich einige Zeit hier im Forum herumgestöbert habe, bin ich zu der Überzeugung gekommen, das die GUI Programmierung erst an letzter Stelle in der Lernkurve stehen sollte.

    Ne, nur nicht am Anfang.



  • Und man muss C nicht vor C++ lernen. Im Prinzip ist es egal, auch wenn es darüber jetzt ca. 5312 Seiten Diskussion gibt.



  • Fritz Wolf? lolo 😋 😋 😋 😮 😋 😋 😋



  • C können hilft, manche Tücken in C++ genauer zu verstehen, aber die C++-Leute beteueren, dass das zum Lernen nicht nötig ist, und man das bei Bedarf nachholen kann.

    Wenn dein Ziel ist, C++ zu können, dann fang gleich damit an. Wenn dein Ziel ist, C zu können, dann lern nur C. C ist, im Gegensatz zu C++, ein einfaches Werkzeug, das nicht viel mehr tut, als die allernötigsten Abstraktionen von der Architektur anzubieten. C++ ist um Größenordnungen umfangreicher. Ich zum Beispiel kann bis heute nicht richtig C++, und geistere trotzdem hier herum.
    🙂



  • Moin Ralli,

    da biste aber früh heut aufgestanden :D.
    Mit 30 Jahren Programmiererfahrung hast du bestimmt die Ruhe weg und die solltest du dir auch nehmen. Ich habe selbst erst vor ca. 3 Monaten mit C++ angefangen und konnte davor aber auch schon "programmieren". Warum ich mich für C++ und nicht für C entschlossen haben? Nun ja, ich kannte schon ein wenig OOP und wollte aber schon so Lowlevel wie möglich programmieren, ohne dabei auf die Vorzüge von OOP verzichten zu müssen, und da passte C++ hervorragend.

    Ich habe auch in C mal ein wenig was gemacht, weil ich es einfach mal ausprobieren wollte, mehr als ein paar Miniprogramme und eine Verkettete-Liste ist aber nicht dabei rausgekommen und ich kann wenigstens ein ganz kleines bisschen bei C mitreden. Bei C muss ich mich aber um zuviele Dinge selbst kümmern und das OOP fehlte mir auch sehr. Das kann man zwar auch in C nachbasteln oder Libs dafür nutzen, aber wozu wenn es in C++ schon alles Teil der Sprache ist?

    GUI habe ich, nach dem ich die Grundlagen von C++ ein wenig verinnerlichst habe ,mit Qt angefangen und bin auch gut damit klar gekommen. Zur Zeit probiere ich FLTK aus und da ich nur als Hobby programmiere werde ich sicherlich noch viel mehr probieren, da ich alle Zeit der Welt dafür habe und nicht das programmieren muss was ein Chef von mir will 😃

    Als Bücher kann ich dir empfehlen:
    - Der C++ Programmierer(Anfänger)
    - C++ Primer(Anfänger)
    - Die C++ Programmiersprache(Fortgeschrittener)
    - Effektiv C++ programmieren(Profi)

    Ansonsten ist das Forum hier ein wunderbarer Platz für Fragen, wo man sich selbst die Karten legt oder einfach unendlich lange recherchieren müsste um vielleicht mal auf die Lösung zu kommen. Allerdings wird hier schon erwartet viel selbst zu machen und die Frage so konkret wie möglich zu stellen.

    Ich hoffe du hast genauso viel Spaß an der Sprache/n wie ich und gibst nicht gleich auf wenn mal was zu komplex erscheint. Denk dran andere kochen auch nur mit Wasser und haben auch mal angefangen.

    Gruß Blue-Tec



  • Ein Danke Allen, die mir bei der Entscheidungsfindung zur Seite gestanden haben, das Votum ist ja eindeutig für C++ ausgefallen. Natürlich heißt der Autor des Buches "C von A bis Z" Jürgen Wolf, ich sollte nicht so früh schon schreiben... @blue-tec auch Dir vielen Dank, ja mit 60 Jahren kehrt tatsächlich Gelassenheit ein, vielleicht auch ein wenig Milde und hoffentlich auch eine Portion Altersweisheit. 😉 Tatsächlich bin ich Frühaufsteher, das ist in den Genen vorprogrammiert.

    Also, dann fange ich jetzt mal mit C++ an, Objekt Pascal ist ja auch objektorientiert. Dabei wird mit das Buch von Herbert Schildt doch hoffentlich wertvolle Dienste leisten. Mich wundert es, das er bei den Buchempfehlungen nicht genannt wurde, schließlich haben seine Fachbücher, die in mehreren Sprachen übersetzt wurden, eine Millionenauflage erreicht.

    Aber auch hier im Forum habe ich schon einige gute Tutorials gefunden.

    Als GUI Designer liebäugel ich dann später mit Glade und GTK+, eventuell kommt Anjuta als IDE in Betracht. Ja, das Forum hat es mir schon angetan, da werde ich wohl jeden morgen drin schmökern, wie es bei uns heißt. Und ich hoffe, das ich auch bald zu einem Gebenden werde und etwas zurück geben kann. Aufgeben? Nein ich werde ja fürs Ankommen irgendwann belohnt nicht fürs Anfangen!

    Nochmals vielen Dank für die lebendigen Antworten. Vergeßt nicht, auch ein alter Sack ist noch lebendig..



  • Na dann viel Spaß, ich bin zwar erst um die 40 aber kann jetzt schon sagen das ich es sehr von Vorteil ist nicht mehr so jung zu sein. Der ganze Druck und das ständige Beweisen ist weg und die Familienplanung ist auch abgeschlossen. Man kann also sehr entspannt in jeden Tag gehen. Wenn ich daran denke was mir mit 20 alles wichtig war und worüber ich mir alles einen Kopf gemacht habe 😃 . So hat jedes Alter seine Vorzüge und bin froh dass ich nicht mehr durchs Discos hüppen muss 😃

    Zu deinem Buch kann ich leider nichts sagen, ich hoffe es lehrt modernen C++ also mit STL, Standardbibliothek und vielleicht auch RAII. Wenn viel C-Code drinne vorkommt oder zb. leere Argumentenliste für Funktionen mit z.B. main(void) anstelle von main() gezeigt wird dann kannst du davon ausgehen das es nicht viel taugt in der heutigen Zeit. Wenn da jemand mehr weiß wie man modernes C++ erkennt immer her damit.

    Gruß Blue-Tec



  • ralli schrieb:

    Dabei wird mit das Buch von Herbert Schildt doch hoffentlich wertvolle Dienste leisten. Mich wundert es, das er bei den Buchempfehlungen nicht genannt wurde, schließlich haben seine Fachbücher, die in mehreren Sprachen übersetzt wurden, eine Millionenauflage erreicht.

    Das hat eindeutige Gründe. Seine Bücher gelten als extrem schlecht. Rezensionen zu seinen Büchern findet man unter anderem auf accu.org



  • <ironie>Na, welche ein Glück, daß rally auch noch A-Z hat zum Ausweichen hat.</ironie>
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-272350-and-highlight-is-.html

    mngbd schrieb:

    C können hilft, manche Tücken in C++ genauer zu verstehen, aber die C++-Leute beteueren, dass das zum Lernen nicht nötig ist, und man das bei Bedarf nachholen kann.

    Naja, so einfach isses nicht. Ich als C++-Mann würde rally doch empfehlen, zuerst ein gutes C-Buch durchzulesen (nicht durchzuarbeiten und nicht die Übungen machen, aber auch nicht überfliegen). Ihm wird das nicht den Stil versauen, sondern nur für ein tieferes Verständnis der folgenden C++-Bücher sorgen.



  • Hyperquantensrahl schrieb:

    ralli schrieb:

    Ich habe hier zwei Bücher, das eine ist ein onlinebook von Fritz Wolf "C von A bis Z"

    Kenn ich nicht, aber http://www.c-plusplus.net/forum/viewtopic-var-t-is-272350.html Der heisst jetzt Jürgen Wolf, aber vlt. meinst du den.

    volkard schrieb:

    <ironie>Na, welche ein Glück, daß rally auch noch A-Z hat zum Ausweichen hat.</ironie>
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-272350-and-highlight-is-.html

    🙄



  • ralli schrieb:

    Jürgen Wolf "C von A bis Z"
    Herbert Schildt "C++ It Tutorial".

    Das sind beides Autoren, die keinen guten Ruf besitzen.

    Herbert Schildt ist für sein "C - A Complete Reference" und den vielen Fehler darin bekannt, die zeigen, dass der Autor nicht wirklich vertraut mit dem ISO C Standard ist. Gut, die letzte Auflage ist auch schon uralt. Aber seine aktuelleren C++ Bücher sind nicht viel besser, siehe ACCU Buchbewertungen. Alle, ich wiederhole alle von den 6 Büchern, die dort aufgeführt werden und etwas mit C++ zu tun haben, sind mit dem Prädikat "not recommended" vermerkt. Die Rezensenten sind respektierte Leute der C++ Community.

    Zu Jürgen Wolf kann ich nicht viel sagen. Ich kenne seine Bücher nicht. Ich habe aber nicht den Eindruck, als wenn seine Bücher etwas taugen würden, siehe hier.

    Wenn schon 30 Jahre Programmiererfahrung vorhanden ist (ui!) dann wirst Du wahrscheinlich kein Problem mit dem Buch "Die C++ Programmiersprache" von Bjarne Stroustrup haben. Ich habe selbst die 4. Auflage der Übersetzung und fand das Buch (als Umsteiger von Basic/Pascal/Delphi/Java nach C++) sehr gut. Nachdem man die Sprache kennengelernt hat, zählt eigentlich auch noch Scott Meyers' "Effective C++" (dritte Auflage) zur Pflichtlektüre.

    kk



  • krümelkacker schrieb:

    Zu Jürgen Wolf kann ich nicht viel sagen. Ich kenne seine Bücher nicht. Ich habe aber nicht den Eindruck, als wenn seine Bücher etwas taugen würden, siehe hier.

    Den gab's schon zweimal. Es gäbe aber auch noch:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-254601.html
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-254882.html
    http://www.c-plusplus.net/forum/viewtopic-var-p-is-1940812.html
    ...

    Im ersten Thread taucht auch der mysteriöse Balu Jr. auf, der nach einhelliger Auffassung mit dem Jürgen Wolf entweder verwandt oder identisch ist.
    🙂



  • Noch was: auf meinem digitalen Buchstapel liegt seit gerauner Zeit "Thinking in C++", das gibt's online. Ist das in Ordnung?



  • Fange ganz einfach mit beidem parallel an. Suche dir 1 oder 2 gute Bücher für C und C++. Das Buch C++ sollte dich nicht gleich mit OOP und anderen Dingen erschlagen, das eignest dur dir später an. Dieses Thema ist hier im Forum aber heftig umstritten und das reine C oft als überholt oder gar überflüssig angesehen. Es kommt darauf an, welches Lernziel du hast und was du damit machen willst.

    Fange einfach an! 🙂



  • Beste Idee: Mit C anfangen und dann auf python/ruby umsteigen. Evtl noch lisp/scheme oder gar haskell angucken. Das reicht. C++ ist unnütz, mal von der vielzahl der verfügbaren bibliotheken etc abgesehen



  • berniebutt schrieb:

    Dieses Thema ist hier im Forum aber heftig umstritten und das reine C oft als überholt oder gar überflüssig angesehen.

    Ich denke, die meisten haben eher was gegen "C mit Klassen" (also C++, wie es in schlechten Büchern gelehrt wird) als gegen das reine C.



  • Ach es war nicht meine Absicht zu polarisieren. Aber ich habe alle Eure Antworten mit Hingabe gelesen und habe eine Nacht darüber geschlafen. Jeder hat seine Vorlieben, der eine liebt die Mutter, der andere die Tochter und dann gibt es noch ganz Leidenschaftliche, die lieben alle beide. 😃 Also ich werde wohl doch erst mit C anfangen. Das die beiden Autoren in Fachkreisen einen so schlechten Ruf geniessen,war mir allerdings nicht bekannt. Es gibt genug Tutorials und Vorlesungsscripte von Unis im Netz, aber ich habe mir erst Mal die hier im Forum empfohlenen runtergeladen zum Einarbeiten. Später werde ich dann mit Glade und Gtk+ die Gui's designen. Anjuta habe ich angetestet, aber das ist nicht mein Fall, ich werde erst mal alles zu "Fuß" machen mit Geany. Noch ein Mal vielen Dank für Eure tatkräftige Starthilfe. Jetzt aber geht es los. Ich arbeite unter CentOS 5.5, alle Werkzeuge und Entwicklerbibliotheken sind installiert und es kann endlich losgehen. Ich freu mich unheimlich darauf, auch das eine oder andere nützliche Konsolenprogramm zu schreiben. Zum Beispiel, um mit scanimage und tesseract (OCR) meinen Scanner anzusteuern und die Ergbnisse dann in einer sqlite Datenbank abzuspeichern.



  • ralli schrieb:

    Also ich werde wohl doch erst mit C anfangen.

    Kannst du ja einfach mal angehen, und mit der Zeit festlegen, wie weit du da eintauchen willst. Das kann man mit einiger Erfahrung sicher in ein paar Wochen abhandeln, ein wenig ordentliche Literatur gibt's auch online, z.B.:
    http://publications.gbdirect.co.uk/c_book/
    🙂



  • Mal ne andere Meinung:

    Ein gutes C++ Buch fängt mit einer Einführung in objektorientierte Programmierung und Denkweise an bevor es überhaupt an die Erklärung des ersten Befehls geht.

    Daher würde ich empfehlen solch ein Buch/Tutorial zuerst durchzumachen (dauert ja nicht lange). Aber wenn man sich erst ein C-Buch schnappt wird einem eine (für C++) 'falsche' Denkweise eingetrichtert wovon man sich dann nur schwer wieder entwöhnt (ich hab gerade zwei Azubis denen ich das alles wieder austreiben muss bevor man mit einer strukturierten Denke anfangen kann)

    Aus Interesse kann man sicher nebenher oder nachher C lernen bzw. sich die Unterschiede anschauen. Ist aber wirklich nicht notwendig bis man in die tieferen Tiefen der Programmierung einsteigt - und meist nichtmal dann.

    Der Stroustrup (also "Die C++ Programmiersprache" oder auch kurz 'die Bibel') ist sicher was für jemand mit vorheriger Programmiererfahrung. Nicht ganz leicht zu lesen aber extrem hochwertig als Nachschlagewerk.


Anmelden zum Antworten