为什么Delphi程序员会使用Lazarus作为IDE而不是使用Delphi的IDE?

lke*_*ler 44 ide delphi lazarus

我对用Delphi编程的Delphi IDE非常满意.

但我听说过Lazarus编程环境,我也听说有些Delphi程序员使用它而不是Delphi IDE.

Lazarus相对于Delphi IDE有什么优势,以及Delphi程序员为什么或者应该切换到它?


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

转换Delphi项目时要做的第一件事
打开Lazarus之后,你应该转到Tools,然后转换Delphi项目到Lazarus项目.这不会为你做任何事情,但仍然会带给你许多方面.请注意,Lazarus IDE的转换工具通常是单向转换.如果您需要保留Delphi兼容性,以便可以使用Delphi和Lazarus编译项目,请考虑使用XDev Toolkit转换文件.

因为Lazarus是免费的并不是转换的理由,但是不会因为切换你的物理$而惩罚你.(你仍然需要投入时间来转换和学习.时间= $).

关于为什么有人可能会从Delphi切换到Lazarus的答案,我的理解结论很明显:显然它必须提供Delphi目前无法提供的东西.目前,这是多平台支持,可能还有64位支持.Delphi曾经有过Kylix,但不支持Mac.

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

Sha*_*yne 54

好.这是一个旧线程,但可以进行一些更新.也许十年前我停止使用Delphi,主要是因为我别无选择.作为德尔福编码器工作了5年多,我现在再次成为学生,德尔福的价格简直太过分了.Delphi的问题从来都不是Delphi.Delphi是一个天才系统,但Borland(以及后来的继承者)完全误解了不断变化的计算机世界.微软能够提供一个可以免费下载的编程环境,其.NET环境在很大程度上与VCL相当,同时即使是Delphi的基本版本也会破坏您的银行或者让学生无法使用预算.最终的结果是,由于没有新的Delphi程序员上线,因此对于企业继续使用而言,这成为一个风险的主张.最后随着Linux的兴起,Kylix最终成为一个环境的彻底残骸,没有使用可用的UI工具链,并且充满了可疑的葡萄酒,充满了对GPL软件的侮辱态度,对待它就好像是共享软件.最后,当Turbo Delphi多年后推出时,它无法利用像托利党组件网站这样的网站提供的惊人资源.很明显,Borland对编码器生态系统完全不尊重.

因此Lazarus似乎从这一切中脱颖而出,需要花费很长时间来孕育并且似乎瞄准某种类似于Delphi 4的模拟,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醒来,也许会改变.在那之前,万岁拉撒路.

  • 感谢@Shayne,感谢他们出色的历史和讨论.+1 (8认同)
  • "但拉撒路有时候可能会变得脾气暴躁" - 在过去的几年里,拉撒路变得稳固而稳定.不幸的是,我不能说同样的话.随着岁月的流逝,德尔福变得越来越不稳定.我最近花了钱来获得非常不稳定的Delphi XE7许可证.几年前,我有另一位朋友购买了XE3而从未使用它(它坚持使用XE1).如果Lazarus的一个版本变得不稳定,至少你没有为它付出1000欧元+! (7认同)
  • 我同意,@ Frotyfrog,我最近又看了一遍,它确实是一个非常有用的IDE. (4认同)
  • 我使用过 Delphi 7 到 XE7 Ultimate。我想升级一些 Linux 兼容性,所以今天早上我第一次查看了 Lazarus,我被震撼了。我非常喜欢它 (3认同)
  • 并且FPC在内部汇编器中支持AVX2。我的几个 Delphi 应用程序当前加载 FPC 生成的 dll,其中包括 MD5(部分库,但这更容易,因为 FPC 具有 ROR/ROL 内在函数,可以加速 MD5)和 AVX(2) 使用)。 (2认同)

RRU*_*RUZ 28

我的两个主要原因是

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

2)价格0美元

  • 我现在是FPC开发人员,但是在几十年前我开始使用FPC,因为Delphi无法为我的(FreeBSD)网络帐户生成CGI. (5认同)
  • @ lkessler,Lazarus与Delphi没有任何商业关系,它们是两种不同的产品。 (2认同)
  • @Rob,根据我的个人经验,当我需要为我的客户开发Linux桌面应用程序时,我使用lazarus而不是Delphi.因为遗憾的是,Delphi仍然不支持Linux. (2认同)
  • @Rob:嗯,我可能会使用它,如果我必须(本地)瞄准Delphi尚不支持的平台(例如64bit !!!)并且不想学习新语言 - 一直希望一旦Embarcadero添加对相关目标的支持,该项目稍后可以移回Delphi. (2认同)

