47

我对使用 Delphi 进行编程的 Delphi IDE 非常满意。

但是我听说过Lazarus编程环境,而且我还听说一些 Delphi 程序员使用它而不是 Delphi IDE。

Lazarus 与 Delphi IDE 相比有哪些优势,为什么 Delphi 程序员会或应该切换到它?


答案给我留下了比以前更多的问题。关于 Lazarus 是否可以用作开发 Delphi 代码的编辑器,似乎存在一些分歧。我想我认为您可以将所有内容都留在 Delphi 中,而只需更改 IDE。Lazarus Wiki 的 Lazarus for Delphi 用户部分说:

转换 Delphi 项目时要做的第一件事
打开 Lazarus,您应该转到工具,然后将 Delphi 项目转换为 Lazarus 项目。这不会为您做所有事情,但仍然会为您提供很多帮助。请注意,Lazarus IDE 的转换工具通常是单向转换。如果您需要保持 Delphi 兼容性以便可以使用 Delphi 和 Lazarus 编译您的项目,请考虑使用XDev Toolkit转换您的文件。

因为 Lazarus 是免费的,所以不是转换的理由,但不会因转换而在物理 $ 上惩罚您。(您仍然需要投入时间来转换和学习。时间 = $)。

我从您的回答中得出的关于为什么有人可能会从 Delphi 切换到 Lazarus 的结论:显然它必须提供 Delphi 目前无法提供的东西。目前这是多平台支持和可能的 64 位支持。Delphi 曾经有过 Kylix,但不支持 Mac。

但是随着 Embarcadero 很快承诺的这两个和 64 位,你已经回答了我的问题,告诉我没有理由(至少对我来说)切换。

4

12 回答 12

59

好的。这是一个旧线程,但可以进行一些更新。大概十年前,我停止使用 Delphi,主要是因为我别无选择。在担任 Delphi 编码员 5 年多之后,我现在又是一名学生,而 Delphi 的价格简直太离谱了。Delphi 的问题从来都不是 Delphi。Delphi 是一个天才系统,但 Borland(以及后来的继任者)完全误解了不断变化的计算机世界。微软能够提供一个可以免费下载的编程环境,它的 .NET 环境在所有重要方面都可以与 VCL 媲美,同时即使是基本版本的 Delphi 也会让你破产或对学生来说显然无法使用预算。最终结果是,由于没有新的 Delphi 程序员上线,企业继续使用它成为一个冒险的提议。最后随着 linux 的兴起,Kylix 被证明是一个环境的彻底破坏,没有使用可用的 UI 工具链,并且弥漫着一股可疑的 Wine 恶臭,最后以对 GPL 软件的侮辱态度对待它,就好像它是共享软件。最后,当 Turbo Delphi 多年后问世时,它无法利用通过像 tories 组件站点这样的站点提供的惊人资源。很明显,Borland 根本不尊重其编码器生态系统。它无法利用通过保守党组件站点等站点提供的惊人资源。很明显,Borland 根本不尊重其编码器生态系统。它无法利用通过保守党组件站点等站点提供的惊人资源。很明显,Borland 根本不尊重其编码器生态系统。

所以 Lazarus 似乎从这一切中浮现出来,需要很长时间来酝酿,并且似乎瞄准了 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,而且做得非常好(是的,我知道新的有一些交叉编译目标,但街上的消息是,它有点 hacky,需要在 embacardo 炊具中一段时间​​才能真正存在),同时拉撒路几乎遵守一切。当前的目标列表是;- 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、Plus,还有对 IOS 和 Android 的实验性支持。最重要的是,Thing 可以使用来自 QT、GTK、GTK2、Win32/WIn64、Carbon、fpGUI(不知道)、Cocoa 或根本没有 GUI 的小部件集,具有不同程度的实现透明度。

这是一个详尽的清单!

所以告诫 Emptor。我强烈建议 Delphi 编码人员下载这个并做一些个人项目来感受它,而不是靠老板的一角钱,但 Lazarus 有很多深度和实质,它可能是处理生活的重要工具Windows 婴儿床外面。

另外,由于 Delphi 的新大师们还没有了解 !@#$%^&* 为什么 Delphi 失宠(提示,让业余爱好者和学生能够负担得起或免费学习和创建自定义组件)可用的预算选项。如果 Embarcadero 醒来,也许这会改变。在那之前,万岁拉撒路。

于 2012-04-10T00:10:10.563 回答
30

我的两个主要原因是

1) 多平台支持(Linux、Mac OS X、Windows)

2) 价格 $0

于 2010-05-04T03:38:57.167 回答
21

Delphi 程序员不能使用 Lazarus 编写 Delphi 代码,因为 Lazarus 不是 Delphi。Lazarus 实际上是一个 IDE 和一堆用于 Free Pascal 的 Delphi 类库。但请注意,Delphi 的 VCL 之类的东西并不存在,而且坦率地说,Lazarus 中的 IDE 和调试体验相当参差不齐,但它是免费的,所以这很重要。

底线,德尔福<>拉撒路。如果您想要一个出色的 IDE 和调试器,并且您的目标是 MS Windows,请使用巨大的 3rd 方支持和技术支持,并且您愿意为此付费。如果您想要一个支持多个平台并具有 Delphi-ish 语法的免费 IDE,请使用 Lazarus (free pascal)。

于 2010-05-04T04:02:52.873 回答
15

也许我只是读错了,但您似乎认为 IDE 在某种程度上是可以互换的。这是不正确的。Lazarus 建立在 FPC 编译器之上,并且与 Delphi 与 DCC 编译器的绑定方式非常相似。此外,它们使用不同的表单描述文件格式。Delphi 无法读取 LFM,而 Lazarus 可以尝试读取 DFM,但它并没有做得特别好。

FPC/Lazarus 与 Delphi 非常相似,但它是 Object Pascal 的不同方言,认为它们是等价的将是错误的。

于 2010-05-04T04:45:55.780 回答
13

我有一个在 Delphi 上运行的声音识别算法。当我的上司要求在 WinCE 上运行它时,我尝试了 Lazarus。帕斯卡是帕斯卡。拉撒路超级棒。我已经做了。

算法是用 Pascal 编写的。我试图转换。C# 容易反编译并使用不同的逻辑。幸运的是,我找到了 Free Pascal。

我让它在 ARM 上的 WinCE 上运行。感谢所有 FPC 合作者。

编辑:我也让它在 Linux 上运行。

于 2010-05-07T07:31:07.923 回答
13

Lazarus 是跨平台的,并且在语音和啤酒方面都是免费的,而 Delphi 两者都不是。Lazarus 确实使用了不同的编译器,它编译的语言与 Delphi 99% 兼容,并提供了不同的可视组件库,与 Delphi 的 VCL 相似但不兼容。

于 2010-05-04T03:40:10.367 回答
8

我的主要原因 - Delphi 目前无法编译 64 位应用程序,因此无法查看、读取或写入某些注册表项。

于 2010-05-05T05:57:26.007 回答
8

是的,Linux 安装在 70% 的服务器上。它正在为拥有 400,000,000 多名用户的 Facebook 提供动力。你告诉我使用Windows?你告诉我不要使用64位?

我将使用拉撒路。直到德尔福流行起来。

于 2010-05-07T09:41:54.920 回答
7

好吧,我是使用 Lazarus IDE 编写 Delphi 源代码的人之一。

我非常喜欢德尔福。但是使用Delphi 的编辑器真的很痛苦。我试过VIM,一直梦想有一个像visual studio这样的IDE:简单,干净,可以水平或垂直分割窗口......

最后我找到了 Lazarus 编辑器,比 Delphi 的好多了。所以我使用 Lazarus 编写 Delphi 源码,而 RAD IDE 仅用于编译和调试。

于 2012-02-16T06:18:41.873 回答
6

为了我 :

  • 64bit 还活着(Delphi ......是的可能是,不是,是的,最后没有......)
  • 跨平台(不是 Delphi) 顺便说一句,还有很多工作要做,但它确实有效!
  • FPC 是一个非常好的编译器
  • 社区很酷很活跃
于 2010-12-28T09:30:43.750 回答
4

我没有太多新东西要添加,但我想我会与我的跨平台体验相关联。就相当快速地组合一个跨平台应用程序草图而言,我发现 Lazarus 工作得非常好。我最近一直在使用 MonoDevelop,其中有很多值得称赞的地方,但是 gui 设计器的概念似乎不如 Lazarus GUI 设计器那么完整。还是似乎缺少一些位的工具包(GTK#)?在此之前,我使用过 Qt / C++,它似乎也适用于跨平台开发,但我对 C++ 并不热衷,Qt 的信号/插槽框架有点好奇,但一旦你得到你的头缠着它。总而言之,我发现 RAD 工作,并且使用 Lazarus 进行编码非常有趣,此外,IDE 的名称多么酷!

干杯

于 2012-11-25T15:56:38.133 回答
3

只有 CodeTyphon/Lazarus/FreePascal 支持 4 个 CPU/OS 主机(Win32、Win64、Linux32、Linux64)和 16 个 CPU/OS 目标(arm-WinCE、arm-Linux、arm-Embedded、arm-gba、arm-nds、i386 -Win32, i386-Linux, i386-FreeBSD, i386-Haiku, x86_64-Win64, x86_64-Linux, x86_64-FreeBSD, powerpc-Linux, powerpc64-Linux, sparc-Linux, sparc-Solaris)。Lazarus/FreePascal 支持更多平台,但其他平台尚未集成到 CodeTyphon 中。一个代码来统治它们;-)。CodeTyphon是一个强大的一键式安装包,适用于跨平台原生 Delphi,如基于 Lazarus/FreePascal 的 RAD/IDE,消除了痛苦的跨平台安装。您可以在下载几分钟后开始编码,因此如果跨平台、64 位或价格是您的主要优势,那么选择 Lazarus 而不是 Delphi。Lazarus 与 Delphi 高度兼容,我已经转换了几个应用程序而没有太多问题。可以维护在两者上编译的代码。

于 2010-12-29T09:18:30.723 回答