ubuntuusers.de

Programmieren unter ubuntu

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

C++ lernt man am besten nicht übers Internet, zumindest nicht als Anfänger. Vieles, was im Netz an Anfängerlektüre zu C++ vorhanden ist (Tutorials, kostenlose EBooks, usw.), ist schlecht, veraltet, falsch oder alles zusammen. Gute C++-Lektüre ist zwar auch im Netz zu finden (z.B. Thinking in C++, aber die richtet sich fast immer an Leser mit Vorkenntnissen und ist für Anfänger nicht geeignet.

Wenn Du wirklich C++ lernen möchtest, dann gehe also am besten in die nächste Bibliothek und leihe Dir dort ein gutes(!) Buch über C++ aus. Empfehlenswert für Anfänger soll beispielsweise der C++ Primer sein. Lasse allerdings auch bei Bücher Vorsicht walten und erkundige Dich lieber vorher nochmal, denn nicht jedes Buch zu C++ ist auch lesenswert.

domachine

Anmeldungsdatum:
16. Mai 2007

Beiträge: 562

boldi33 schrieb:

Okay also ich will ganz neu beginnen und liebe die sprche c++ erlernen die Programme dazu habe ich ja schon nur wo kann ich die Sprache am besten lernen?

Also wenn du wirklich richtig einsteigen willst, würde ich empfehlen, mal ein bisschen in dem "C von A bis Z" Buch von Jürgen Wolf (http://openbook.galileocomputing.de/c_von_a_bis_z/) schmökern. Mir ist natürlich klar, dass man das auch ohne die C Vorkenntnisse angehen kann. Aber fürs Grundverständnis von Zeigern etc. ist ein Einstieg mit C gar nicht schlecht. Wenn man erst mal schwere steigen geschoben hat, rollen die leichten von ganz alleine ☺.

Dennoch ist es dann aber unumgänglich auch ein C++ Buch zu studieren, weil C++ dann noch einiges in den Sprachstandard mit einbringt, ich würde sogar behaupten, ihn fast komplett umkrempelt:

Als C++ Tutorial kann ich den von http://www.cplusplus.com empfehlen. Die Seite kannst du sowieso gleich bookmarken. Du wirst sie zu schätzen wissen. Dort kannst du schnell Klassen- und Funktionsbeschreibungen der Standardbibliothek nachschlagen.

Das Tutorial findest du hier: http://www.cplusplus.com/doc/tutorial/ Ist leider auf Englisch, aber das beste das ich kenne.

So ich hoff ich hab dich jetzt nicht erschlagen ☺

Viel Spaß und Erfolg,

Gruß Domi

Bauer

Anmeldungsdatum:
28. Juni 2006

Beiträge: 333

Lunar schrieb:

C++ lernt man am besten nicht übers Internet, zumindest nicht als Anfänger. Vieles, was im Netz an Anfängerlektüre zu C++ vorhanden ist (Tutorials, kostenlose EBooks, usw.), ist schlecht, veraltet, falsch oder alles zusammen. Gute C++-Lektüre ist zwar auch im Netz zu finden (z.B. Thinking in C++, aber die richtet sich fast immer an Leser mit Vorkenntnissen und ist für Anfänger nicht geeignet.

Wenn Du wirklich C++ lernen möchtest, dann gehe also am besten in die nächste Bibliothek und leihe Dir dort ein gutes(!) Buch über C++ aus. Empfehlenswert für Anfänger soll beispielsweise der C++ Primer sein. Lasse allerdings auch bei Bücher Vorsicht walten und erkundige Dich lieber vorher nochmal, denn nicht jedes Buch zu C++ ist auch lesenswert.

Das man dafür ein gutes Buch benötigt unterschreibe ich sofort. Aber hast du den Primer gelesen, Lunar? Ich hab ihn hier stehen und im Vergleich zu z.B. dem hier finde ich es für Anfänger ungeeignet. Als Referenz ist es aber ganz nett.

Wo wohnst Du denn Boldi? Entweder Du suchst Dir einen Studenten, der die Bücher für dich ausleiht, oder Du hoffst auf die örtliche Stadtbibliothek. Beide sollten sich zumindest ab jeder Uni finden.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@Bauer: Nein, ich habe das Buch nicht gelesen, eben weil ich gehört habe, es sei ein (gutes) Anfänger-Buch. Deswegen schrieb ich ja auch „soll … sein“ und nicht „ist“.

domachine

Anmeldungsdatum:
16. Mai 2007

Beiträge: 562

Ich schwör dabei wie auch bei C auf Herrn Wolf: http://www.amazon.de/von-bis-umfassende-Handbuch-Computing/dp/3898428168

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

Ok, Du hast es nicht anders gewollt. Aber sag hinterher nicht, wir hätten Dich nicht gewarnt. Mit C++ würde ich nicht anfangen, Ansi-C wäre das erste auf der Tagesordnung. Ohne diese Grundkenntnisse gehst Du mit C++ garantiert baden. (Meine Einschätzung, ich kann mich da nach etlichen Jahren immer noch irren.)

1. Kernigan/Ritchie - The C Programming Language, die deutsche Version ist echter Müll, aber als echter Programmierer kann man ja Englisch und nimmt das Orginal. Das Buch ist die C-Bibel und darf eigentlich nie fehlen, wenn man sich mit C beschäftigt.

2. Stroustrup, Josuttis, Lörke - C++ Special Edition, Addison Wesley, wenn möglich englisch.

Beides gibt es bei Amazon und in der Bib. Bei diesen Büchern lohnt sich die Fassung auf Papier durchaus.

Noch ein wenig Sarkasmus am Rande: Von Addison Wesley gibt es noch ein wunderbares Buch über die verschiedenen Shells. Sollte man sich zu Gemüte führen. Bitte sieh das nicht als persöhnlichen Angriff, aber für mich klingt das so: Du kannst die Shell nicht bedienen, hast keine Ahnung, worin Du Deinen Code schreiben willst und keinen Plan, wie Du Dir Informationen selbständig besorgst. Oben drauf kommt eine Sprache, deren Einsatz hier schon hinreichend beschrieben wurde und die eigentlich kein Programmierer, der ein Problem einfach nur erledigen möchte, freiwillig anpacken würde. Das schreit natürlich nach großen Projekten für richtig Fortgeschrittene. Viel Spass dabei.

FriedChicken

Anmeldungsdatum:
10. Juni 2006

Beiträge: 1751

Wohnort: Deizisau

Eigentlich würde ich die "C++ in 21 Tagen" von Jesse Liberty nahe legen, aber das gibt es nur noch (zu einem ziemlich hohen Preis) gebraucht zu kaufen. Aber wenn du es in einer Bibliothek oder bei einem Bekannten findest, dann nutze die Gelegenheit!

"C++ für Einsteiger" aus dem Galileo-Verlag scheint dem vom Inhalt her recht ähnlich zu sein, aber ich habe es selber noch nicht gelesen.

Für C gäbe es zum einen das E-Book C von A bis Z (gibt's natürlich auch gedruckt, was sicher auch Vorzüge bietet). Zum anderen ist "C als erste Programmiersprache" (Goll/Grüner/Wiese; dieses Buch besitze ich selber auch) eine gute Quelle für Standard-konformes C und geht gegen Ende auch auf technische Details (Linker, Interaktion mit dem Betriebssystem usw.) ein.

agaida schrieb:

1. Kernigan/Ritchie - The C Programming Language

Für tieferes Verständnis sicher nicht schlecht. Aber wohl nichts für den Einstieg und entspricht auch nicht den aktuellen C-Standards. (EDIT: Da muss ich mich wohl verbessern, die "aktuelle" Version setzt auf ANSI-C; die Übersetzung scheint tatsächlich schlecht zu sein)

Wenn du dir unsicher bist: Geh doch einfach mal in eine Fachbuchandlung/Unibuchhandlung/sonstige größere Buchhandlung. Manchmal muss man ein Buch einfach "fühlen", vor allem wenn es um ein ein Einstiegswerk geht, das einen womöglich auch später noch länger als Nachschlagwerk begleitet.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@agaida: C++ ist nicht C, wofür braucht man also C-Kenntnisse?!

Die Elemente, die C++ mit C gemeinsam hat und die auch in C++ nötig sind (eigentlich nur Schleifen, Abfragen und geschweiftem Klammern), werden auch in jedem guten C++-Buch behandelt. Den der Kompatibilität geschuldeten und nur selten nötigen Rest (C-Arrays, C-Strings, Zeigerarithmetik) muss und sollte ein Anfänger nicht kennen, denn in gutem C++-Quelltext haben derlei Konstrukte nichts verloren.

YEPHENAS

Anmeldungsdatum:
8. Juni 2009

Beiträge: 352

FriedChicken schrieb:

Eigentlich würde ich die "C++ in 21 Tagen" von Jesse Liberty nahe legen

http://abstrusegoose.com/strips/ars_longa_vita_brevis.PNG

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

ACK. Ich mag weder das eine, noch das andere. In den letzten 20 Jahren habe ich nur dann C oder C++ benutzt, wenn ich dazu gezwungen war oder wurde. Es gibt Momente, da muss man einfach...

Sonst bevorzuge ich Sprachen, die ich halbwegs flüssig lesen kann und die keine geschweiften Klammern haben 😉. Momentan bin ich relativ unglücklich, da ich mich zur Zeit mit PHP und kaltem Kaffee beschäftigen muss. Sonst habe ich eigentlich immer Pascal und seine Derivate benutzt. Das ist aber Geschmackssache. Wichtig für mich sind eigentlich nur eine gute Syntax und Semantik einer Sprache, noch wichiger allerdings, dass ich damit effizient meine Aufgaben erledigen kann.

Und ich hab damals C mit dem Kernigan/Ritchie gelernt. Das ist das einzige Buch neben Wolfram - Vom Problem zum Programm, was ich aus nostalgischen Gründen aus der damaligen Zeit noch habe.

FriedChicken

Anmeldungsdatum:
10. Juni 2006

Beiträge: 1751

Wohnort: Deizisau

YEPHENAS schrieb:

FriedChicken schrieb:

Eigentlich würde ich die "C++ in 21 Tagen" von Jesse Liberty nahe legen

http://abstrusegoose.com/strips/ars_longa_vita_brevis.PNG

Ja, da ist was dran ☺

agaida schrieb:

Ich mag weder das eine, noch das andere. In den letzten 20 Jahren habe ich nur dann C oder C++ benutzt, wenn ich dazu gezwungen war oder wurde.

Also wenn man etwas wie Qt (oder zumindest Boost) nehmen kann, ist es doch eigentlich gar nicht unangenehm ☺

Sonst bevorzuge ich Sprachen, die ich halbwegs flüssig lesen kann und die keine geschweiften Klammern haben 😉.

Da scheiden sich die Geister... Ich finde die geschweiften Klammern "schöner" und sie stechen auch viel besser raus. Und so tolle Vererbung wie in C++ findet man sonst wahrscheinlich nirgends.

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

Ich will nicht gegen C++ bashen, es kam ja schon zur Sprache, dass man auch unter C++ strukturiert schreiben kann und auch sollte . Ich mag halt Sprachen nicht, in denen ++i -= --j*k++ ein gültiger Ausdruck ist. Fakt ist, was theoretisch möglich ist, wird von irgend einem Kamel auch benutzt, auch wenn es nicht sein soll. Und ich habe mindestens ein Mal zu oft an der Stelle gesessen, an der so was debuggt werden muss, weil es crasht.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

@agaida: Der Ausdruck ist zwar theoretisch möglich (obwohl undefiniert in C und C++), aber man muss schon sehr lange suchen, um solche Konstrukte in Produktivcode zu finden. Davon abgesehen sind diese Ausdrücke nicht das Problem an C und C++, denn wer solche Ausdrücke schreibt, ist selbst schuld. Spaghetti-Code kann man in jeder Sprache schreiben ... also wenn Dich nur das an C und C++ stört, solltest Du mit diesen Sprachen eigentlich glücklich sein ☺

Die tatsächlichen Probleme von C und C++ liegen an ganz anderer Stelle. Bei C sind es fehlende Ausdrucksstärke und Typsicherheit, bei C++ die große Komplexität vieler eigentlich alltäglicher Konstrukte (Ausnahmen, Templates, usw.).

boldi33

(Themenstarter)

Anmeldungsdatum:
27. Mai 2010

Beiträge: Zähle...

Okay danke schonaml für die ganzen tipps ... ich werde mir wohl das Buch C++ lernen und umsetzen kaufen. @domachine ich weiß was ich eines Tages vorhabe mit den C++ kenntnissen und daher ist C++ schon das richtige für mich 😉 Dann habe ich noch die Frage ob mir irgendjemand zusätzlich wenn er nichts besseres zu tun hat mir das Programmieren Per Skype chat näher bringen möchte ☺ Vielen Vielen Dank schonmal für alle Antworten

agaida

Avatar von agaida

Anmeldungsdatum:
24. Februar 2010

Beiträge: 3348

Wohnort: Bielefeld

@Lunar: Ich gebe zu, dass Du recht hasst. Solche Konstrukte hab ich in der Praxis kaum gesehen (in der letzen Zeit). Wer so was selbst benutzt, darf nicht weinen. Wer so was bei Migrationen findet, der darf. Das Ganze hat sich mit C++ gebessert. Allerdings wurde grade im Bereich C mit solchem Schrott regelrecht rumgeaast, dass es ein Grauen war. Und so bilden sich lang genährte Abneigungen und (Vor)urteile. Es halten sich halt nicht alle Leute an gewisse Gepflogenheiten. Meistens waren sie zum Glück auch nie greifbar, wenn man sich körperlich eindrücklich bedanken wollte..