Verwandtschaft Delphi-Lazarus

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
tryunderror
Beiträge: 57
Registriert: Di 9. Okt 2012, 17:32

Verwandtschaft Delphi-Lazarus

Beitrag von tryunderror »

Inwieweit sind Lazarus und Delpi verwandt? Die Frage ist natürlich in Bezug auf Software gemeint.
Ich habe da was gelesen im Internet.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Verwandtschaft Delphi-Lazarus

Beitrag von Warf »

Delphi bezeichnet sowohl die IDE als auch den Compiler, bei Lazarus ist Lazarus die IDE (Integrated Development Environment, also editor und co) und der Compiler ist der FPC. Außerdem stellen beide systeme noch eine reihe an Frameworks bereit. Delphi die RTL, VCL und FireMonkey, der FPC die RTL, und FCL und Lazarus die LCL.
Die RTL (runtime library) ist das absolute kernstück beider systeme und stellt alle basisfunktionen bereit. Die VCL (visual component Library) und die LCL (lazarus component library) sind Frameworks für GUI (Graphical user interface) programme. Die FCL (Freepascal Component Library) ist dazu noch ein zusatz vom FPC mit brauchbaren nicht grafischen komponenten für allgemeine nutzung (z.B. einen webclienten). Zur FCL gibt es kein Delphi Äquivalent.
Lazarus und FPC versuchen mit der RTL und LCL möglichst Delphi kompatibel zu sein, haben aber keine 100% kompatibilität, denn die VCL ist windows only, und nicht alles ist immer portbar (Lazarus ist Crossplattform). Aber unter windows sollte zumindest die RTL praktisch identische funktionalität bereitstellen.
FireMonkey ist ein neues GUI framework von Embarcadero (der Firma hinter Delphi) das versucht auf Cross Plattform abzuzielen, und dafür gibt es kein Äquivalent in Lazarus (Vor allem fällt mobile entwicklung unter Lazarus flach, was bei Delphi mit Firemonkey recht gut geht).

Die meißten Delphi programme lassen sich 1-1 nach Lazarus portieren, umgekehrt ist es nicht so einfach. Der grund dafür sind z.T. einige sprachliche unterschiede, so unterscheiden sich der Delphi Pascal dialect und der FPC pascal dialekt ein wenig. Der FPC hat aber einen Delphi kompatibilitätsmodus, Delphi aber keine FPC kompatibilitätsmodus. Außerdem, auch wenn Lazarus und der FPC versuchen möglichst Delphi Kompatibel zu sein, bauen sie auch eine ganze menge eigener sachen ein (z.B. die FCL) die es so nicht in Delphi gibt.

Unter der Haube funktioniert Lazarus natürlich ganz anders als Delphi, da Lazarus Cross Kompatibel sein muss, verwendet es widgetsets. Was praktisch eine abstraktion von dem unterliegenden GUI mechanismen sind, sodass die tatsächlichen LCL komponenten praktisch über ein geeinigtes Interface zugreifen können, während Delphi direkt auf der Windows API arbeitet (da es ja Windows only ist).

Außerdem, brauch ich wahrscheinlich nicht zu erwähnen, ist Lazarus OpenSource (und damit kostenlos) und Delphi kostet ne ganze Stange geld.
Die IDE's unterscheiden sich mittlerweile auch massiv (nicht nur vom aussehen, auch von der funktionalität, so kann Delphi z.B. Dynamische Pakete zur Laufzeit laden, während lazarus nur Kompilezeitpakete kann), sind also was das angeht kaum vergleichbar (außerdem hab ich so lang nicht mehr intensiv Delphi benutzt das ich sie auch nicht vergleichen könnte wenn ich wöllte).

Vom Programmieren her gefällt mir Lazarus mittlerweile deutlich besser, zum einen weil der FPC als compiler m.E. nach extrem viel besser (schneller, robuster, vielseitiger) ist als Delphi, der FPC Pascal dialekt mMn schöner ist, die FCL genial ist, und ich es nicht einsehe ein paar Kiloeuro für eine IDE und einen Kompiler auszugeben.
FireMonkey ist das einzig interessante bei Delphi, was mich doch ab und an dazu bringt Delphi Starter (was ja mittlerweile kostenlos ist, wenn auch extrem eingeschränkt) ab und an zu starten, ansonsten gibts für mich persönlich nix was mich an Delphi reizt es über Lazarus zu benutzen (ich mein das letzte mal als ichs benutzt hab war die Delphi IDE sogar noch schlimmer verbuggt als Lazarus, und das für ne 5000€ software). Aber grundsätzlich, außer firemonkey können Delphi und Lazarus ziemlich das gleiche.

Antworten