Seite 3 von 3

Verfasst: 12.11.2008 14:53
von DarkDragon
Thorium hat geschrieben:
Kiffi hat geschrieben:
Thorium hat geschrieben:Aber den Beweis für die Produktivität will ich sehen. :)
wie soll man das denn beweisen?
Ich hab keine Ahnung wie man das beweisen soll. Aber Wenn DD schreibt das es erwiesen ist dann muss es auch beweisbar sein, ansonsten wäre es ja nicht erwiesen. :wink:
Ja dann frag 1000 große Firmen, die die Wende mitgemacht haben, ob sie mit OOP oder Prozedural produktiver arbeiten.

Wenn man OOP programmiert kann man die Einzelteile zu 90% wiederverwenden. Man kopiert sie einfach. Bei prozeduralen Geschichten hast du dann tonnenweise globale Variablen, wie z.B. in allen PBOSL Includes die gerade erneuert werden oder wenn nicht ist die schreibarbeit bei prozedural ist wesentlich mehr als bei OOP.

Also entweder OOP - Übersichtlich 90% wiederverwendbar, Prozedural - Unübersichtlich viel und 90% wiederverwendbar, Prozedural - Übersichtlich und 30% wiederverwendbar.

Der Mensch kann kaum 2 Prozesse gleichzeitig beobachten und erkennt durchschnittlich nur 7 Objekte auf einen Schlag. Prozedurale Programme sind große Listen von Funktionen mit wesentlich mehr als 7 Einträgen. OOP Projekte haben eine geordnete Struktur, die für jeden der das mal ein paar Wochen gemacht hat sofort ersichtlich ist und die Klassen sind in der Regel nie so groß, als dass viele Methoden drin wären.
Xaby hat geschrieben:JAVA zum Beispiel kann man auch komplett prozedural nutzen.
Ohne JBasic o.ä. kannst du das vergessen. Allein die Methode main() steckt in einer Klasse.

Erzeugst du in PureBasic wenn du ein Spiel schreibst erstmal 20 Dateien für "Spieler", "Output", "Input", "Welt", "Pfadfindung", ..., damit selbst ein unwissender gleich weiß in welcher Datei was ist, oder lässt du ihn erstmal 20 Minuten grübeln, weil du eine merkwürdige Datei namens "Sonstiges.pbi" erstellt hast?

Bei OOP wirst du regelrecht gezwungen alles so zu Ordnen, weil du psychisch schon so beeinflusst wurdest von der Idee alles zu Strukturieren und schon einige Beispiele hierzu gesehen hast.

Verfasst: 12.11.2008 15:41
von Xaby
@DarkDragon

Fast hätte ich geschrieben: Wenn man keine Ahnung hat, einfach mal ...


:?
Fluid Byte hat geschrieben: Die Diskussion ist doch eh fürn Arsch. Jeder soll das benutzen was ihm am meisten liegt bzw. was für die jeweilige Aufgabe geeignet ist.
Schließe ich mich eher dieser Meinung an.


Was die Übersichtlichkeit angeht, betrachtet ihr die Sache meines
Erachtens zu sehr vom Standpunkt eurer eigenen 20.000 Zeilen Projekte
Wenn überhaupt so viele.

Windows selbst ist prozedural. Und ob man Prozeduren wiederverwenden
kann oder nicht, hängt doch nicht davon ab, ob sie irgendwo drin
verschachtelt sind oder nicht.

Wenn man auf Namensräume abfährt, kann man sich seine
Prozeduren auch so hinbasteln.

Console_Output("Hallo")
Screen_Output("Hallo")

Beides nennt man Output, das eine ist für Consolen und das
andere für Screens.

Klar, jetzt würde man sagen, was ist, wenn ich nur Output() schreibe,
dann muss ich immer das Wort vorn mitziehen.

Ich glaube auch, dass ihr zu sehr auf PureBasic bei prozeduraler
Programmierung schaut.

Vor 20 Jahren gab es schon TurboPascal 7.0

Und da konnte man sich so oder so entscheiden.

Wenn Delphi wie Pascal nur für Windows gewesen wäre,
wäre es die ultimative Sprache in meinen Augen.


>>>>>>>>>>>>>>

Ich habe zwei Semester JAVA mit Datenbankanbindung gehabt,
und ein Seminar JAVA und ein Seminar JAVA Aufbaustufe erfolgreich
abgeschlossen.

Ich habe nichts gegen JAVA, aber es ist einfach nicht so
plattformübergreifend, wie es alle behaupten. Und wenn es auf
Windows schlechter läuft als andere Sprachen, ist es für meine
Zwecke auch wertlos.

Es kann auch Nachteile haben, dass alles in Klassen untergliedert ist.
Denn will man nur 20 Befehle in seinem Programm verarbeiten,
kann es sein, dass man dafür in 20 Dateien voller Quellcode
nachschauen muss.

Wir würden diese Diskussionen nicht immer wieder führen,
wenn es eine vernünftige Einbindung von UNITs in PureBasic geben würde.

Kennt jemand UNITs? Globale Variablen die für eine IncludeDatei
protected sind und Prozeduren, die vor dem Nutzer geschützt werden.

Ähnlich wie bei den Klassen.

Mit With hat man auch schon eine einfache Methode,
um Namensräume in PureBasic zu schaffen.

Das erspart das Schreiben von sadkashk_asdhkjsadhk_asdhaskjdh

:roll:

Verfasst: 12.11.2008 16:05
von DarkDragon
Xaby hat geschrieben:@DarkDragon

Fast hätte ich geschrieben: Wenn man keine Ahnung hat, einfach mal ...
Wenn du meinst dass die Professoren an der Uni keine Ahnung haben ... . Ich glaube nur dass hier eher weniger Leute in Teams mit mehr als 30 Personen arbeiten.

Verfasst: 12.11.2008 16:24
von Xaby
DarkDragon hat geschrieben: Wenn du meinst dass die Professoren an der Uni keine Ahnung haben ... . Ich glaube nur dass hier eher weniger Leute in Teams mit mehr als 30 Personen arbeiten
Ich meine ja auch nur, dass man auch mit einer OOP unübersichtlich
programmieren kann, wenn man es drauf anlegt.
Man macht eine Klasse und stopft da alles rein.
Kommentiert es nicht aus und gibt den Methoden nur komische
Bezeichnungen

Und genauso ist es möglich, effektiv, effizent und übersichtlich
prozedural zu programmieren.
Da PureBasic nicht für reines OOP ausgelegt ist, ist dein Einwand ja
irgendwie süß, dass es hier wohl eher weniger Teams gibt.

Fakt ist, dass es nicht ausreichend ist, OOP zu benutzen,
um ein vernünftiges Programm auf die Beine zu stellen.

OOP ist halt auch keine EierlegendeWollmilchsau :D

Verfasst: 12.11.2008 19:35
von dllfreak2001
OOP dort wo es Sinn macht..

Mit Prozedural kommt man auch wohin und warum sollte es nicht wiederverwendbar sein. Hier ist der Programmierstil entscheidender als
bei OOP, das ist alles.