Tim*_*vis 20

那么Delphi程序员不能使用Lazarus来编写Delphi代码,因为Lazarus不是Delphi.Lazarus实际上是一个IDE和一堆用于Free Pascal的Delphi-ish类库.但是请注意,像Delphi的VCL这样的东西不存在,并且完全直截了当地说Lazarus中的IDE和调试经验非常不稳定,但它是免费的,因此非常重要.

最重要的是,Delphi <> Lazarus.使用Delphi如果你想要一个出色的IDE和调试器,那么你需要大量的第三方支持和技术支持MS Windows,而且你愿意付钱.如果您想要一个支持多个平台且具有Delphi-ish语法的免费IDE,请使用Lazarus(免费pascal).

  • "Delphi!= Lazarus"......不应该是"Delphi <> Lazarus"吗?微笑 (39认同)
  • Delphi程序员某些*可以*使用Lazarus编写Delphi代码.哎呀,Delphi程序员甚至可以使用Notepad编写Delphi代码.这个问题的前提是*有*Delphi程序员使用Lazarus编写*Delphi*代码(不是Free Pascal代码).艾克斯勒问他们为什么会这样做.如果你的答案是否定这个前提,那么请你更明确一点吗?否则,我看不出你是怎么回答这个问题的. (21认同)
  • 这个答案没什么意义.什么Borland(Codegear/Inprise)调用"Delphi"代码就是他们用来称之为"Object Pascal"的代码,这是其他人所称的代码.Delphi就像Lazarus一样只是一个IDE.任何一个都可以用来编写Object Pascal代码.更重要的是,FreePascal甚至还有一个"Delphi兼容模式",它使语言语法和默认更像Delphi.如果你想说"Delphi得到更好的支持,因为它是商业的",就这么说吧.但是,两者都具有其他功能. (4认同)
  • 嘿Rob,也许我应该说要编写和编译Delphi代码.确保你可以用任何东西编写Delphi代码.我的观点是pascal的方言和2种产品中使用的类库,而类似的不可互换.(除非在最简单的情况下) (2认同)

Mas*_*ler 15

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

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


gle*_*ebm 13

拉撒路是一个跨平台的,在言语和啤酒方面都是免费的,而德尔福则不是.Lazarus确实使用了一种编译与Delphi兼容的语言的不同编译器,并提供了一个不同的可视化组件库,类似于但与Delphi的VCL不兼容.

  • @Ikessler Delphi不是,Lazarus是.Lazarus根本不使用Delphi,它使用FreePascal编译器. (3认同)

Cel*_*gün 12

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

算法用Pascal编写.我试图转换.C#很容易反编译并使用不同的逻辑.幸运的是我发现了Free Pascal.

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

编辑:我也在Linux上运行它.


The*_*ven 8

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


Cel*_*gün 8

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

我会用拉撒路.直到Delphi赶上.


Jac*_* Wu 7

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

我很喜欢Delphi.但是使用Delphi的编辑器确实很痛苦.我已经尝试过VIM,并且总是梦想有一个像visual studio这样的IDE:简单,干净,可以分割窗口或垂直分割窗口......

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

  • 你介意扩展吗?你真正说过的就是你喜欢拆分窗户.我很好奇你在Delphi的编辑器中发现了什么,拉撒路更好的"痛苦". (3认同)
  • 是的,Lazarus IDE比Delphi IDE更加智能.当您粘贴一堆代码时,它会正确地缩进它.它可以代码竞争方法覆盖,当更改函数原型和ctrl-shift-up/down跳转到实现时,光标位于需要修复它的位置,它甚至代码完成了对您的更改好!如果您了解键盘快捷键,这可以节省大量时间.看到它应该如何完成让我想知道为什么Delphi现在不是那样的.不幸的是,对于Embarcadero来说,Lazarus/FPC会粉碎他们.他们再也赶不上了. (3认同)

Ste*_*tef 5

为了我 :

  • 64bit还活着(Delphi ...可能是,不是,然后又是,最后没有...)
  • 跨平台(不是Delphi)顺便说一句,仍然需要完成许多工作,但是它可以工作!
  • FPC是一个非常好的编译器
  • 社区既酷又活跃