Stärken und Schwächen von Object Pascal

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Stärken und Schwächen von Object Pascal

Beitrag von pluto »

Hallo,
gesten hatte ich die seltene Gelegenheit mit einem "echten" Informatiker zu sprechen der es auch Studiert hat...

Dann kamen wir so ins Gespräch über "Object Pascal". Er meint es hat "sehr viele" schwächen und ist im Grunde genauso anfällig wie c oder c++.

Als beispiel hat er genannt es gibt kein echten Object Schutzt. Was das genau ist konnte ich nicht nachvollziehen. Ich könnte mit Pointern irgendwie auf Klassen zugreifen auf die ich sonst keinen Zugriff hätte oder so ähnlich.

In diesen Thread würde ich gerne klären was ein Object Schutzt ist, und was die Stärken und Schwächen von "Object Pascal" sind

ich kenne bisher nur zwei schwächen, die mir aber nix ausmachen:
- Zikluärer Aufruf von unit
- Keine Mehrfach Vererbung.

Als Sträcken finde ich die Property Eigenschaft praktisch.

Und im laufe des Gesrpäch sagte er noch, ja OOP kam ja dazu es wahr ja nicht geplant gewesen.... und das Konzept würde in "Object Pascal" auch kein echtes OOP sein.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Kommt dein "echter" Informatiker aus dem .NET oder Java Lager?
Sieht so aus, denn C und C++ findet er ja auch zu "anfällig".
Nur seltsam dass die meisten Programme und Betriebssysteme genau damit geschrieben sind.
Nicht sehr stichhaltig das Ganze.
Dass Wirth's Pascal anno dunnemals kein OOP konnte, ist auch nichts neues. Wo ist das Problem?

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Er hat Informatik Studirt und spricht so mit alles, aber ich glaube er ist pytong
Fan.

Genau habe ich es auch nicht nachvollziehn können, weil ja auch alle welt C++ und so nutzt... wie verrück... Das es halt kein echtes OOP Konzept gibt bei Pascal bzw. Object Pascal. Was das auch immer heißen mag...
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Also das jemand studiert hat, muss nichts über seinen Wissenstand aussagen. Ich helfe ständig freunden von mir beim Studium.
Das was er als Objektschutz bezeichnet ist ein Schutz der einzelnen Speicherbereiche und den verwaltet das Betriebsystem ist also gar nicht Prgrammiersprachenabhängig. Bei interpretierten Sprachen ist das sicherlich noch etwas angenehmer weil der Interpreter solche Zugriffe abfangen kann bei echten Anwendungen gibts dann eine Access Violation. Dafür aber so viel Rechenleistung wegzuwerfen ist Quatsch. Wenn man nicht programmieren kann ist sicherlich eine interpretierte Sprache wichtig wenn man fähig ist einen Debugger zu bedienen und etwas gewissenhaft ist brauch man sowas nicht muha.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

sehe ich eigentlich genauso. Er meinte nur es ist möglich auf klassen zuzugreifen die ich gar nicht verwende. Aber das war halt nur ein Beispiel.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Nein ist es nicht.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Was meinst du damit genau ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

das wenn du auf ein objekt zugreifst das nicht existiert du eine access violation bekommst du das also auch nicht machen kannst.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ja das ist klar, ich weiß auch nicht genau wie er es gemeint hat.
Es viel nur das Stichwort: Pointer.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Naja Grundsätzlich geht's hier aber nicht um Pascal/Delphi sondern um: "managed code" oder wie immer man das nennen will, garbage collection etc.
Darin unterscheidet sich Delphi von C, C++ nicht, aber von .NET / Java etc. schon.
Immer wenn man mit Pointern auf Speicherbereiche zugreifen kann, kann man Mist bauen wenn man will.

Code: Alles auswählen

