Delphi XE4 oder Lazarus für Firebird-DB-Produktionssystem?

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

theo hat geschrieben:Ahnung hat er keine. FUD, wie Patito schon sagt. :wink:
Stimmt, aber ich habe noch die Schmerzensschreie im Ohr, die meine Kollegen (die sich entgegen meiner Empfehlung nicht an Lazarus/FPC herantrauen) ausgestoßen haben, als sie ihr riesiges Delphi-Programm-Paket auf die Delphi-Uniocode-Version umstellen mussten.

Aber wenn Du meinst, dass sich alle eventuelle Probleme durch ignorieren lösen: bitteschön. Ich finde es sinnvoll sich vor einer Entscheidung umfassend zu informieren.

-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

mse hat geschrieben:Ich kenne eine weitere "production ready" Entwicklungsumgebung für Free Pascal.
Ich kenne das auch. :D :D :D

Aber auch mse-ide wird "irgendwann" auf "NewDelphiStrings" umgestellt werden (müssen). (Oder schreibst Du wirklich einen eigenen neuen Compiler und RTL ? )

Nicht dass ich das prinzipiell schlecht finde, aber 100% Kompatibilität zur Vorgänger-Version ist nicht zu erwarten.

-Michael

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

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von theo »

mschnell hat geschrieben: Aber wenn Du meinst, dass sich alle eventuelle Probleme durch ignorieren lösen: bitteschön. Ich finde es sinnvoll sich vor einer Entscheidung umfassend zu informieren.
Es wird alle Jahre irgendwas umgestellt. Von ANSI nach UTF8 zum Beispiel.
Soll man nun deswegen in Schockstarre verfallen und aus Angst vor noch nicht bekannten Veränderungen gar nichts unternehmen?
Ist doch Quatsch. Software entwickelt sich weiter. Hör jetzt bitte ENDLICH auf mit deiner unqualifizierten Schwarzmalerei.

klemmo
Beiträge: 7
Registriert: Mo 15. Aug 2011, 18:32

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von klemmo »

moin,

ich geb da auch mal meinen Senf dazu, da ich seit ca. 3 Jahren eine Warenwirtschaft/ERP Software mit lazarus und Firebird für den Einsatz bei uns im Haus, aber auch und insbesondere für gut zahlende Kunden, deren Sonderwünsche gerade im Bereich Fertigung ich mt der Kombination laz/fb (auch mit Hilfe von ibexpert) gerne und schnell realisieren kann. Ich schätz mal das ich ca. 3000 Stunden mit Lazarus hinter mir hab und sehe im Moment auch keinerlei Grund, wieder freiwillig neue Projekte mit Delphi anzufangen, obwohl ich mit Delphi schon 1994 angefangen bin (war damals noch beta).

Wenn du eine vorhandene Delphi Applikation auf Lazarus umstellen willst, dann wäre ich dabei vorsichtig, da klingt vieles einfacher, als es nachher ist. Da du aber (genau wie ich vor 3 Jahren) mit einem neuen Projekt beginnst, halte ich die Kombination lazarus/Firebird für die perfekte Wahl für Projekte, die man eben auch in 5 oder 10 Jahren noch weiterentwickeln muß (das war auch bei uns der Grund, nach der Open Source Datenbank auch auf eine Open Source IDE umzusteigen, SQL und Pascal Sprache sind und bleiben meine Know How Schwerpunkte und ich hab damit noch nichts nicht machen können).

Wir setzen aktuell nur die Komponenten ein, die entweder bei Lazarus sowieso dabei sind oder halt im codetyphoon paket enthalten sind. Die Firebird DB ist UTF8 und der Zugriff darauf läuft über ein internes Schichtenmodell mit den SQL DB Komponenten (ich hatte die mal temporär gegen IBDAC ausgetauscht, hatte damit aber Probleme bei UTF8 Blobs, die ich mit SQLDB nicht hatte. Umstellung dauerte 10 minuten von SQLDB auf ibdac und 2 Minuten wieder zurück).

Am besten nicht den Fehler machen, mit den ganzen DBEdit etc. Controls zu arbeiten, das wirst du in x Jahren verfluchen (ist bei Delphi genauso). Damit hat man zwar schnell Formulare und Applikationen zusammengeklöppelt, muß dann aber jahrelang das Gerüst mitschleppen. Bei mir wird alles mögliche zur Laufzeit erzeugt, da kann ich mir schnell mal was neues überlegen und muß dann nicht in hunderten Formularen was anpassen. Ausdrucke laufen alle über Lazreport, Schnickschnack in Controls wird über ownerdraw selbst gebaut, etc. Das Selbstzeichnen bietet ungeahnte Möglichkeiten und braucht nicht mehr Zeit für Einarbeitung als die Einarbeitung in irgendwelche Komponentenmonster, öffnet dir dann aber relativ schnell die Augen, das du auf dem Wege alles machen kannst, was du woanders gesehen hast und du haben möchtest. Für einen Touchscrenn im Fertigungsbereich hab ich gerade Gestures selbst gebaut, damit die Listbox so wie auf dem Handy hoch und runter geschubst werden kann. Ist gar nicht so wild, wenn man das mal genau durchdenkt und mit mousedown, mousemove, mouseup umsetzt.

