Hallo zusammen,
ich bin hauptberuflicher Entwickler in Delphi.
Seit einiger Zeit beschäftige ich mich mit Python.
Auf der einen Seite denke ich, dass es einige Vorteile beim Lernen einer neuen Sprache bringt, wenn man bereits eine andere beherrscht.
Auf der anderen Seite habe ich nun bemerkt, dass dieses auch Probleme mit sich bringen kann.
Mittlerweile habe ich nämlich die Befürchtung, dass ich diese Sprache 'falsch' einsetze.
Soll heißen, dann ich Programme in Python genau so schreibe, wie ich es auch in Delphi tun würde.
Ich glaube aber, nein - ich bin mir sicher, dass manche Probleme in Python ganz anders gelöst werden, als ich anderen Hochsprachen und daher wollte ich mal fragen, ob Euch Seiten/Dokumente etc. bekannt sind, die Problemlösungen anderer Sprachen denen von Python gegenüber stellt.
Ich bin dahingehend leider nicht fündig geworden.
Ich hoffe, dass klar geworden ist, auf was ich hinaus möchte.
Besten Dank.
Der Python-Grundsatz im vergleich zu anderen Sprachen
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ich glaube nicht, dass es solche Dokumente gibt. Und wenn doch, dann stehen die Chancen sehr schlecht, dass die sich auch noch mit Delphi und Python beschaeftigen.
Idiomatisches Python bezeichnet man als "pythonic" (evtl lohnt sich eine Suche danach fuer dich), richtet sich grob am "Zen of Python" aus (-> PEP 20 & `import this`) und ist - wie auch bei natuerlichen Sprachen - vor allem eine unklar definierte Empfindung gegenueber dem Text.
Der beste Ansatz, um sich so ein Gefuehl anzutrainieren ist sich bei erfahreneren Feedback zu holen. Hier im Forum wirst du immer jemanden finden, der sich deinen Code anschaut und dir Feedback gibt.
Idiomatisches Python bezeichnet man als "pythonic" (evtl lohnt sich eine Suche danach fuer dich), richtet sich grob am "Zen of Python" aus (-> PEP 20 & `import this`) und ist - wie auch bei natuerlichen Sprachen - vor allem eine unklar definierte Empfindung gegenueber dem Text.
Der beste Ansatz, um sich so ein Gefuehl anzutrainieren ist sich bei erfahreneren Feedback zu holen. Hier im Forum wirst du immer jemanden finden, der sich deinen Code anschaut und dir Feedback gibt.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Sofern die Sprachen gleiche oder ähnliche Paradigmen haben, ja; wenn nicht, dann ist der Vorteil deutlich geringer, in manchen Bereichen sogar störend (unbefangen lernt sich manches einfacher!).sfx2k hat geschrieben: Auf der einen Seite denke ich, dass es einige Vorteile beim Lernen einer neuen Sprache bringt, wenn man bereits eine andere beherrscht.
Hehe... ja, das ist aber ein weit verbreitetes Problem! Das kann man aber nur durchbrechen, wenn man sich dessen bewusst wird (hast Du ja offenbar erkannt) und sich dann entsprechend gezielt auf die gängigen Idiome einer Sprache einlässt. Schau Dir einfach Grundlagen- oder weiterführende Tutorials an, in denen solche "pythonischen" Vorgehensweisen gezeigt werden. Poste Beispiel-Code hier und Du bekommst eine Menge Feedback darüber, was gut und was weniger gut gelungen ist. Lies Code-Reviews hier mit und versuche zu erfassen, *was* und *wieso* etwas als "unpythonisch" kritisiert wird.sfx2k hat geschrieben: Auf der anderen Seite habe ich nun bemerkt, dass dieses auch Probleme mit sich bringen kann.
Mittlerweile habe ich nämlich die Befürchtung, dass ich diese Sprache 'falsch' einsetze.
Soll heißen, dann ich Programme in Python genau so schreibe, wie ich es auch in Delphi tun würde.
Als Schnellschuss kann man das nicht dauerhaft und tiefgründig "lernen" - imho bringen solche "language X for Y users" Seiten nicht wirklich viel...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Eventuell könnte man auch in Verbindung mit Python nach „anti patterns” und „idiomatic” suchen. Und wenn der eigene Quelltext eher wie die ersten Ergebnisse aussieht und weniger wie die zweiten, dann macht man wahrscheinlich etwas falsch.
Das ist nicht ungewöhnlich. Bei meinen Python-Programmen der ersten 3 Monate könnte ich jetzt noch schreiend weglaufen und das gesamte Zeug aus dem ersten Jahr ist sicher interessant als Studie in kompliziertem Denken, aber gewiss nicht als Beispiel für elegante Python-Programmierung.sfx2k hat geschrieben:Mittlerweile habe ich nämlich die Befürchtung, dass ich diese Sprache 'falsch' einsetze.
Soll heißen, dann ich Programme in Python genau so schreibe, wie ich es auch in Delphi tun würde.
Zwei Dinge haben mir im Endeffekt richtig geholfen. Das erste war das Lesen und Verstehen des Tutorials. Zu Beginn bin ich nach der Devise "Ich kann doch programmieren, was soll ich mit dem Tutorial" vorgegangen, aber dann bin ich einige Male virtuell auf die Schnauze gefallen und habe mir dann glücklicherweise doch das Tutorial angeschaut. Noch mehr hat mir - und das ist der zweite Punkt -das Mitlesen hier geholfen. Zu Beginn steht man staunend vor einigen Codeausschnitten. Dann versucht man diesen Code nachzuvollziehen und lernt äußerst viel dabei.
Hallo zusammen,
ich danke Euch für Eure Erläuterungen.
Ich werde in einem separaten Thread mal Quelltext von mir posten, mit der Bitte, diesen zu bewerten.
Besser jetzt als wenn sich die anti pattern fest eingenistet haben
ich danke Euch für Eure Erläuterungen.
Ich werde in einem separaten Thread mal Quelltext von mir posten, mit der Bitte, diesen zu bewerten.
Besser jetzt als wenn sich die anti pattern fest eingenistet haben