GUI entwicklung ohne OOP

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.
Antworten
Hartmannsgruber
User
Beiträge: 89
Registriert: Mittwoch 15. Januar 2014, 22:30
Wohnort: Bad Kötzting
Kontaktdaten:

Servus Leute,

habe mal wieder eine Frage an euch,
ist es möglich GUI's nicht Objektorientiert zu programmieren, also ohne OOP?

Grund für meine Frage, ich verstehe zwar im Grunde das Objektorienterte Programmieren,
komme aber damit in der GUI-entwicklung überhaupt nicht zurecht...
:|
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Hartmannsgruber: Dann verstehst du offenbar noch zu wenig von OOP und hast entsprechenden Nachholbedarf. Zu deiner Frage: Ja, man kann GUIs ohne wirkliche OOP-Kenntnisse programmieren, wenn es bei simplen Oberflächen, die ausschließlich Standard-Widgets verwenden, bleibt. Sobald du aber Widgets an deine Bedürfnisse anpassen möchtest oder wenn die Anzahl an Widgets so groß wird, dass diese sinnvollerweise zu eigenen Objekten logisch zusammengeschlossen werden sollten, dann führt kein Weg mehr an OOP vorbei. Man sollte keinesfalls anfangen, irgendwelche Workarounds in sein Programm einzubauen, nur damit man ja keine OOP verwenden muss. Das ist nicht zielführend und man wird es ab einem bestimmten Punkt auch selbst einsehen, dass diese Art von Vermeidungsstrategie auf Dauer nichts bringt. Also: Lern OOP und werde glücklich. ;)
BlackJack

@Hartmannsgruber: Theoretisch vielleicht, praktisch und vor allem in Python nein. Dazu müsstest Du ja erst einmal ein nicht-OOP GUI-Toolkit finden oder jemanden der aus einem vorhandenen GUI-Toolkit eine nicht-OOP API bebastelt hat. Was gar nicht so einfach ist, denn GUIs sind vom Wesen her OOP. Auch als man noch Programme in C für Windows 3.1 geschrieben hat, hatte die Programmiersprache zwar keine Unterstützung für OOP, aber die GUI-Bibliothek war objektorientiert aufgebaut. OOP ist keine Spracheigenschaft, sondern in erster Linie ein Modell wie man Code und Daten strukturiert. Und wie gesagt: das Modell bietet sich bei GUI-Programmierung einfach an und wird entsprechend von den GUI-Toolkits verwendet.
Hartmannsgruber
User
Beiträge: 89
Registriert: Mittwoch 15. Januar 2014, 22:30
Wohnort: Bad Kötzting
Kontaktdaten:

Also auskommen ist wohl nicht dann nicht... ich verstehe die Grundzüge der OOP mit Vererbung, usw...
ich komme nur nicht bei der GUI Proigrammierung zurecht.

