nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

"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++
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