Das Projekt entstand zunächst im Kundenauftrag für win32, ließ sich aber schon immer auf win64 kompilieren. Irgendwann hatte ich mal Lust, das auf einer MAC OSX VM auszuprobieren, und ich brauchte ca. eine Stunde für diverse teilweise banale Änderungen, um das da zum Laufen zu bringen. Was ich noch wichtiger fand: es ließ sich nicht nur compilieren, sondern machte komplett genau das was auch die Windows Version gemacht hat. Einige wenige windowsspezifische Sachen müsste ich noch anpassen und nicht nur auskommentieren, aber das hindert mich nicht daran, der Port als voll funktionsfähig einzuschätzen, falls mich mal jemand für eine Mac Version bezahlen möchte ;-)

Der Multiplattform Reiz war geweckt, also Ubuntu als VM, lazarus und Firebird rein, und den Mac OSX Quellcode rein, und siehe da, ließ sich sofort compilieren und lief auch da ....

So viel zum Thema Multiplattform, die Delphi XEx IDE ist ja immer noch eine 32 Bit Software, warum wollen die was von Multiplattform erzählen, dieser ganze Remotedebugging Mumpitz oder per server auch mac übertragen, von da mit xcode auf ios .... usw. ist doch komplett weltfremd. Das finden zwar sicherlich im Moment viele Windows Programmierer ganz spannend, ist aber eine Sackgasse, ebenso wie der ganze Firemonkey Heckmeck, ich erinnere nur an CLX und Kylix und andere Abarten, die es mal gab und wo dann der Hersteller irgendwann kein Bock mehr drauf hatte. Da wird alle paar Jahre eine neue Sau durchs Dorf getrieben ....

Meine Meinung also: Mit der Kombination Lazarus/Firebird hast du schon heute eine sehr gute Entwicklungsplattform, die dir auch in den nächsten 10 Jahren sicherlich noch viel Spaß machen wird auf den relevanten Plattformen machen wird, wer weiß, ob Windows in 10 Jahren wirklich noch die Dominanz hat wie heute .... Das die ganz nebenbei kostenlos ist, bietet Freiraum im Geldbeutel für IBExpert oder Programmier-/Datenbankschulungen bei uns ;-)

Ich kenn Firebird Anwendungen im Enterprise Umfeld mit mehr als 2000 Usern auf einem Datenbankserver, Datenbanken mit 1TB sind nicht selten, da bleibt nach oben viel Luft für die üblichen Projekte bei KMU und kleinerem Mittelstand. Es kommt aber drauf an, schon von Anfang an sich nicht in die Fänge von Amok laufenden Komponenten zu begeben, deren Hersteller eventuell auch irgendwann mal kein Bock mehr hat. Im SQL auch nicht einfach nur alles einfach mal zusammenkloppenouter joins nur da wor die hingehören! Die Geister, die ich rief, werde ich selten wieder los.

Ich war heute erst wieder bei einem Kunden, wo u.a. ein Report durch einen fehlenden Index vorher 12 Minuten lief und 50 Millionen non indexed reads verursachte und nach dem Index anlegen weit weniger als eine Sekunde braucht und 2000 indexed reads hatte. Damit versaut man sich auch gutmütige Kunden, wenn man sich nicht auch auf der Datenbankebene ernsthaft mit der Materie beschäftigt.

Gruß
Holger
http://www.ibexpert.com

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:

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Christian »

Kann ich so fast auch unterschreiben. Ich entwickel jetzt seit 2006 am ERP/Projectmanagementsystem. Bei den Controls muss ich Holger aber wiedersprechen. Bei Custom Drawn Controls verschätzt man sich immer sehr schnell bezüglich der Features. Man benötigt selbst Jahre um ein TEdit Plattformunabhängig mit allen Features der unterschiedlichen Plattformen zu implementieren das fängt bei Taststurbedienung an und hört bei Accesssibility (Behindertengerechte Controls) auf. Auch haben alle Plattformen ihre Eingenheiten die bedacht sein wollen. Ich arbeite soweit ich kann mit den DBControls und muss sagen wenn man sich von Anfang an drauf einstellt ist das auch ein gut gangbarer Weg. Auch wenn einem RAD in solchen Projektgrössen nicht mehr viel bringt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

dingenskirchen
Beiträge: 3
Registriert: Mi 28. Aug 2013, 06:54

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von dingenskirchen »

Vielen Dank nochmals für Eure Antworten - insbesondere für Holgers ausführlichen Bericht. Sehr interessant!

Gruß
Marco

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6763
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von af0815 »

Egal welches System, für alles die Hoheit über den Source zu haben. Komponenten einkaufen nur mit Quellcode, später was zu tauschen weils die Firma oder Person nicht mehr gibt, ist verdammt teuer.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mse »

mschnell hat geschrieben:
mse hat geschrieben:Ich kenne eine weitere "production ready" Entwicklungsumgebung für Free Pascal.
Ich kenne das auch. :D :D :D
Für ein Beispiel eines damit hergestellten Datenbank basierten Produktes siehe hier:
http://www.lazarusforum.de/viewtopic.php?f=53&t=5182
Aber auch mse-ide wird "irgendwann" auf "NewDelphiStrings" umgestellt werden (müssen).
MSEgui benutzt seit jeher 16-bit strings, zum Anfang WideString und seit es ihn gibt den UnicodeString.
(Oder schreibst Du wirklich einen eigenen neuen Compiler und RTL ? )
Ja.

Martin

g3sh
Beiträge: 21
Registriert: Mi 3. Jul 2013, 10:04

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von g3sh »

Hier gibt es auch interessante informationenen zu Lazarus und Firebird:
http://lazarus.intern.es/firebird_lazarus.html

MfG

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

mse hat geschrieben:Ja.
Dann braucht es Dich ja nicht zu kratzen, wenn FPC auf quasi-dynamisch codierte "New String" umschwenkt.

-Michael

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Patito »

mschnell hat geschrieben: Dann braucht es Dich ja nicht zu kratzen, wenn FPC auf quasi-dynamisch codierte "New String" umschwenkt.
Hm. Falls FPC einen neuen Modus bekommt wäre das doch ok.
Falls jemand Müll committet und die Strings unangenehm schlechter werden wird es eben einen Fork geben müssen.
Aber ich hoffe mal Du kritisierst die Leute die Unfug committen wollen solange bis sie nur noch vernünftige Sachen committen.

Praktisch könnte die Odyssee von Inkompatibilitäten auch darauf hinauslaufen, dass man irgendwann String für deprecated erklären muss und jeder seinen eigenen String-Typ baut (vielleicht auf Basis von irgendeinem RawByteString). Aber so ist eben der Lauf der Dinge...

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

Patito hat geschrieben:Aber ich hoffe mal Du kritisierst die Leute die Unfug committen wollen solange bis sie nur noch vernünftige Sachen committen.
Ich finde die quasi-dynamisch typisierten Strings ja eigentlich sehr gut (jedenfalls viel besser als Unicode in irgendeiner Variante zu erzwingen.)

Es fehlt in Delphi - und bisher in fpc - nur die Möglichkeit einen voll dynamisch typisierten String Typ zu deklarieren, mit dem man dann z.B. TStrings-Nachfolger so realisieren kann, dass beim Ablegen und Auslesen beliebig typisierter Strings keine unnötige Umcodierung stattfindet, weil TStrings einen vordefinierten Codierungs-Typ verlangt.

Ich habe recherchiert, dass das vermutlich recht gut machbar und gut kompatibel ist und auch keine Performance kostet. Aber natürlich einige Änderungen am Compiler und in der RTL erfordert.

Leider finden Verbesserungen, die Delphi nicht bietet, kein Gehör.

Hoffen wir also auf den mse-Compiler :D .

-Michael

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

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von theo »

...und täglich grüßt das Murmeltier...

Groffy
Beiträge: 50
Registriert: Fr 23. Nov 2012, 13:27
OS, Lazarus, FPC: Win10/Linux Mint - Lazarus 2.2/trunk
CPU-Target: 32/64Bit

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von Groffy »

Wer entscheidet eigentlich über so grundlegende Dinge der Compilerentwicklung?

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Delphi XE4 oder Lazarus für Firebird-DB-Produktionssyste

Beitrag von mschnell »

Groffy hat geschrieben:Wer entscheidet eigentlich über so grundlegende Dinge der Compilerentwicklung?
Tippe 'mal einfach fpc auf der Kommando-Zeile. Da siehst Du:

".... Florian Klaempfl and others ..."

Sprechen kannst Du mit den Jungs unter fpc-devel@lists.freepascal.org

-Michael

Antworten