Python listen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Mr.White
User
Beiträge: 46
Registriert: Samstag 7. März 2015, 20:03

ist es zwingend notwendig als Anfänger elegant zu sein?
Ich programmiere seit 2 Monaten
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Spricht nicht so immer Homer Simpson? Heut ist mein erster Tag, die Arbeit macht immer ein anderer und der Max-Power-Weg.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Mr.White
User
Beiträge: 46
Registriert: Samstag 7. März 2015, 20:03

Danke. Das war unnötig in meinen Augen.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Mr.White hat geschrieben:ist es zwingend notwendig als Anfänger elegant zu sein?
Man sollte mit der Programmiersprache programmieren und nicht gegen sie.

Natürlich schreibt man zu Anfang Code der einem selbst, wenn man ihn später noch einmal anschaut, entsetzlich vorkommt. Geht man mit diesem Code an die Öffentlichkeit, so gibt es entsprechende Reaktionen. Hier im Forum bekommst du allerdings normalerweise extrem gute Tipps, wie du deinen Code verbessern kannst. Bitte sei dir darüber im Klaren, dass Kritik am Code nicht Kritik gegen dich persönlich ist. Wenn jemand fragt "Warum hast du das auf diese Art und Weise gelöst?", dann ist das die Aufforderung noch einmal über den eigenen Code nachzudenken. Man lernt einfach besser, wenn man sich selber Gedanken macht als wenn einem einfach nur fertiger Code für das bestehende Problem hingeknallt wird.

Ich erwarte von niemandem der erst ein paar Monate programmiert, dass er superelegante Lösungen schreibt. Ich erwarte allerdings, dass er bereit ist Kritik am Code anzunehmen und selber noch einmal darüber nachdenkt.

Von daher: ich habe absoluten Respekt davor, dass du deinen Code hier präsentierst im Wissen, dass er vermutlich zerpflückt wird. Aber das ist genau der richtige Weg. Daraus lernst du. Mach weiter so.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Mr.White: Klassen sollte man erst dann einsetzen, wenn Funktion zu umständlich werden. Das heißt: Wenn mehrere Funktionen auf ähnlichen Parametern arbeiten oder wenn an vielen Stellen im Code Argumente zwischen den einzelnen Funktionen hin- und hergereicht werden, dann kann man anfangen, über Klassen nachzudenken. Dann sollte man aber auch unbedingt wissen, wie man Instanzvariablen (Stichwort: ``self``) sinnvoll einsetzt, damit die Klasse auch tatsächlich einen Mehrwert darstellt.

Für den Anfang würde ich aber an deiner Stelle lediglich Funktionen einsetzen. Lerne doch erstmal Python und Programmierung an sich besser kennen. Der Objektorientierung kannst du dich später dann immer noch ausgiebig widmen. Keinesfalls solltest du glauben, dass Code mit Objektorientierung grundsätzlich einer funktionsbasierten Lösung überlegen ist. Und wenn ein Buch für Python-Anfänger diesen Eindruck vermittelt, dann sollte man IMHO sogar das Buch hinterfragen. Man kann ja auch durchaus mit 1-2 ähnlichen Büchern von anderen Autoren vergleichen, wie das Anfängerwissen dort vermittelt wird.
Antworten