Häh? Wenn du Klassen verwendest dann benutzt du OOP.Timm Thaler hat geschrieben:Und Klassen und so Kram kann ich auch in prozeduraler Programmierung verwenden, das ist ja nicht auf OOP beschränkt.
Overhead bei Objektorientierung
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Syntaxerweiterung von Pascal
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Syntaxerweiterung von Pascal
Naja, das würde ich jetzt nicht überbewerten. Das ist nicht das, was OOP ausmacht.m.fuchs hat geschrieben:Häh? Wenn du Klassen verwendest dann benutzt du OOP.
Aktuell habe ich ein Projekt, da definiere ich ein der Klasse svg mehrere Prozeduren zur Erstellung von Elementen eines SVG, also Linie, Kreis, Bogen, Polygon... Dennoch werden diese Elemente prozedural aufgerufen und abgearbeitet. Ja, würde auch anders gehen, lohnt aber den Aufwand nicht. Die Klasse hat hier nur den Grund, dass der Aufruf schöner erfolgen kann.
Andererseits ist es kaum möglich, eine GUI in Lazarus nicht per OOP zu erzeugen. Dennoch kann das dahinterliegende Programm größtenteils prozedural ablaufen. Was in Qt deutlich garstiger ist.
-
- Beiträge: 6943
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Overhead bei Objektorientierung
Im Prinzip stimmt dies, dein schöner Objectorientierter-Lazarus-Code, wird von Compiler schlussendlich in Assembler übersetzt, und dies läuft dann voll prozedural ab.Und Klassen und so Kram kann ich auch in prozeduraler Programmierung verwenden, das ist ja nicht auf OOP beschränkt.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 294
- Registriert: So 4. Mai 2014, 21:32
- OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
- CPU-Target: 64bit
- Wohnort: Oranienburg
Re: Overhead bei Objektorientierung
Ja genau. OOP ist ja auch nicht dafür gedacht, Compiler glücklich zu machen. Es soll doch eigentlich den Menschen helfen, ihren Code besser in den Griff zu kriegen. Oder habe ich das falsch verstanden???Mathias hat geschrieben:Im Prinzip stimmt dies, dein schöner Objectorientierter-Lazarus-Code, wird von Compiler schlussendlich in Assembler übersetzt, und dies läuft dann voll prozedural ab.Und Klassen und so Kram kann ich auch in prozeduraler Programmierung verwenden, das ist ja nicht auf OOP beschränkt.
Ich mag Pascal...
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Overhead bei Objektorientierung
Das hast du vollkommen richtig verstanden. Nachdem der Compiler durchgelaufen ist, kann man von OOP nicht mehr viel sehen. Lediglich dass bei den Aufrufen der Methoden ein Zeiger auf die Objektdaten übergeben wird. Und bei virtuellen Methoden kommt noch die VMT dazu. Aber letztendlich ist es eigentlich nur für den Programmierer.Marsmännchen hat geschrieben:Ja genau. OOP ist ja auch nicht dafür gedacht, Compiler glücklich zu machen. Es soll doch eigentlich den Menschen helfen, ihren Code besser in den Griff zu kriegen. Oder habe ich das falsch verstanden???
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 6943
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Overhead bei Objektorientierung
So habe ich es mir auch immer vorgestellt. Mit Klassen ist die Programmierung um einiges einfacher und übersichtlicher geworden.Aber letztendlich ist es eigentlich nur für den Programmierer.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot