Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In my previous life as a cubicle drone in the late 90s I have worked with Delphi under Windows and always dreamed about it being ported/cloned/whatever on Linux. After seeing a demonstration of Kylix many years ago I almost lost any hope (slow as molasses and buggy), then one day I saw this new project called Lazarus which promised high compatibility with Delphi code and to allow building of native apps. Admittedly it was very buggy then, but eventually it matured over time and I'd say it has been damn ready to be used for production for some years. Give it a try and you won't be disappointed.


I've tried to use Lazarus five or six times now, as a one-time Delphi developer: the main issue is that the lazarus ide likes to crash on the slightest provocation (and the 64bit mac versions don't work very well either)


Which version did you use and when? 10 years ago the IDE would crash at you sneezing at it and it wasn't until 7-8 years ago that things became stable. However i cannot remember the last time i saw the IDE crash (and wasn't my own fault with a component i was making that caused it to crash, but even that that is rare).

Note that there are a few versions flying around that are unofficial builds, some with addons that break it. Sadly one of them is the one from getlazarus.org which is both unofficial and often comes with unfinished and buggy features from development versions that cause it to crash and be generally more unstable. Combine this with the fact that the guy behind getlazarus.org tries his utmost to promote Lazarus (his version from his site) and there is a chance people who first learn about Lazarus will use the buggy one. He obviously means well, but i really wish he would link to the official site (http://www.lazarus-ide.org/) instead. The builds there are much better tested and there are many week-long release candidate builds that are tested by many people in the mailing lists, forums, etc before an actual final release is made.

Also note that the native Mac version is really in a worse state than the Windows and Linux versions. Thanks to Apple discontinuing Carbon (which is what Lazarus uses on Mac by default), a ton of work has to be done to rewrite the backend in Cocoa and there are very few programmers working on the Mac version so this progress is slow (also AFAIK this was delayed to implement the "Objective Pascal" extension to the compiler that would allow using Objective C classes directly without needing an intermediate C layer). Today you can use both Carbon and Cocoa as backend targets, but between the two the Carbon one is still the most stable. As an alternative you can use the Qt backend though that is more stable and featureful (thanks to it being also worked by the Linux devs), but you'll need to bundle a bunch of shared libs and are throwing all notions of minimalism out of the window :-P. Still it is the only way to get full featured stable 64bit apps with Cocoa made in Lazarus, at least until the Cocoa backend improves. And it isolates the bloat to a single platform, which while not ideal, is better than nothing (and IMO even the Qt+LCL combo is still better than bundling an entire web browser with your program).


So, I do most of my work on Mac, so that's what I'm using. It took me forever to figure out how to rebuild it as a 64bit app using Qt (I built the Qt5 version, maybe that's part of my problem?). Anyways, once I did that, it started fine but I ran into several issues where changing properties of Data Access components would crash the IDE. (postgresql-related things in particular). If I find time, maybe I'll submit some sort of bug report with a reproducible scenario.


You are one step ahead of me, i never managed to build the Qt version myself :-P. Although i didn't try much, i rarely use Macs these days and mostly wanted to see if some minor issue i had with the Carbon build would go away with the Qt backend (the Cocoa backend was basically unusable at the time, although i think today it would work ok).

TBH i'm not sure if it would be Qt5 or the data access components as personally i don't use either :-P. I use Lazarus to make tools mainly for game development (and mainly for 3D stuff) so i don't use the database features at all. Also i tend to use the Gtk2 backend on Linux, mostly because it is the default but also because it tends to fit better the minimalistic window managers i am using (mainly window maker).


This is strange. The IDE once surely had stability problems, but I've never encountered them since years. I even installed Lazarus on small NanoPI and OrangePI boards and although definitely not fast it runs natively there and produces native code for them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: