Frage von Crysali, 111

Programmieren - Wieviel sollte man selber können?

Ich mache gerade meine ersten Schritte in Richtung Programmieren und stelle fest, dass viele Anleitungen einfach große Mengen an Code kopieren, beispielsweise für eine TreeView.

Sollte man als 'guter Programmierer' in der Lage sein, allen Code von Grund auf selber zu schreiben ? Oder ist Kopieren und Verstehen völlig 'legtitim' ?

Antwort
von Zaadii, 72

Kopieren und Verstehen ist gerade bei Lernprojekten legitim.

Du wirst aber feststellen, dass Du so gut wie nichts unverändert übernehmen kannst sobald Du etwas kompliziertere Sachen machen möchtest.

Insbesondere komplexere Algorithmen wirst Du so stark verändern müssen, dass Du am Ende kaum noch Code, sondern nur die Idee übernommen haben wirst.

Der Code der dabei entsteht ist aber meist unübersichtlicher, als wenn Du von Anfang an nur die Idee übernommen hättest und den Code selber entwickelt hättest.

Antwort
von Kiboman, 39

es ist aber auch für den lernenden ein Erfolgserlebnis

eine idee selbständig umgesetzt zu haben, anstatt sich darüber zu ärgern das das kopiert nicht so ist wie man es gerne hätte.

ich habe mir meist nur den weg, (ungefähr so mit diesen funktionen muss ich das machen) angesehen.

und dann von null selber geschrieben.

es dauert länger, ja aber das erlernte sitzt tiefer und man vergisst es nicht wieder.

Expertenantwort
von Marbuel, Community-Experte für Computer & PC, 50

Völlig okay. Ich kopiere in der Arbeit die ganze Zeit und von allen möglichen Projekten. Wenn ich weiß, dass etwas bestimmtes, was ich gerade brauche, in ähnlicher oder gleicher Form schon existiert, kopiere ich es mir. Copy&Paste triffst du in der Entwicklung mit großer Wahrscheinlichkeit sehr oft an. Hängt natürlich ein Stück weit davon ab, was genau du machst. Bei mir ist es inzwischen aber echt so, dass ich mir große Teile von anderen Projekten kopieren kann, weil es meistens jemand schon gemacht hat. :-)

Kommentar von Marbuel ,

Und nicht zu vergessen, vieles davon, was man braucht, findet man auch im Internet. Warum sollte ich also das Rad neu erfinden?

Kommentar von Mikkey ,

große Teile von anderen Projekten kopieren

ist ein Antipattern. Wenn ein anderes Projekt die gewünschte Funktion bereits implementiert, wird sie

so genutzt, wie sie ist oder

aus dem anderen Projekt isoliert, so dass sie aus dem anderen Projekt und aus dem neuen Projekt gleichermaßen genutzt werden kann.

Kommentar von CrystalixXx ,

Da gelobe ich mir doch das Prinzip von Klassenbibliotheken. Die sind goldwert!

Kommentar von Marbuel ,

War ja klar, dass wieder ein paar besonders kluge Programmierer ihren Senf dazu geben müssen. Wir haben Basisklassen. Sehr viele sogar. Da kommt aber nicht sofort alles rein, was eventuell wo anders nochmal gebraucht werden könnte, sondern nur das, was wirklich Basis ist. Darüber hinaus bleibt auch nicht immer die Zeit, sich darüber überhaupt Gedanken zu machen. Ein Lösungsansatz, der in zwei Produkten Verwendung fand, ist noch keine Basis. Und man rennt auch nicht gleich los und macht dafür ne Lösung, die von beiden Produkten verwendet wird. Schon allein, weil man im anderen Produkt meist nichts zu suchen hat und es bereits einen Stand haben könnte, der getestet und produktiv ist. Da komm ich dann nicht ums Eck und baue so einfach was ein. Das zieht im richtigen Leben wieder jede Menge Arbeit und viel Verwaltungsaufwand nach sich und dafür ist oft keine Zeit. Ist ja schön, wenn es Bücher gibt, die immer ganz toll von Design Pattern schreiben und was man tun soll und was nicht. Das richtige Leben sieht oft anders aus und Resourcen und Termin entscheiden oft, was möglich ist und was nicht.

Kommentar von kingbongo ,

Was ist das für eine Firma in der du arbeitest? So wie du das schreibst ("Basisklasse ableiten" - wie süß, "Copy/Paste" - WTF?)  klingt es ziemlich nach Scriptkiddy GmbH

Kommentar von Marbuel ,

Was genau ist an "Basiskkasse ableiten" süß? Und wo genau liest du das? Zeig mir doch bitte mal die Stelle. "Script Kiddy" klingt für mich nach pubertären Dummschwätzer.

Antwort
von triopasi, 38

Man kopiert gerne, gerade um Arbeit zu sparen. Was es schon gibt muss man ja nicht neu erfinden und durchtesten.

Du wirst aber feststellen, dass es irgendwann vieles nicht mehr zum kopieren gibt so wie du es gerne hättest. Da musst du dann wirklich selbst ran und mit deinem Können glänzen, und teilweuse wirklich bei Null anfangen (ganz ohne kopierte Teile).

Das was du kopierst solltest du auch selbst schaffen können. Am Anfang egal, aber da willst du mal hin. Nur zusammenkopieren ist kein Programmieren..

Antwort
von Beezy2376, 53

Klar kann man einfach alles kopieren und einfügen, ist ja nicht direkt klauen oder sowas. Was du aber selbst können musst, ist die Codes/Schleifen/Funktionen und so weiter eben so verändern, dass sie zu deinem Projekt passen, dafür sollte man die schon kennen.

Wirst im weiteren Verlauf des Lernprozesses sicher noch merken, dass es nicht für jedes Projekt schon die perfekt passenden Vorlagen gibt, da musst du dann eben selbst ran.

Antwort
von Computerhilfe11, 25

Man sollte eigentlich alles können.

Antwort
von LienusMan, 11

Ich erinnere mich an einen Schulfreund, der ein regelrechter Programmier-Freak ist.
Er sagte, dass die Hälfte von Programmierfähigkeiten darin besteht, zu wissen was man googeln muss und die andere Hälfte das kopierte zu verstehen.

Kommentar von Marbuel ,

Und damit hat er völlig recht.

Kommentar von CrystalixXx ,

Bei vielen scheitert es an der Recherche und bei den meisten am Verstehen.

(Sieht man hier häufig anhand der Fragen.)

Kommentar von LienusMan ,

Jap das stimmt

Keine passende Antwort gefunden?

Fragen Sie die Community