Bei FPC/Lazarus hab ich den gesamten Quellcode zur Verfügung und ich bin so auf einige Doku-Fehler in APIs draufgekommen (sowohl
OS-APIs als auf APIs von angebundenen Geräten). Die Zeiten zu denen ich das noch mit Delphi gemacht habe war oft die Frage, ob das jetzt ein Delphi-Fehler ist oder ein
API-Fehler.
Solange man bei Delphi nicht die billigste Version nimmt ist der Quellcode auch dabei. Und für Professionelle SW-Entwicklung ist die Pro-Version pflicht.
Und vielleicht nur subjektiv (ich hab's nie gemessen) ist es mit FPC/Lazarus möglich, Dienste mit deutlich mehr Performance bei schmalerem Memory-Footprint zu erstellen. Auch das mag für den "Normal-User" egal sein (steckt man eben mehr CPU und mehr Speicher rein) aber in unserem (Forschungs-)umfeld eine ganz wichtige Sache.
Kann ich jetzt nicht direkt vergleichen, aber wenn es das String-Handling betrifft sind die neuen Delphi-Versionen in vielen Bereichen viel Schneller als ein D6 mit WideStrings.
Wir nutzen z.B. eine Technik, alles in ein Binary zu packen - keine *.dll oder *.so, kein Komponenten registrieren, einfach das Binary aufs Zielsystem schieben, dort starten und evtl ein Config-File anpassen. Die Suche nach allfällig kollidierenden Frameworks oder Libraries entfällt.
Bis auf das "alles in einen Exe/
DLL packen" geht das mit Java auch. Einfach Java SideBySide bereitstellen und man hat praktich auch ein XCopy-fähige Lösung.
Windows Vista - Eine neue Erfahrung in Fehlern.