"Hello World!" bzw. schönes Wochenende!
Von: Gregor Szaktilla (spam.sz@ktilla.de) [Profil]
Datum: 07.06.2008 16:19
Message-ID: <g2e5d1$uus$00$1@news.t-online.com>
Newsgroup: de.comp.lang.iso-c++
Datum: 07.06.2008 16:19
Message-ID: <g2e5d1$uus$00$1@news.t-online.com>
Newsgroup: de.comp.lang.iso-c++
Hallo Anwesende! Nachdem ich in diesem Forum so freundlich aufgenommen wurde, möchte ich mich dafür bedanken, indem ich einige meiner bescheidenen Erkenntnisse zum Besten gebe. Ich hoffe, dass sie dem Einen oder Anderen, der sich das Programmieren in C++ selbst beibringen möchte, dabei helfen, die nötige Ausdauer zu entwickeln und den Mut zu finden, hier auch mit unvollkommenen "Meisterwerken" als Fragesteller aufzutreten. Allen anderen wünsche ich viel Spaß beim Lesen. Wenn man sich das Programmieren selbst beibringen möchte, sollte man sich zunächst um ein paar gute Werkzeuge kümmern: Ganz oben auf die Liste gehört ein geeignetes Buch. Ich habe mich für Thomas Wielands "C++-Entwicklung mit Linux" entschieden - sicher kein "einfaches" Buch, denn der Autor geht einen Weg, der den Lernwilligen schon ziemlich früh auf eine harte Probe stellt, denn schon im zweiten Teil geht es an’s Eingemachte, sprich: um Objekte. Herr Wieland begründet dies mit der Ansicht, dass das objektorientierte Denken oft unterentwickelt bleibe, wenn man zunächst "harmlosere" Dinge wie Befehle zur Ablaufsteuerung (for, switch/case ...) kennen lernt und mit dem wohl wichtigsten Konzept, das C++ von C unterscheidet, erst spät konfrontiert wird. Ich kann diesen Gedanken nachvollziehen, finde jedoch, dass dieses Vorgehen andererseits dazu führen kann, dass man versucht, jedes blöde Komma als Objekt zu behandeln. Wenn man Ähnliches an sich beobachtet, sollte man einmal über die Frage nachdenken, ob man es vielleicht übertreibt. Den zweiten Platz auf der Liste nimmt meiner Meinung nach die "richtige" Software-Umgebung ein. Da ich mich schon seit vielen Jahren mit GNU/Linux beschäftige und hier alle benötigten Programme nahezu kostenfrei zur Verfügung stehen, fiel es mir nicht schwer, meine Lern-Aktivitäten mit Unterstützung dieses Systems zu beginnen und bis jetzt dabei zu bleiben. Spätestens auf Platz drei folgen die "Verbündeten". Ob das ein Freund ist, der gerade ähnliche Aktivitäten entwickelt oder ein offenes, freundliches Forum wie de.comp.lang.ansi-c++, dürfte fast egal sein. Aber ziemlich sicher ist es keine gute Idee, sich ohne solche Verbündeten in eine Lernschlacht zu begeben. Ich habe das Glück, dass mir sowohl ein guter Freund als auch dieses Forum zur Verfügung stehen. Sodann kümmere man sich um ein paar wirklich gute Flüche, denn die können beim Abbau gelegentlich aufkommenden Frusts sehr hilfreich sein. Glücklich kann sich schätzen, wer zudem über eine schalldichte Programmierkammer (optimal: gepolsterte Wände) verfügt. Die weiteren Positionen der Liste fülle man mit anderen Dingen, die einem hilfreich erscheinen. Wichtig erschienen mir zum Beispiel Zitate und Sprichwort, die Themen wie "Geduld" und "Weisheit" behandeln. Beispiele: Folge nicht den Spuren der Meister - suche, was sie gesucht haben. Den Geduldigen laufen die Dinge zu, dem Eiligen laufen sie davon. Wenn man diese Dinge zusammen hat, kann man loslegen. Allerdings sollte man darauf gefasst sein, dass jedes Lernen mit Rückschlägen verbunden sein kann und dass man möglicherweise einen nicht geringen Teil seiner Zeit damit verbringen wird, auf die Schnauze zu fallen und bis zum Aufstehen darauf liegen zu bleiben. Spätestens jetzt wird einem bewusst, wie gut es ist, dass man beim Packen der Reiseutensilien an die Flüche gedacht hat ... Zum Schluss möchte ich noch ein paar nützliche Entdeckungen erwähnen, die mir sicher sehr geholfen hätten, wenn ich schon früher über sie gestolpert wäre: Wenn Dein Programm wie erwartet funktioniert, bedeutet das nicht, dass es fehlerfrei ist. Eventuell hast Du einfach nur einen Fehler doppelt begangen, was in manchen Fällen dazu führt, dass er sich zunächst selbst neutralisiert (um dafür an anderer Stelle aufzutauchen). Wenn Dein Programm nicht funktioniert wie erwartet, dann hast Du ganz sicher einen Fehler gemacht. Entweder liegt der Fehler in Deiner Logik oder im Code. Allererste Anlaufstelle für die Suche nach Hinweisen sind Fehlermeldungen und ggf. Warnungen des Compilers. Sollten diese Hinweise nicht ausreichen, ist es an der Zeit, sich an Punkt drei der oben erwähnten Liste zu erinnern. Wenn man Wert auf freundliche Hilfsbereitschaft legt, sollte man jedoch, /bevor/ man den betreffenden Personen auf die Nerven geht, noch einmal überlegen, ob man wirklich alle Meldungen verstanden hat. Das Programmieren per "copy & paste" ist von Zeit zu Zeit in Ordnung. Viel besser ist meiner Ansicht nach aber, wenn man das, was man in seinem Code hat, auch versteht. Computer sind dumm. Unglücklicherweise sind sie dermaßen saublöd, dass sie schon ein Problem haben (bzw. Dir bereiten), wenn Du versehentlich runde Klammern benutzt, wo eckige angebracht sind. Variiere Deine Testdaten bzw. -eingaben. Manche Fehler machen sich erst bemerkbar, wenn man z.B. statt "10" auch mal "1000" eingibt. Wenn Du ein Problem hast und nicht auf die Lösung kommst, weißt Du möglicherweise noch nicht genug. Viel Spaß und Erfolg wünscht Gregor[ Auf dieses Posting antworten ]
Antworten
- Stefan Reuther (10.06.2008 18:50)
- G. Szaktilla (12.06.2008 02:06)
- Andreas Hünnebeck (13.06.2008 10:17)
- Ole Hinz (13.06.2008 21:54)
- Anthony (13.06.2008 08:59)
