Stärken und Schwächen von Object Pascal
-
- 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
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.
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
Michael Springwald
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?
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?
-
- 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)
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...
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
Michael Springwald
-
- 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:
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.
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/
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.
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:
In Java z.B. geht ohne Klassen gar nichts:
Aber ob das nun ein Nachteil, bzw. deswegen kein "echtes OOP" ist weiss ich nicht.
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;
In Pascal kann man immer noch den hier machen:
Code: Alles auswählen
program HalloWelt;
begin
writeln('Hallo Welt!');
end.
Code: Alles auswählen
public class Hallo
{
public static void main(String[] args)
{
System.out.println("Hallo Welt!");
}
}
-
- 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:
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/
-
- 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)
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.
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
Michael Springwald
Man kann ja in vielen Dingen geteilter Meinung sein, aber das stimmt nun wirklich nicht.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 ?
Pascal ist meiner Meinung nach eine der übersichtlichsten Sprachen überhaupt.
Das ist nicht schlecht bei Python, kann aber eventuell auch ganz schön nerven.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.
DelFor tut's auch und Pascal zwingt mich zu nichts.
-
- 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:
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.
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.
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...pluto hat geschrieben:oder nach ein Beispiel: Er meinte das "Object Pascal" unübersichtlich währe.....