Woher merke ich dass ich gut programmieren kann?

... komplette Frage anzeigen

2 Antworten

Vorweg: Das ist Definitions- oder Ansichtssache! :)

Allgemein könnte man so etwas ähnliches formulieren, wie:

Entweder wenn du dich beim Betrachten des Disassemblates darüber ärgerst, dass der Compiler deinen schönen Code schon wieder so ineffezient übersetzt hat und deine - händisch in Inline-Assembler geschriebene - Testalternative diesen Verdacht auch unter einem Profiler bestätigt. :)

Oder wenn "Scott Meyers" persönlich auf dich zu kommt, und dich um Erlaubnis bittet, deinen Code als Paradebeispiel für Eleganz in einem seiner Werke verwenden zu dürfen. :)

Meine persönliche Meinung sieht so aus:

(Achtung: jetzt wirds etwas philosophisch)

Vom Begriff "gut programmieren" würde ich mich verabschieden. Denn wenn du wirklich diesen Anspruch hast, wirst du ihn niemals befriedigen können. Und dein falsches Gefühl, dass du im Moment "gut programmieren" kannst, wird nur so lange anhalten, bis du etwas Neues lernst, und erkennen musst, dass du ja vorher wohl doch nicht sooo "gut" warst.

Das wiederholt sich dann für 10 bis 15 Jahre, bis das eigene Gehirn dann endlich irgendwann mal geschnallt hat, dass man nie "gut" sein wird, egal wie oft man diese Schleife durchläuft.

Allerdings wird man mit jedem mal "besser"! Und wenn dir das erst mal bewusst geworden ist, und du nicht mehr so häufig denkst, dass du jetzt "gut" bist, sondern dich stattdessen auf die zukünftig real erreichbaren "besser"-Level freust, und zwar ohne bewusst oder gar unbewusst den Anspruch "gut" zu haben, erst dann bist du auf dem besten Wege, ein "guter" Programmierer zu werden. Dass du dieses Ziel trotzdem nie erreichen wirst, spielt dann auch keine Rolle mehr. :)

Beachte bitte: Das heißt im Umkehrschluss nicht, dass du für immer "schlecht" programmieren wirst. Das Gegenteil von "gut" ist nämlich nicht "schlecht". :)

Ich habe noch nie einen "guten" Programmierer gesehen, viele "schlechte" und "bessere" hingegen schon. Allerdings je "besser", desto rarer.

Fazit: Anstatt hier also die Frage zu stellen, woran du erkennst, dass du "gut" bist, frage lieber danach, wie du "besser" werden kannst. :)

Das ist im wahrsten Sinne Stoff für eine andere Frage und würde hier den Rahmen sprengen. Der Vollständigkeit halber nur ein paar Stichworte, die dir sprachübergreifend grob ein Wegweiser sein sollen:

- Software-Architektur

- Sotware-Tests inkl. Mock-Objekten und Coverage

- Profiling inkl. Metriken

- Entwurfsmuster und Code-Smells

- Defensives Programmieren

Es gibt noch unendlich viel mehr, und die angerissenen Gebiete sind nur Oberkategorien von Oberkategorien. Vermutlich musst du pro einzelnem Punkt ca. zwei Jahre Lernzeit einplanen. Aber erstens lohnt sich das, und zweitens wirst du dadurch tatsächlich sogar deutlich "besser" werden.

Außerdem werden sich "bessere" Programmierer kaum Gedanken über die Syntax oder Sprachkonstrukte ihrer eingesetzten Sprachen machen, als viel mehr um teilweise trockenes (aber höchst interessantes) Drumherum.

Das ist so ähnlich, als wenn man bisher nur einfaches Rechnen in der Schule hatte, und plötzlich mit Hochschulmathematik konfrontiert wird. Auf einmal benutzt du gar keine Zahlen mehr, stattdessen überall nur noch Buchstaben aus aller Herren Länder, die durch Symbole zu größeren Objekten verbunden werden. Am Anfang mag das abschrecken, aber schon relativ schnell wirst du merken, wie "hammer geil" das Ganze im Vergleich zu dem ist, mit dem du dich früher beschäftigt hast.

In diesem Sinne: Viel Spaß beim "besser" werden! :)

Antwort bewerten Vielen Dank für Deine Bewertung

Ich denke, gutes Programmieren ist, wenn der Code funktioniert und du auch noch nach Wochen, ohne Kontakt mit ihm, oder andere, die ihn noch nie gesehen haben, auf Anhieb verstehst, was er tuen soll.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?