好的。这是一个旧的帖子,但需要更新一下。大约十年前,我停止使用Delphi,主要是因为别无选择。作为一个Delphi程序员工作了5年多,我现在又成了一名学生,而Delphi的价格简直是离谱。Delphi本身并没有问题,它是一个天才的系统,但是Borland(以及后来的继任者)完全误解了不断变化的计算机世界。微软能够提供一个可以免费下载的编程环境,而且它的.NET环境在所有重要方面都与VCL相当,与此同时,即使是Delphi的基本版本也会让你破产,或者根本无法在学生预算内购买。最终的结果是,由于没有新的Delphi程序员加入,继续使用Delphi对企业来说变得冒险。最后,随着Linux的崛起,Kylix成为一个完全失败的环境,没有利用可用的UI工具链,而且还带有一种可疑的Wine气味,再加上对GPL软件的侮辱性态度,将其视为共享软件。最后,当多年后推出Turbo Delphi时,它无法利用像Tories组件网站这样的令人惊叹的资源。很明显,Borland对其程序员生态系统毫无尊重。
所以拉撒路似乎从这一切中浮现出来,花了很长时间孕育,似乎旨在成为Delphi 4的某种类似物,被许多人认为是Delphi系列中最干净、最整洁的版本之一。它几乎符合所有要求,它对Object Pascal的实现完美无缺,最重要的是,它在开源软件中所关注的所有方面都是免费的。
然而,它有着漫长的错误历史,以及其控件的不完整实现。对我和许多其他人来说,这是一个致命的问题。
话虽如此,最近我决定出于好奇心下载它,并发现它已经取得了长足的进步。数据库组件只需要一点点的教程和一些线索,就能正常工作,而且在iPhone和Android构建目标方面也取得了重大进展。
我不确定我是否已经准备好将其部署到我的商业客户中,但我打算用一个个人项目再试一次,看看它的表现如何。如果它能正常工作,我想我终于能与我的第一个编程爱好——Pascal再次相聚了,并且能够在我的Mac上进行繁重的工作,同时提供Windows和Linux版本的构建。
所以基本上这是关于比较的事实;-
Lazarus和Delphi是完全独立的实体。Lazarus不是Delphi的交叉编译器,但具有一定的兼容性。它更像是GCC与MS C++之间的比较。
Delphi更加精细和稳定。
Lazarus提供了一个类似Delphi 4的环境,老手Delphi编程人员会觉得非常舒适。
但Lazarus有时可能会有些反复无常,Delphi程序员需要明白最新和最好的Delphi并不是所有东西都适用于他们。
Delphi擅长Windows,而且做得非常好(是的,我知道新版本有一些交叉编译目标,但据说还有点不稳定,需要在炼金术师的炉子里多煮一段时间才能真正达到那个水平),而Lazarus几乎可以编译到任何平台。当前支持的目标列表包括:Darwin、NetBSD、OpenBSD、FreeBSD、Linux、Solaris、Win32、Win64、WinCE、go32v2(我认为这是带有32位扩展的MS-DOS!)、OS2、Netware(!)、BEOS、Haiku(?!)、QNX、wdosx(?)、emx、netwlibc、Atari、Amiga、Palm-os、Gameboy advance、nds、MacOS、Morphos,此外,还有对IOS和Android的实验性支持。除此之外,该工具还可以使用来自QT、GTK、GTK2、Win32/Win64、Carbon、fpGUI(不知道是什么)、Cocoa或者没有GUI的部件集,具有不同程度的实现透明度。
这是一个详尽无遗的清单!
所以请注意购买者自负。我强烈建议Delphi编程人员下载这个并进行一些个人项目来感受一下,不要用老板的钱,但Lazarus有很多深度和实质性的东西,它有可能成为处理Windows之外生活的重要工具。
此外,由于Delphi的新主人仍然没有从Delphi失宠的原因中吸取到任何教训(提示:让它对爱好者和学生来学习和创建自定义组件变得负担得起或免费),这实际上是唯一的预算选择。如果Embarcadero醒悟过来,也许情况会改变。在那之前,长命Lazarus。
*20多年前的2023年,这个答案已经11年了。
fpdebug
包可以使其开始变得可用。但是现在的Lazarus编辑器非常稳定。对于代码编辑,比Delphi更加稳定和快速。它的自动完成功能也很好用。它真正实现了跨平台。我建议使用https://github.com/LongDirtyAnimAlf/fpcupdeluxe从源代码构建FPC和Lazarus,然后轻松安装交叉编译器。问题仍然是第三方组件,这些组件可能(遗憾地)只适用于Delphi。 - Arnaud Bouchez