Ich hätte im Internet bereits nach Tutorials dafür gesucht, aber da findet man irgendwie nichts sinnvolles,
dass einem die Zusammenhänge erklärt. :-(
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Hartmannsgruber hat geschrieben:ist es möglich GUI's nicht Objektorientiert zu programmieren, also ohne OOP?

Grund für meine Frage, ich verstehe zwar im Grunde das Objektorienterte Programmieren,
komme aber damit in der GUI-entwicklung überhaupt nicht zurecht...
Ja, GUIs lassen sich auch nicht objektorientiert programmieren.

Das habe ich jahrelang gemacht bis dann Turbo Pascal für Windows kam und sehr stark auf Objektorientierung setzte. Bis dahin hatte ich noch gar keine Erfahrung mit objektorientierter Programmierung und es war verdammt hart, sich da durchzukämpfen (hätte ich nicht teuer Geld dafür bezahlt hätte ich es vielleicht gar nicht gemacht). Im Endeffekt hat es sich absolut gelohnt. Ich hatte endlich Objektorientierung verstanden und im GUI-Bereich ging alles auf einmal viel einfacher und mit deutlich weniger Codeaufwand.

Wenn du jetzt sagst, dass du objektorientiertes Programmieren verstanden hast, im GUI-Bereich aber massive Schwierigkeiten damit hast, dann hast du meiner Einschätzung nach objektorientierte Programmierung noch nicht wirklich verstanden. Mit welchem Toolkit hast du denn in welchem Bereich Probleme? Wir können ja einfach mal irgendwo einsteigen.
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Das Ding an OOP-lastigen Bibliotheken / Schnittstellen ist halt nicht nur, dass man OOP einigermaßen beherrschen muss, sondern auch, dass man die vorgesehenen Codepfade innerhalb der verwendeten Klassen versteht. Und man muss wissen, wo man sich sinnvollerweise mit eigenem Code einhängen kann. Ich könnte mir vorstellen, dass gerade dies für den Anfang mitunter etwas viel auf einmal ist - bei mir war es jedenfalls so als ich mich in Verbindung mit der Qt-Bibliothek zum ersten mal intensiver damit auseinander gesetzt habe. Inzwischen bin ich's einigermaßen gewöhnt und schreibe selbst Dinge, die stark auf OOP setzen, auch wenn man damit vor allem für einen Anfänger mit Grundkenntnissen erstmal eine hohe Hürde setzt.
BlackJack

Zumal es ja eigentlich Tutorials für die meisten GUI-Toolkits gibt.

@Hartmannsgruber: Ist es denn tatsächlich das OOP oder die ereignisorientierte Programmierung die Dir Probleme bereitet? Denn das ist ja für viele Anfänger an der Stelle eine weitere Neuerung im Vorgehen, dass man nicht mehr selber den kompletten, meist linearen, Programmablauf bestimmt, sondern eigentlich nur noch kurze Programmstückchen schreibt die dann von der GUI-Hauptschleife beim Eintritt von bestimmten Ereignissen ”asynchron” aufgerufen werden.
Hartmannsgruber
User
Beiträge: 89
Registriert: Mittwoch 15. Januar 2014, 22:30
Wohnort: Bad Kötzting
Kontaktdaten:

@BlackJack: das ereignisorienter Programmieren macht mir keine Probleme. es ist wirklich das OOP :-(

Mein Problem dürfte wohl ziemlich genau das sein was snafu beschrieben hat.
Es ist ja nicht so das ich das OOP umgehen will, aber ich finde halt einfach nichts,
was es dementsprechend erklärt, vorallem im Zusammenhang mit GUI's

Bücher habe ich 2 auf meinen Schreibtisch, da wird es aber nur zu allgemein behandelt :-(
und solch komplexe Erklärungen, brauche ich auf Deutsch, da kann ich mit den Englischtutorials leider nix anfangen...
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hartmannsgruber hat geschrieben:und solch komplexe Erklärungen, brauche ich auf Deutsch, da kann ich mit den Englischtutorials leider nix anfangen...
Ah, da liegt der Hase begraben (oder wie das heißt). Ich fragte mich schon, wieso du keine GUI-Tutorials findet, denn davon gibt es haufenweise im Netz. Nun ja, du wirst ganz einfach Englisch lernen müssen, wenn du intensiver in die Programmierung einsteigen willst. Das sieht erstmal wie ein unbezwingbarer Berg aus, aber so nach und nach wirst du schon damit zurecht kommen. Nutze ein Online-Wörterbuch (ich empfehle gerne dict.cc) als Unterstützung und auf geht's. ;)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@snafu
Entweder ist der Hund begraben oder das Pfeffer liegt im Korn... :wink:

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
pillmuncher
User
Beiträge: 1532
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

@mutetella: Das schlägt doch dem Fass den Boden ins Gesicht!
In specifications, Murphy's Law supersedes Ohm's.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@pillmuncher
Wieso? Kann das Pfeffer nicht neben der Hase im Korn liegen? Du verwirrst mich völlig... :?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Hartmannsgruber
User
Beiträge: 89
Registriert: Mittwoch 15. Januar 2014, 22:30
Wohnort: Bad Kötzting
Kontaktdaten:

Mein Englisch ist nicht das beste und auch nicht das schlechteste. Ich habe selbst in meiner Arbeit damit zu tun,
aber bei solchen Sachen, wo ich was mir merken und lernen soll, da brauch ich halt meine Muttersprache.

Kennt irgendjemand ein gutes Buch zu diesen Thema? ;-)

Mit eueren "neuen" Redewendungen, bring ich die originalen durcheinander xDDDD
Benutzeravatar
snafu
User
Beiträge: 6908
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Das ist Leetspeak. Ähnlich wie ein anekdotischer Datenpunkt. 8)
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Also das ist mir hier zu offtopic, daher : Hoppelt der Hase durch den Wald, ists mit OOP zu Ende bald! :shock:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

GUI Entwicklung ohne OOP? Mensch Leute, das Leben ist kein Ponyschlecken!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten