Wie wird man ein sehr guter Programmierer ?

1. Fehler machen
2. Fehler erkennen
3. aus Fehlern lernen
4. bei 1. anfangen ;)

Alleine ein guter Programmierer zu werden ist schwer. Entweder macht man es beruflich und lässt sich viel von anderen zeigen - und übt auch gleichzeitig, anderen Leuten was zu erklären. Oder aber z.B. an OpenSource-Projekten mitarbeiten. Und wenn es Anfangs nur helfen auf den Mailing-Listen ist. Lernen, von anderen Lernen und immer wieder die eigenen Fehler erkennen (man hört nie auf welche zu machen) und kontinuierlich verbessern.
 
7H3 N4C3R schrieb:
Oder aber z.B. an OpenSource-Projekten mitarbeiten.

Würde ich nem Anfänger nicht empfehlen. Zum einen sind die meisten OpenSource-Projekte entweder hoch komplex oder sehr improvisiert (teilweise auch beides). Ich hab da schon allerhand Zeug erlebt. Müsste man sich schon ganz gezielt was aussuchen, wo gutes Management im Hintergrund ist.
 
Blo0DLusT schrieb:
Einfach nur viel Programmieren!
Alles Andere ergibt sich von selbst, dadurch das es dir das Programieren erleichtert z.b Sauberkeit, Planung usw.

Das kann man nicht pauschal sagen.
Dass, was ich von einigen Programmierern sehe, die schon mehrere Jahre als Programmierer tätig sind, ist echt schlimm. Heute war ich Zeuge einer genialen Methode, wo eine Exception als Rückgabewert benutzt wurde, anstatt sie zu werfen (Java). Der eigentliche Rückgabe-Wert wurde als Klassenvariable gespeichert.
Auch habe ich schon eine über 400(!) zeilige Klasse gesehen, die nur die Aufgabe hatte, eine Linie zwischen zwei Punkten zu zeichnen. Sowas knallt man mittels Bresenham in 10 Zeilen hin, wenn man mal sowas benötigt. Da aber schon mit einer Grafikbibliothek gearbeitet wurde, war die komplette Klasse überflüssig und konte gegen eine einzige Zeile ausgetauscht werden. Ja, auf einen Mist muss man erstmal kommen ... und das von jemanden, der mehrere Jahre als Programmierer arbeitet ...

Einfach nur viel programmieren ist auch nicht die beste Methode, um zu lernen. Wichtig ist, dass man in seiner eigenen Entwicklung nicht stehen bleibt. Man muss auch bereit sein, sich selbst ändern zu können. Dass man auch mal andere Programmierstile anschaut und sich dort inspirieren lässt, um seinen eigenen Stil zu verbessern.
 
IceMatrix schrieb:
Würde ich nem Anfänger nicht empfehlen.
Kann ich nachvollziehen. Man kann ja (nachdem man in einer Sprache sattelfest ist als Grundvoraussetzung) anfangen sich in den Source eines Projektes einzuarbeiten - am besten natürlich eines, das einen sowieso schon interessiert, oder das man benutzt.
Klar gibt es auch viele schlechte Projekte - aber auch an schlechtem kann man lernen (warum funktioniert Konzept XYZ eigentlich nicht richtig).
Von dem was ich bis jetzt gesehen habe, macht die Apache Foundation ziemlich gutes Zeug, auch wenn das nicht unbedingt leichte Kost ist.
 
Heutzutage kann mann nicht ein guter Programmierer sein, weil es einfach zu viele bereiche gibt in dieser Welt.
Du musst dich um eine Richtung entcheiden und diese richtung perfektionieren. Du musst dich entscheiden ob du en Programmieren oder ein Entwickler sein willst. Und wass du in diesem bereich machen willst. Ich meine damit ob du Web Apps machen willst oder spiele oder, programme mit algoritmen.

Um eine überblick zu bekommen schau dir mal verschiedene Sprachen ann. c, c++, c#, python, pascal, java, COBOL (noch immer aktuell und einer der ältesten Sprachen)...

Ich bin ein Informatiker mit guter logik, aber ich hasse die Syntaxen und damit weigere ich mich zu programieren.
 
Zuletzt bearbeitet:
Xport schrieb:
Heutzutage? Die Antwort ist einfach: gar nicht mehr.
...
Die Veränderungen im Bedarf an Software sind heute solch kurzen Zyklen unterworfen, dass man das nur noch mit 4GL und 5GL Tools nach halten kann, und diese wiederum sind reine Baukastensysteme.
...

Also ich weiß ja nicht in welchem Umfeld du dich bewegst aber ehrlich gesagt entspricht das nicht der Realität. Natürlich sind die Zyklen kürzer geworden.
Das entspringt aber auch der gestiegenen Produktivität in dem Umfeld dank der Entwicklung von Frameworks, IDEs etc. Trotzdem spielt 4GL und 5GL im allg. nicht wirklich eine große Rolle. Sie sind eher Spezialtools/Sprachen für gewisse, stark begrenzte Einsatzszenarien. (zumindest meinem Erfahrungsschatz nach)

Außerdem ist es immer von Vorteil wenn man die Basics kennt die hinter solch fortgeschrittenen Konstrukten stehen (muss ja nicht gleich bis auf Assemblertiefe sein) und letztendlich muss auch irgendjemand Compiler, Frameworks und 4GL/5GL Tools schreiben ;)
 
Sehe ich genauso. Viele Programme sind in der Industrie recht improvisiert und nicht professionell entwickelt. Liegt oft einfach daran, dass alles schnell gehen soll und vieles nur für einen einzigen Einsatzzweck entwickelt wird. Da ist das Softwaredesign aus Sicht des Anbieters oft nebensächlich. Die "Baukästen" sind zwar nett, aber oft schon deshalb nicht anwendbar, weil Kunden gelegentlich sehr eigenartige Vorstellungen von "ihrem" Produkt haben. Das passt schlicht nicht in Schema F (und eigentlich auch in sonst keins..). Aber es ist ja nix neues dass Management und Kaufleute sich ungern was von Technikern sagen lassen. Die haben da ihre ganz eigenen Vorstellungen..
 
Man wird gut indem man sich verbessert und das hängt nicht alleine mit der Erfahrung zusammen. Es gibt genug Personen deren Kentniss sich von 5 Jahren zu 10 Jahren Erfahrung kein Stück verbessert hat:
"Es ist nicht hübsch aber funktioniert doch, was willst du?"

Gut wird man nur, wenn man sich verbessern will, wenn man nie zufrieden mit dem ist, was man geschaffen hat, weil man es an der einen oder anderen Stelle immer verbessern kann. Und es gehört dazu über den Tellerrand zu schauen, man wird nur besser wenn man seinen Horizont erweitert, möglicherweise auch in Bereiche, die einem erst einmal total unsinnig erscheinen (funktionale Programmiersprachen).
Und für einen Programmierer ist nicht nur seine Programmiersprache relevant, sondern auch was damit zusammenhängt: Wissen über Datenbanken, Wissen über Softwarequalität (Metriken, Unit-Tests, Continous Integration) oder ähnliches.
 
Zuletzt bearbeitet:
Zurück
Oben