Ich denke ihr verwechselt Datenkapselung mit Copy-Paste-Programmierung. Die "Legosteine" von denen ich sprach entsprechen Funktionen und Objekten, die von denen numerix spricht eher Codefragmenten.problembär hat geschrieben:(und damit ein Grund, warum ich OOP eigentlich nicht mag ...) ?
erbitte Weisheit
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@problembär: Bei der Datenkapselung geht es darum, dass man nicht wissen muss, wie der Legostein *intern* aufgebaut ist, solange er sich so verhält, wie die Dokumentation der Schnittstelle es beschreibt. Wenn Du das nicht magst, dann magst Du Programmieren im allgemeinen nicht, denn das ist nicht nur bei OOP-Programmierung angesagt. Auch in imperativen Programmiersprachen wird dieses Konzept schon sehr lange verwendet, um wartbare Programme zu schaffen. Grössere Systeme wären anders gar nicht möglich. Beispiele sind Bibliotheken in C oder Units in Pascal.
-
- User
- Beiträge: 79
- Registriert: Montag 12. Oktober 2009, 11:50
Setz dir ein Ziel, z.B. alle deine Bashscripte in Python neu zu schreiben.
Die Idee finde ich nicht so gut, weil es viele Probleme gibt, die sich mit Shellskripts (nicht nur Bash) eleganter lösen lassen als mit Python. Ein Einzeiler, der z.B. aus einer Kombination von sed und find besteht, lässt sich nur umständlich und unnatürlich in Python schreiben.
Genauso war das gemeint. Je nachdem, was man unter den Legosteinen versteht und wie man sie einsetzt, ist es ein gutes, tragfähiges Bild oder eben auch nicht.Leonidas hat geschrieben:Die "Legosteine" von denen ich sprach entsprechen Funktionen und Objekten, die von denen numerix spricht eher Codefragmenten.
Und es hat den unangenehmen Beigeschmack, als sei das das Haupteinsatzfeld von Python.derdon hat geschrieben:Die Idee finde ich nicht so gut, weil es viele Probleme gibt, die sich mit Shellskripts (nicht nur Bash) eleganter lösen lassen als mit Python. Ein Einzeiler, der z.B. aus einer Kombination von sed und find besteht, lässt sich nur umständlich und unnatürlich in Python schreiben.
Es gibt schon einige Threads im Forum dazu, was geeignete Aufgabenstellungen für Einsteiger sind. Häufig werden einfache Spiele empfohlen - "Vier gewinnt" ist da sehr beliebt (gerade in letzter Zeit wieder - wobei das dann eher Fälle waren, wo jemand es programmieren MUSSTE, nicht WOLLTE ...) oder Zahlenraten. Oder einfache mathematische Aufgabenstellungen, wie z.B. ein Primzahlprogramm.
-
- User
- Beiträge: 79
- Registriert: Montag 12. Oktober 2009, 11:50
Natuerlich nur die, wo es Sinn macht. (Einen ein bis zweizeiler bezeichne ich nicht umbedingt als Script, auch wenn es technisch eines ist.)derdon hat geschrieben:Die Idee finde ich nicht so gut, weil es viele Probleme gibt, die sich mit Shellskripts (nicht nur Bash) eleganter lösen lassen als mit Python. Ein Einzeiler, der z.B. aus einer Kombination von sed und find besteht, lässt sich nur umständlich und unnatürlich in Python schreiben.
Ich wage ja mal ganz stark zu bezweifeln, daß er überhaupt Bashscripte geschrieben hat. Es hörte sich nicht so an, als hätte er viel mit Linux gemacht.Gabelmensch hat geschrieben:Setz dir ein Ziel, z.B. alle deine Bashscripte in Python neu zu schreiben.