sl:=TStringList.create;
FillChar(Pointer(sl)^,20,'m');
sl.free;
Und was das "echte OOP" betrifft: Stimmt insofern, das man in Pascal/Delphi nicht gezwungen ist dazu.
In Pascal kann man immer noch den hier machen:

Code: Alles auswählen

program HalloWelt;
begin
  writeln('Hallo Welt!');
end.
In Java z.B. geht ohne Klassen gar nichts:

Code: Alles auswählen

public class Hallo 
{
  public static void main(String[] args) 
  {
    System.out.println("Hallo Welt!");            
  }
}
Aber ob das nun ein Nachteil, bzw. deswegen kein "echtes OOP" ist weiss ich nicht.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Naja wie gesagt ob man nun nen Garbage Collector und nen Interpreter braucht der einem Sagt auf welches objekt man wann nicht zugreifen durfte hängt glaub ich eher vom Programmierer ab als vom Ergebnis. Klar wird damit das Programmieren n stück weit einfacher finds auch toll das man in Perl keine Variablen deklarieren muss und es zudem keine Variablentypen gibt aber das ich deswegen n Haufen Geschwindigkeit wegwerf ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich würde das was theo geschrieben hat erheer als eine besondere Stärke bezeichnen !

oder nach ein Beispiel: Er meinte das "Object Pascal" unübersichtlich währe.....
naja das hängt doch mehr oder weniger vom Programmierer ab oder ?

in Phytong ist das nicht so, wie ich es unter Wiki nach gelesen habe. Dort wirst du gezwungen eine gewisse Sorgfalt zu benutzen. Aber ich finde diesen Style mit den Tab Zeichnen nicht besondern übersichtlich.... weil dann muss ia irgendwann Horizontal Scrollen. Das versuche ich immer zu vermeiden.

Ich denke auch das es eine Geschmacksache ist, was ich nun für eine Sprache verwende.
Wenn ich jetzt eine Sprache besonders gut kann, sollte ich doch versuche das Problem(was auch immer) daran zu lösen, als jetzt zu versuchen eine Sprache zu finden, die dieses Problem ganz einfach lösen kann. Es sei denn natürlich das meine Sprache das nun mal nicht kann. Dann währe das klar.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben: oder nach ein Beispiel: Er meinte das "Object Pascal" unübersichtlich währe.....
naja das hängt doch mehr oder weniger vom Programmierer ab oder ?
Man kann ja in vielen Dingen geteilter Meinung sein, aber das stimmt nun wirklich nicht.
Pascal ist meiner Meinung nach eine der übersichtlichsten Sprachen überhaupt.
pluto hat geschrieben: in Phyton ist das nicht so, wie ich es unter Wiki nach gelesen habe. Dort wirst du gezwungen eine gewisse Sorgfalt zu benutzen.
Das ist nicht schlecht bei Python, kann aber eventuell auch ganz schön nerven.
DelFor tut's auch und Pascal zwingt mich zu nichts.

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Eben, in Pascal hat man sehr viele Freiheiten.
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Ich dazu nur sagen: Für meine Bedürfnisse hat Pascal und Lazarus keine Schwächen, sondern nur Stärken.

Man ist nicht automatisch ein Fachmann für Programmiersprachen, wenn man Informatik studiert hat. Hier gibt es Gebiete, bei denen man überhaupt nichts mit Programmiersprachen zu tun hat.
pluto hat geschrieben:oder nach ein Beispiel: Er meinte das "Object Pascal" unübersichtlich währe.....
Unsinn, ich mag Object Pascal gerade wegen der Übersicht, die man hier hat. Ich kann machen, was ich will: Selbst, wenn ich mir nur wenig Mühe gebe, ist der Code gut lesbar. Pascal kann man garnicht unübersichtlich schreiben, habe ich manchmal das Gefühl [ok, auch hier für gibt es Spezialisten...] - und das obwohl man in keine vorgegebenen Strukturen gezwängt wird und beim Programmieren alle Freiheiten genießen kann...

Antworten