Programmieren falsche herangehensweise?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich glaube dass die meisten Programmierer nicht alles auswendig können. Selbst mein Infolehrer sagt selber dass er immer nachschauen muss und das nicht auswendig kann. Und wegen den Memes: natürlich kann man einfach nachschauen und einfügen, aber man muss auch verstehen was man da einfügt und das ganze so umformen können dass es passt.

Jikaya 
Fragesteller
 10.11.2022, 18:43

Also würdest du sagen das es darauf ankommt zu verstehen was man kopiert bzw. das man die Sprache versteht aber nicht das man sie auswendig lernt?

0
Jamie970  10.11.2022, 18:57
@Jikaya

Naja man sollte schon die Grundlagen können, aber ich denke es ist kein Problem wenn man sich Aufzeichnungen anfertigt in denen man immer nachschauen kann.

0
Jikaya 
Fragesteller
 10.11.2022, 19:00
@Jamie970

Grundlagen auswendig lernen und den Rest nur verstehen? Also klar wird ja automatisch auswendig gelernt wenn man es oft nutzt aber um Programmieren zu können ist eigentlich nur das Verständnis wichtig nach den Grundlagen, habe ich das richtig verstanden?

1
Jamie970  10.11.2022, 19:22
@Jikaya

Genau!

wenn du dich lange damit beschäftigst, prägt sich das automatisch ein :)

0

Man kann nicht alles im Kopf behalten. Es ist ganz normal das selbst gestandene Programmierer bei seltener genutzten Methoden usw. "nachschauen" müssen.

Das bedeutet jedoch nicht blindes copy&paste. Man sollte schon wissen was eine Routine im einzelnen tut. Selbstverständlich braucht ein erfahrener Programmierer sich keine Gedanken machen wie man grundlegende Dinge erledigt. Es gibt aber auch Situationen wo ich bei häufig veröffentlichten Vorgehensweisen noch immer Optimierungsmöglichkeiten finde. Diesbezüglich scheinen doch viele Programmierer es vorzuziehen den bequemen Weg zu gehen. In der Regel ist das auch ok.

Ich hatte vor kurzem mit einer Problematik zu tun, bei der ich Millionen von Iterationen ausführen musste. Bei derartigen Sachen können sich Millisekunden zu Stunden oder gar Tagen an Rechenzeit summieren. Da sollte man schon das propagierte "Standardprozedere" hinterfragen. (Gewöhnlich geht es lediglich um ein paar Duzent Loops, da interessieren ein paar Millisekunden garnicht)

Du musst nicht alles auswendig können. Viel wichtiger ist es zu wissen wie es funktioniert und vor allem wo du die nötigen Dokumentationen findest.

Es macht keinen Sinn sich die Mühe zu machen zig SBI-Konstanten auswendig zu lernen. Warum auch, sowas braucht man eher selten. Aber wenn darum geht, das irgendwas an Desktopeinstellungen, der Maus, Tastatur "geschraubt" werden soll habe ich wenigstens im Hinterkopf: "da war doch was..." , "kann man mal Nachschauen" und Google weiß in der Regel noch bevor es mir recht bewusst ist, in welche Richtung meine "Bedürfnisse" gehen. (Wenn ich mal nicht online Suchen kann habe ich auch noch eine eigene Datensammlung mit Notizen zu Themen, an welchen ich bereits gearbeitet habe.

Das war jetzt nur ein Beispiel für ein sehr großes Datenstrukturen mit vielen Unterstrukturen, das mir aus der Hüfte eingefallen ist, weil ich die Schnittstelle gelegentlich für PowershellScripte missbrauche" .

...und es gibt Sachen von denen ich keine Ahnung habe, weil ich noch nie damit konfrontiert war. Da hilft nur Google.

Wichtiger als alles andere ist es, beim heutigen Umfang von APIs und Frameworks, zu wissen wie man seine bevorzugte Suchmaschine effizient "füttert" und mit wenigen Blicken die nutzbringensten Ergebnisse zu erkennen.

Basics lernen und der Rest läuft mit den Projekten.

Auswendig lernen an sich bringt quasi nichts heutzutage. Wenn man natürlich alles immer nur nachschlagen muss, wird es mühselig und nervig, aber das kommt normalerweise automatisch mit der Praxis - die essenziellen Sachen benutzt man so oft, dass man sie sowieso lernt und alles andere ist normalerweise nicht wichtig

Auswendig zu lernen gibt es da kaum was.

Was man (ohne ständig ein Handbuch konsultieren zu müssen) parat haben muss, ist nur das Wissen über grundlegende Strukturen und Wortsymbole der jeweils genutzten Programmiersprache.

Schon wer C# einigermaßen kennt (oder einfach nur C mit dem Klassenkonzept aus C++), wird fast sofort auch jede andere Programmiersprache nutzen können.