Lazarus is a free open source alternative IDE to (Turbo/Borland) Delphi (Studio). More detail informations about what is Lazarus can be read here, and more screenshots can be seen here. Lazarus had just released version 0.9.18 (beta) on 23rd Sept 2006. This release is built upon the latest stable Free Pascal compiler (a.k.a FPC), version 2.0.4. Congratulation to Lazarus team, and -of course- to FPC team. 🙂
I won’t tell you the story about Lazarus and/or FPC, if you wanna know about it then go to their website(s) and wiki(s). Here I’m gonna tell you what are the differences between this two cousins, since I like the both and work with both as well.
Advantages of Lazarus
- The first and the biggest advantage point of Lazarus over Delphi is his multiplatform capability. I think FPC is the second (native) compiler after gcc regarding number of platforms supported.
- Lazarus handles include files (.inc) very well, as if they’re integrated parts of the main source file (.pas). If you’re frequently dealing with big application or extra long source codes, then include files will help you alot. Delphi can’t handle include files at all.
- Almost every visual component has public Canvas property. This is really fun because we could add extra drawing to any visual components without being bothered to derive it into a new component. 🙂
Disadvantages of Lazarus
- Since FPC has no intention to support .Net then obviously Lazarus won’t run upon .Net either, not even on Mono. 😛
- Lacks of (complete and stable) widgetsets (user interface) library binding. Until this version, only win32 and gtk1 widgetsets that are considerably complete and working on Lazarus. Though some other widgetsets are also available (qt4, gtk2, winCE, carbon, etc) but not as complete and stable as win32 and gtk1 widgetsets. gtk2 is almost complete, but based on my personal experience it still not as stable as gtk1, yet.
Advantages of Delphi
- If you’re a .Net fan and happy to bound yourself to M$ but don’t want to learn other (new) languages, then Delphi is all you need. She’s still the best object pascal IDE on .Net world, IMO. 🙂
- Delphi IDE -especially the source editor- is marvelous! This is the thing that keep me using Delphi. I sometimes write codes in Delphi and compile them using Lazarus. 😀
Disadvantages of Delphi
- Obviously Delphi is getting more and more tiered to M$ Windows environment (and .Net oriented) which is very regretted by many of her users because Delphi is the biggest supporter of object pascal language. Kylix is simply dead! 😛
Advantages of working with both
- The compatibility between the two is “one direction”, I mean while Lazarus always try to be compatible with Delphi but on the other side Delphi (seems to) ignore Lazarus existence. Though not fully 100% compatible (but not far from that), we still could share common codes (and resources) between them.
- As a result from compatibility point above, the lack of third-party component on Lazarus automatically got covered by Delphi resources (and community). In fact, a Lazarus user usually also a Delphi user, I’m one of the examples. 🙂
Basically, Delphi and FPC/Lazarus is complement to each other. That’s why I consider both as cousins, not as close as brother and sister but still closely related. So, I’m not quite agree if one say both are competing to each other, or even enemy. Saying one is superior than another (in all aspects) is not quite right either. Both Delphi and FPC/Lazarus is object pascal IDE and compiler, by using them both, I got good things from each. 🙂
I know this article is not comprehensive enough to figure out detail differences between Delphi and Lazarus. So, I welcome your comments to correct or suggest more comparison point(s). Thank you. 🙂