我对使用Delphi进行编程的Delphi IDE非常满意。
但是我听说过Lazarus编程环境,我也听说有些Delphi程序员使用它而不是Delphi IDE。
Lazarus对Delphi IDE的优势是什么,以及Delphi程序员为什么会或者应该切换到它?
答案给我留下了比以前更多的问题。关于Lazarus是否能够或不能用作开发Delphi代码的编辑器似乎存在一些分歧。我想我认为你可以把所有内容留在Delphi中,只需更改IDE。 The Lazarus for Delphi Users section of the Lazarus Wiki说:
转换时要做的第一件事 德尔福项目
打开了 拉撒路,你应该去工具和 然后将Delphi项目转换为Lazarus 项目。这不会做任何事情 你,但是会带你去 很好的方式。请注意 Lazarus IDE的转换工具是 通常是单向转换。如果你 需要保留Delphi的兼容性 你可以用两者编译你的项目 德尔福和拉撒路,考虑一下 转而使用XDev Toolkit转换文件。
因为Lazarus是免费的并不是一个转换的理由,但是不会因为切换你的物理$而惩罚你。 (你仍然需要花时间转换和学习。时间= $)。
关于为什么有人可能会从Delphi切换到Lazarus的答案,我的理解结论很明显:显然它必须提供Delphi目前无法提供的东西。目前,这是多平台支持,可能还有64位支持。 Delphi曾经有过Kylix,但不支持Mac。
但是随着Embarcadero很快就承诺了64位和64位,你已经回答了我的问题,告诉我没有理由(至少对我而言)要切换。
答案 0 :(得分:54)
确定。这是一个旧线程,但可以进行一些更新。也许十年前我停止使用Delphi,主要是因为我别无选择。作为德尔福编码器工作了5年多,我现在再次成为学生,德尔福的价格简直太过分了。 Delphi的问题从来都不是Delphi。 Delphi是一个天才系统,但Borland(以及后来的继承者)完全误解了不断变化的计算机世界。微软能够提供一个可以免费下载的编程环境,其.NET环境在很多方面都与VCL相当,同时即使是Delphi的基本版本也会破坏你的银行或让学生无法使用预算。最终的结果是,由于没有新的Delphi程序员上线,因此对于企业继续使用而言,这成为一个风险的主张。最后随着Linux的兴起,Kylix最终成为一个环境的彻底残骸,没有使用可用的UI工具链,并且充满了可疑的葡萄酒,充满了对GPL软件的侮辱态度,对待它就好像它是共享软件。最后,当Turbo Delphi多年后推出时,它无法利用像托利党组件网站这样的网站提供的惊人资源。很明显,Borland对编码器生态系统完全没有尊重。
所以Lazarus似乎从这一切中脱颖而出,花了很长时间才孕育并且看似瞄准某种类似Delphi 4的模拟,被许多人认为是Delphi系列中最干净,最新的之一。几乎所有事情都符合它,它的Object Pascal的实现是定点的,最重要的是它在所有对开源都很重要的意义上是免费的。
然而,它有着悠久的历史,并且其控件的实现不完整。这对我和其他许多人来说都是违规行为。
话虽如此,我最近决定出于好奇心下载它,并发现它实际上是一个很长的路要走。数据库组件正常工作,虽然您可能需要遵循一些教程并追逐一些线索以使它们全部启动并运行,并且已经在iPhone和Android构建目标方面取得了重大进展。
我不确定我是否已经准备好将其部署到我的任何商业客户端,但是我打算再给它一个带有个人项目的运行来完成它的步伐,如果它确实有效,我想我最终将与我的第一个编程爱,Pascal重新联合起来,并且让我使用我的Mac来完成繁重的工作,同时提供Windows和Linux版本。
所以基本上这里是比较的事实; - Lazarus和Delphi是完全独立的实体。 Lazarus不是Delphi的交叉编译器,但具有一定程度的兼容性。它更像是GCC vs MS C ++。 德尔福更精致,更稳定。 Lazarus提供了类似Delphi 4的环境,老式的Delphi程序员会觉得很舒服。 但Lazarus有时候会很有气质,Delphi程序员需要明白,并不是最新和最好的Delphis中的所有内容都适合他们。 Delphi做Windows,它做得很好(是的,我知道新的有一些交叉编译目标,但街上的一句话是,它有点hacky,需要一些时间在embacardo电磁炉真的存在之前),同时拉撒路几乎适应所有事情。目前的目标列表是: - Darwin,NetBSD,OpenBSD,FreeBSD,Linux,Solaris,Win32,Win64,WinCE go32v2(我认为这是MS-DOS的32位扩展名!),OS2,Netware(!),BEOS,Haiku(? !),QNX,wdosx(?),emx,netwlibc,Atari,Amiga,Palm-os,Gameboy advance,nds,MacOS,Morphos,Plus,还有对IOS和Android的实验性支持。除此之外,东西可以使用来自QT,GTK,GTK2,Win32 / WIn64,Carbon,fpGUI(不知道),Cocoa或根本没有GUI的小部件集,具有不同程度的实现透明度。
这是一份详尽的清单!
所以Caveat Emptor。我强烈建议德尔福编码员下载这个并做一些个人项目来感受它,而不是老板的角钱,但拉扎鲁斯有很多深度和实质,它可能是处理生活的重要工具。在Windows婴儿床外面。
另外,因为德尔福的新主人还没有学到一个!@#$%^& *关于为什么德尔福从优雅中堕落的事情(暗示,让它可以负担得起或免费让业余爱好者和学生学习和创建自定义组件),它确实是唯一可用的预算选项。如果Embarcadero醒来,也许会改变。在此之前,viva Lazarus。
答案 1 :(得分:28)
我的两个主要原因是
1)多平台支持(Linux,Mac OS X,Windows)
2)价格$ 0
答案 2 :(得分:20)
Delphi程序员不能使用Lazarus编写Delphi代码,因为Lazarus不是Delphi。 Lazarus实际上是一个IDE和一堆用于Free Pascal的Delphi-ish类库。但请注意,像Delphi的VCL这样的东西并不存在,并且完全直截了当地说Lazarus中的IDE和调试经验非常不稳定,但它是免费的,因此非常重要。
底线,Delphi<>拉撒路。使用Delphi如果你想要一个出色的IDE和调试器,那么你需要大量的第三方支持和技术支持MS Windows,而且你愿意付钱。如果你想要一个支持多个平台且具有Delphi-ish语法的免费IDE,请使用Lazarus(免费pascal)。
答案 3 :(得分:15)
也许我只是读错了,但你似乎认为IDE在某种程度上是可以互换的。那不对。 Lazarus建立在FPC编译器之上,并且与Delphi绑定到DCC编译器的方式非常相似。此外,它们使用不同的表单描述文件格式。 Delphi无法读取LFM,Lazarus可以尝试读取DFM,但它并没有做得特别好。
FPC / Lazarus与Delphi非常相似,但它是Object Pascal的另一种方言,认为它们是等价的是错误的。
答案 4 :(得分:13)
Lazarus是一个跨平台的,在言语和啤酒方面都是免费的,而Delphi则不是。 Lazarus使用different compiler编译与Delphi兼容的99%语言,并提供different visual component library,与Delphi的VCL类似但不兼容。
答案 5 :(得分:12)
我在Delphi上运行声音识别算法。当我的上司要求在WinCE上运行时,我尝试了Lazarus。帕斯卡是帕斯卡尔。拉撒路是超级的。我做到了。
算法是用Pascal编写的。我试图转换。 C#很容易反编译并使用不同的逻辑。幸运的是我找到了Free Pascal。
我在ARM上运行WinCE。感谢所有FPC合作者。
编辑:我也在Linux上运行它。
答案 6 :(得分:8)
我的主要原因 - Delphi目前无法编译64位应用程序,因此无法查看,读取或写入某些注册表项。
答案 7 :(得分:8)
是的,Linux安装在70%的服务器上。它为拥有400,000,000多名用户的Facebook提供动力。你告诉我使用Windows?你告诉我不要使用64位?
我会用拉撒路。直到Delphi赶上。
答案 8 :(得分:7)
好吧,我是那些使用Lazarus IDE编写Delphi源代码的人之一。
我很喜欢Delphi。但是使用Delphi的编辑器确实很痛苦。我已经尝试过VIM,并且总是梦想有一个像visual studio这样的IDE:简单,干净,可以分割窗口或垂直分割窗口......
最后我找到了Lazarus编辑器,比Delphi更好。所以我使用Lazarus编写Delphi源代码,而RAD IDE仅用于编译和调试。
答案 9 :(得分:5)
对我来说:
答案 10 :(得分:4)
只有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是一个功能强大的单击安装包,适用于基于Lazarus / FreePascal的跨平台原生Delphi,如RAD / IDE,可消除痛苦的跨平台设置。您可以在下载后几分钟开始编码,因此如果跨平台,64位或价格是您的主要优势,那么选择Lazarus而不是Delphi。 Lazarus与Delphi高度兼容,我已经转换了很少的应用程序而没有太多问题。可以维护在两者上编译的代码。
答案 11 :(得分:4)
我没有那么多新的东西可以添加,但我认为我会将我的跨平台体验联系起来。至于快速整合跨平台应用草图,我发现Lazarus工作非常好。我最近一直在使用其中有很多值得赞扬的MonoDevelop,但gui设计师stetic似乎并不像Lazarus GUI设计师那样完整。或者它似乎缺少一些工具包(GTK#)?在此之前,我已经使用过Qt / C ++,这对于跨平台开发似乎也相当不错,但我并不是真正热衷于C ++,而且Qt的信号/插槽框架有点好奇,但是一旦你得到你的头缠着它。总而言之,我发现RAD工作,并且使用Lazarus进行编码主要是快乐的,此外,这是一个很酷的IDE名称!
干杯